Как повысить оценку результатов поиска Solr на основе критериев?

Фон:

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 ответа

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

name:searchString AND ( id:[x1 TO xN] ^2 OR id:[y1 TO yN]^1)

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

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

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

Другие вопросы по тегам