Больше похоже на фильтрацию Solr Query

Я пытался использовать функцию MLT (больше похожую на эту) SOLR, но застрял на том, как использовать фильтрацию связанного контента. Например, мои документы в solr имеют следующие категории: спорт, развлечения, веселье, бизнес и т. д.

Мне нужны связанные вещи (на основе запроса пользователя) для каждой категории. Таким образом, я хотел бы отфильтровать результаты MLT solr по типу категории. Можно ли как-то отфильтровать результаты?

Если это невозможно, могу ли я каким-то образом использовать запрос функции solr, чтобы убедиться, что связанные вещи сгруппированы по категориям?

Спасибо.


person Global Warrior    schedule 12.04.2013    source источник


Ответы (2)


Необходимо определить обработчик запроса /mlt, а затем использовать fq= для фильтрации запроса для MLT.

person Global Warrior    schedule 24.04.2013

В определении solrconfig.xml вы должны определить обработчик запроса следующим образом:

<requestHandler name="/mlt" class="solr.MoreLikeThisHandler">
</requestHandler>

Затем вам нужно сделать запрос к этому обработчику, где вы указываете параметр «fq». Это отфильтрует ваши результаты MoreLikeThis (MLT). См. следующий пример, где documentid — это идентификатор документа, в котором вы хотите найти похожие результаты, а searchtext — это поле, которое вы используете для сравнения того, похожи ли два документа или нет. «rows» — количество результатов MLT, которые должен вернуть запрос.

'http://solrserver.local:4562/solr/mlt?rows=2&fl=id&mlt.fl=searchtext&fq=category:<category>&q=id:<documentid>',

См. документацию по запросу фильтра: https://cwiki.apache.org/confluence/display/solr/Common+Query+Parameters#CommonQueryParameters-Thefq(FilterQuery)Parameter

person Thorkil Værge    schedule 20.04.2017