Отображать результаты Solr на основе пользовательского выбора - PullRequest
0 голосов
/ 15 мая 2018

У меня есть поданная «квалификация», которая имеет несколько значений (что-то вроде MCA, MBA, MSC, PhD, ...).

Мое требование - отображать результаты в порядке MSC, MCA, PhD, MBA.Итак, я использую приведенный ниже запрос для увеличения значений полей.

&bq=(qualification: "MSC"^5 "MCA"^4 "PhD"^3 "MBA"^2)

Вышеупомянутый запрос работает только тогда, когда я использую q=*:*

Но при поиске по любому тексту, например q=course Я не получаю результаты с указанным заказом.

Пожалуйста, помогите, что я сделал не так.

Спасибо и С уважением Venu

1 Ответ

0 голосов
/ 15 мая 2018

Вы, вероятно, не делаете ничего «неправильного», но когда вы на самом деле что-то ищете, счет не является плоским (то есть больше не просто 1).

Если вы не хотите, чтобы ваш запрос влиял на оценку, используйте запрос фильтра (fq). Это, однако, не дает вам никакой реальной релевантности в результатах - если вы все еще хотите этого, вам, вероятно, придется скорректировать свои повышения, чтобы они были намного выше, чтобы фактические оценки использовались только внутри каждого уровня повышения.

&bq=qualification:"MSC"^50000
&bq=qualification:"MCA"^40000
&bq=qualification:"PhD"^30000 
&bq=qualification:"MBA"^20000

Если вы добавите debugQuery=true к строке запроса, вы сможете увидеть, как рассчитывается оценка для каждого документа, и соответствующим образом скорректировать свои повышения.

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