Если кто-то использовал поисковик Sphinx раньше ... вы знаете, может ли он объединять слова? - PullRequest
2 голосов
/ 19 февраля 2010

При поиске «Переполнение стека» Sphinx не выводит результаты, соответствующие «Stackoverflow»

Это связано с тем, что Sphinx индексирует «Stackoverflow» как одно слово ... тогда как запрос состоит из двух слов.

Кто-нибудь знает, как это исправить?(как Google ... они могут присоединиться к запросу!)

Ответы [ 3 ]

2 голосов
/ 20 февраля 2010

Вы можете использовать функцию wordforms , чтобы сопоставить слова с разными словами или сопоставить много слов с одним словом.Если у вас есть много слов, которые вы хотите исправить, вы можете сделать это.Я думаю, что если бы вы использовали эту функцию, вам потребовалось бы выполнить только один поиск, и это, вероятно, было бы быстрее, чем поиск "или".

1 голос
/ 19 февраля 2010

Нет необходимости вмешиваться в данные, поступающие в Sphinx. Все, что вам нужно сделать, это немного изменить поисковый запрос на Sphinx в коде обработки формы, чтобы он содержал различные комбинации поисковых терминов, и использовать режим соответствия SPH_MATCH_EXTENDED. В частности, для вашего примера

(Stack Overflow) | stackoverflow
0 голосов
/ 19 февраля 2010

Не могли бы вы просто объединить поисковые термины в одно слово перед отправкой их в sphinx?Вам нужно будет сделать все перестановки терминов serach, то есть my search term как mysearch, mysearchterm и searchterm, но похоже, что это сработает.

...