У меня есть таблица базы данных MySQL, содержащая несколько записей:
"word-A" -- "words related to word-A"
Например: стул - мебель; стол; офисный стул; обеденный стул.
В настоящее время я использую полнотекстовый запрос сопоставления MySQL (простое сопоставление, а не логический режим), чтобы сопоставить предложение с этими словами.
Я ограничиваю результаты до 5. Я использую полнотекстовые индексы, и я также загружаю эти индексы в кеш.
Этот запрос дает мне результаты хорошего качества, но он медленный (100 мс и более).
Я пробовал использовать для этого Sphinx. Это очень быстро, но результаты не похожи на результаты полнотекстового запроса MySQL. Некоторые результаты одинаковы, но обычно в разном порядке, другие - совершенно разные результаты.
Для целей сопоставления предложений лучше ли MySQL fulltext, чем Sphinx? Могу ли я настроить Sphinx для получения результатов, аналогичных результатам полнотекстового поиска MySQL?
В настоящее время я использую следующую конфигурацию:
SPH_MATCH_EXTENDED2
SPH_SORT_RELEVANCE
SPH_RANK_PROXIMITY_BM25 (also tried SPH_RANK_BM25)
stopwords enabled
The min_word_len is set to 2 - same as that in my mysql config.