Как повысить оценку результатов поиска Solr на основе критериев? - PullRequest
0 голосов
/ 30 июня 2011

Фон:

1 - я использую WebSolr для этого поиска.2 - У меня есть два поля, которые хранятся в websolr - имя и идентификатор.

Я хочу найти эти записи по имени И повысить рейтинг поиска по этим критериям:

if id in [x1,x2..xN] then +2
if id in [y1,y2..yN] then +1
else +0

Смое исследование, ответ заключается в следующем - запрос функции, или - DisMaxQParser

Я посмотрел на документацию, но IMO не очень всеобъемлющий.

Любая помощь приветствуется.

Ответы [ 2 ]

1 голос
/ 07 июля 2011

Вы можете использовать бусты.Попробуйте запрос как

name:searchString AND ( id:[x1 TO xN] ^2 OR id:[y1 TO yN]^1)
0 голосов
/ 26 апреля 2012

В дополнение к подходу hkn, вы также можете использовать Анализатор запросов DisMax импульсные запросы:

q=queryString
&defType=dismax
&qf=…
&bq=id:[x1+TO+xN]^3
&bq=id:[y1+TO+yN]^2

(не проверено, но должно передавать идею.)

...