Могу ли я найти подходящие термины при поиске с помощью sphinx? - PullRequest
3 голосов
/ 19 ноября 2008

Я использую sphinx для полнотекстового поиска в базе данных mysql с помощью мышления sphinx.

Я хотел бы выделить совпадающие термины в результатах, которые я показываю пользователю.

Shpinx достаточно умен, чтобы поиск «ботулизма» соответствовал «я люблю вводить ботулин в мои глаза»

Как я могу сказать, что «ботулин» соответствует «ботулизму»?

1 Ответ

2 голосов
/ 17 декабря 2008

Во-первых, Я интенсивно использую sphinx для одного из моих проектов, но я не использую ThinkingSphinx, поскольку используемый нами файл конфигурации довольно сложный, я использую настроенный плагин act_as_sphinx.

Чтобы ответить на ваш вопрос с точки зрения чистого сфинкса:

  • в sphinx есть API BuildExcerpts, чтобы получить отрывок содержимого с соответствующим подчеркиванием, см. http://www.sphinxsearch.com/docs/current.html#api-func-buildexcerpts.
    Думающий Сфинкс должен обеспечить эту функциональность

  • чтобы сопоставить ботулизм с ботулином, вы должны скомпилировать сфинкса с помощью стеммера, возможно, алгоритм портера может ответить на ваш вопрос: см. http://www.sphinxsearch.com/docs/current.html#conf-morphology

Надеюсь, это поможет, и я настоятельно рекомендую вам ознакомиться с документацией sphinx, чтобы в полной мере использовать этот очень эффективный индексатор

Манфред

...