Как настроить Solr для получения набора результатов с наиболее распространенными словами - PullRequest
2 голосов
/ 19 марта 2012

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

Строка поиска:

"the dog waker"

Строки базы данных:

"The best you can do"
"Love to your pet"
"Selina the dog walker"
"How to teach your dog to be healthy" 
"Teach your dog tricks"

Я хочу, чтобы каждое слово во входных данных оказало влияние на набор результатов, и если входное слово не найдено, оно не отфильтровывает набор данных, который я ищу.

Я хочу получитьэтот набор результатов:

"Selina the dog walker" - имеет «собаку» и нечеткий поиск «ходок» из входа «waker»
"How to teach your dog to be healthy" - имеет «собаку»
"Teach your dog tricks" - имеет «собаку»"

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

<analyzer>
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.StopFilterFactory"/>     -->    
    <filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15" side="front"/>
</analyzer>

Ответы [ 2 ]

1 голос
/ 19 марта 2012

Не уверен, что вы хотите сделать здесь, но я бы удалил EdgeNGramFilterFactory, и если вы хотите добавить некоторую нечеткость, вы можете добавить PhoneticFilter или использовать синтаксис Lucene ~

0 голосов
/ 20 марта 2012

Не уверен насчет:

<filter class="solr.StopFilterFactory"/>

(кстати, вы знаете, что у вас есть закрывающий комментарий XML в конце этой строки)

С другой стороны, я знаю, чтона Solr 4 следующие работы:

<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt " enablePositionIncrements="true"/> 

Не думаю, что вам нужно:

<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15" side="front"/>

Наконец, «Любовь к вашему питомцу» не должна появляться в результатах,Вы подтверждаете это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...