Как ограничить / отфильтровать Больше Как это приводит к Solr? - PullRequest
5 голосов
/ 30 сентября 2011

В Solr мне интересно, можно ли ограничить / отфильтровать набор результатов «Больше как это» из стандартного (dismax) запроса - например, без необходимости использовать конкретный обработчик запроса MoreLikeThis?Например, у меня есть индекс Solr, в котором есть документы для двух стран.Когда я делаю свой оригинальный (dismax) запрос, я использую оператор запроса поля (fq) для фильтрации результатов по интересующей стране.Но результаты MLT, которые возвращаются, для обеих стран.Я попытался использовать mlt.fl = country, name, чтобы указать «показать мне больше результатов, похожих по стране и названию», но, похоже, он не соответствует критериям страны (или, по крайней мере, параметр name намного превышает параметр страны).

Я не могу найти какую-либо документацию Solr, которая указывает, что есть вариант для этого, но я надеюсь, что у одного из вас, экспертов Solr, могут быть некоторые хитрости / хитрости для этого.*

Заранее спасибо!

1 Ответ

0 голосов
/ 03 октября 2011

Solr mlt.fl должен найти связанные документы на основе этих полей. Тем не менее, он не обязан делать это, как НЕ предложение из fq. Обходным путем может быть исключение страны с использованием fq param. Таким образом, ваш запрос MLT может стать что-то вроде

/mlt?q=id:ID&fq=-country:COUNTRY&mlt.boost=true

ID: ID документа, для которого необходимо рассчитать MLT. СТРАНА: Страна, которую вы хотите исключить.

...