Поиск Solr на основе списка терминов.Порядок по макс (оценка) для каждого срока - PullRequest
0 голосов
/ 21 апреля 2011

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

Например, у меня есть список слов "nokia", "iphone", "charger"

Моя схема содержит следующие данные:
нокиа
Iphone
Nokia Iphone другие слова
нокиа белая
iphone white

Если я запускаю простой запрос, такой как q = nokia ИЛИ iphone ИЛИ зарядное устройство, я получаю «nokia iphone otherwords» как наиболее релевантный результат (потому что он содержит больше условий запроса)

Я хотел бы получить «nokia», «iphone» или «iphone white» в качестве первых результатов, потому что для каждого отдельного термина они будут наиболее релевантными.

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

Можно ли сделать этот запрос одним запросом?

Ответы [ 2 ]

1 голос
/ 21 апреля 2011

Думаю, вам стоит взглянуть на "координаты".Из SolrRelevancyFAQ :

coord is the coordination factor - if there are multiple terms in a query, the more terms that match, the higher the score 

Вы можете написать свой собственный подкласс Similarity , чтобы игнорировать координаты или принимать только самое высокое значение при оценке.

Могут быть и другие способы, которые вы можете задать в списке рассылки solr-users .

Это также может помочь: сравнение баллов люцена по запросам

0 голосов
/ 21 апреля 2011

Похоже, вы должны выполнить 3 отдельных поиска для меня

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