Как отфильтровать результат Solr MoreLikeThis

У меня есть запрос в компоненте MoreLikeThis, например:

/mlt?q=5a25300cc1cb1786198b4571&df=id&fl=*,score&fq=service:2&mlt=true&mlt.fl=pagetext&mlt.mintf=3&mlt.mindf=3&mlt.minwl=3&mlt.maxwl=15&mlt.boost=true&mlt.count=10

Мой вопрос: могу ли я отфильтровать этот результат MoreLikeThis, что-то вроде mlt.fq, где в примере mlt.fq=type:vehicle я получу результат moreLikeThis только из документа с типом: только транспортное средство. Как и fq для компонента поиска, но вместо этого я использую его для компонента MoreLikeThis. Если я использую fq=type:vehicle, возможно, я не получу результат, потому что документ с id:5a25300cc1cb1786198b4571 имеет другой тип (не автомобиль).

NB: mlt.fq не существует. Это просто для удобства в моих вопросах.

NB: я не могу использовать mlt.qf для этого, потому что mlt.qf предназначен для чего-то вроде оценки сходства, или я могу? :)


person Ardhian 'koponk' Nugroho    schedule 20.02.2018    source источник


Ответы (1)


Мое решение: создать собственный обработчик и компонент

В MoreLikeThisComponent отредактируйте поисковый запрос, чтобы он мог включать параметры mlt.fq (мой новый параметр).

Я не знаю, плохое это решение или хорошее, но это то, что мне нужно, и оно работает.

person Ardhian 'koponk' Nugroho    schedule 26.08.2019