У меня есть схема solr с определенными полями:
<field name="id" type="integer" indexed="true" stored="true" required="true" multiValued="false" />
<field name="title" type="text" indexed="true" stored="true" multiValued="false" />
<field name="note" type="text" indexed="true" stored="true" multiValued="false" />
Теперь я ищу ее по запросу (где % s - моя строка поиска)
q={!boost b=recip(ms(NOW,date),3.16e-11,1,1)}%s&defType=dismax&qf=title^100 note
и мне нужно что-то вроде тегов для каждой записи.
<field name="tags" type="string" indexed="true" stored="false" multiValued="true" />
Как повысить результаты для этих записей, если одно из слов совпадает со значением из поля "теги"?
update
Только что выяснил, что если я удалю {! Boost b = rec (ms (NOW, date), 3.16e-11,1,1)} из моего q, мой запросработает именно так, как я хочу.Но при этом он не
обновление 2
Просто выяснил, что ранее «только что выяснили» было совершенно неправильно.Я получаю это работает для некоторых строк поиска, но это не работает для меня.Я думаю, что мне нужно это поведение:
в полях «заголовок» и «примечание» мне нужно искать слова с «И», но в поле «теги» мне нужен поиск с «ИЛИ».Как я могу сделать это с помощью dismax?
Я пытаюсь сейчас с {! Boost} и функциями запросов, но без какого-либо хорошего результата