Любая особенность, чтобы иметь дело со стоп-словами как "the" в Сфинксе? - PullRequest
0 голосов
/ 02 декабря 2011

Я сейчас использую Thinking Sphinx для поиска отелей. У меня есть одна вещь под названием «Манхэттен клуб». Когда я ищу в «Манхэттен клубе», я не получаю результатов. Это связано с тем, что опция default: all означает, что все слова должны совпадать.

Затем я использую опцию: any (любое совпадение слов будет считаться совпадением). Тем не менее, это приводит к множеству результатов, и в верхнем отеле много «THE» в описании.

Я думаю, что единственный способ повысить релевантность - это удалить все стоп-слова в строке поиска. Мне интересно, есть ли в Sphinx (или Ruby) функция удаления стоп-слов?

Ответы [ 3 ]

3 голосов
/ 02 декабря 2011

Я понятия не имею, как именно вы бы это делали, думая о сфинксе, но да, у Сфинкса есть стоп-слова

http://sphinxsearch.com/docs/current.html#conf-stopwords

Он входит в определение вашего индекса в файле sphinx.conf. У indexer есть инструменты, которые помогут вам составить список общих слов - чтобы помочь создать исходный файл стоп-слов.

http://sphinxsearch.com/docs/current.html#ref-indexer

2 голосов
/ 03 декабря 2011

Вы можете установить путь к файлу стоп-слов в config / sphinx.yml - который организован как config / database.yml (по среде):

development:
  stopwords: "/path/to/stopwords.txt"

Что именно идет в файле стоп-слов, БарриОтвет имеет соответствующие ссылки.

1 голос
/ 16 декабря 2011

Чтобы удалить высокочастотные слова из индекса Sphinx, вам нужно использовать директиву stopwords в определении индекса:

source my_source
{
   ...
}

index my_index
{
    source = my_source
    path = /path/to/my/index
    ...
    stopwords = /path/to/stopwords/file
}

Где файл стоп-слов - это просто список слов в строке, который вы хотите удалить из индекса Сфинкса. Индексатор игнорирует эти слова и не добавляет их в индекс.

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

Ссылки:

Предварительно сгенерированные файлы стоп-слов: http://astellar.com/2011/12/stopwords-for-sphinx-search/ Морфология: http://sphinxsearch.com/docs/current.html#conf-morphology

...