Поиск Sphinx по 2 полям

#search #sphinx

#Поиск #sphinx

Вопрос:

У меня есть таблица mysql с 2 полями для поиска:

 SELECT name, tag FROM table
 

Я добавляю эту таблицу в Sphinx, и мне нужно выполнить поиск по этой таблице следующим образом:

Сначала я показываю результаты, соответствующие первому имени поля, затем мне нужно показать результаты, соответствующие второму полевому тегу

Все эти результаты мне нужно показать в одном результате

Ответ №1:

В общем случае ранжирование так не работает, его сложно явно отсортировать таким образом.

Но есть FieldWeights, которые дадут вам практически тот же результат http://sphinxsearch.com/docs/current.html#api-func-setfieldweights

(при использовании SphinxQL есть ОПЦИЯ field_weights)

… просто установите высокий вес для имени и меньший вес для тега, это должно означать, что совпадения имен получат больший вес и будут показаны первыми.