У меня есть индекс sphinx для поиска пользователей по именам.Настроить сфинкс, чтобы ранжировать точное соответствие выше с включенной морфологией
Я использую морфологию soundex, чтобы показать более релевантные результаты для искателя случаев, который точно не знает, как заклинание названия. Рассмотрим следующую таблицу:
+----+--------------------+
| id | name |
+----+--------------------+
| 1 | Maciej Makuszewski |
| 2 | Dane Massey |
| 3 | Lionel Messi |
| 4 | Mr. No Matches |
+----+--------------------+
С Soundex включен сфинкс предлагает 1, 2, 3 строки в качестве соответствующего результата для запроса messi
. В любом случае, я хотел бы показать точное соответствие в первую очередь. Я имею в виду, что если пользователь вводит messi
, он хочет увидеть Лионеля Месси первым с большой вероятностью.
Моя проблема: я не знаю, как это сделать. Я пытался установить разные ранги, но ничего не дает.
Я также попытался добавить
index_exact_words = 1
индексировать, но это ничего не дает.
Я использую API sphinx с узлом node.js sphinxapi, если это имеет значение.
Каков общий способ решения такой проблемы?
Он работает. Спасибо –
@GlenSwift, пожалуйста, используйте это решение и разрешайте билет. (c) Личный мастер схваток Глена –