Как повысить оценку результатов поиска 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
(Не проверено, но следует передать идею.)