Я выполняю запрос логического диапазона с большим количеством операторов ИЛИ (около 100). Я бы хотел, чтобы Apache Solr возвращал результат только после превышения, скажем, 60% совпадений, как мне это сделать? Это что-то в solrconfig или в параметрах запроса?

Я ищу Solr-эквивалент setMinimumNumberShouldMatch в Lucene.

Спасибо за вашу помощь.

2
Mikos 9 Апр 2013 в 20:27

1 ответ

Лучший ответ

Я считаю, что Dismax и Расширенные плагины анализатора запросов Dismax позволяют установить минимальное значение соответствия. В этой документации также говорится о Минимальное число должно соответствовать формату спецификации для Solr 4.1

Элемент запроса, который вы ищете, - mm, и для него может быть задано несколько терминов или процентное соотношение, например mm=3, чтобы соответствовать как минимум трем терминам, или mm=60%, чтобы соответствовать минимум 60% сроков.

Таким образом, ваш запрос должен выглядеть примерно так:

(domain)/solr/select/?q=query+incorporating+a+whole+bunch+of+optional+terms&defType=edismax&mm=60%
4
femtoRgon 9 Апр 2013 в 23:57