Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›Query DSL

Параметр minimum_should_match

Возможные значения параметра minimum_should_match:

Тип Пример Описание

Целое число

3

Указывает фиксированное значение независимо от количества необязательных условий.

Отрицательное целое число

-2

Указывает, что общее количество необязательных условий, минус это число, должно быть обязательным.

Процент

75%

Указывает, что этот процент от общего количества необязательных условий является необходимым. Вычисленное из процента число округляется вниз и используется в качестве минимального.

Отрицательный процент

-25%

Указывает, что этот процент от общего количества необязательных условий может отсутствовать. Вычисленное из процента число округляется вниз, прежде чем его вычесть из общего количества для определения минимума.

Комбинация

3<90%

Положительное целое число, за которым следует знак «меньше», за которым следует любой из ранее упомянутых спецификаторов, является условной спецификацией. Это указывает, что если количество необязательных условий равно (или меньше) целому числу, они все обязательны, но если оно больше целого числа, применяется спецификация. В данном примере: если имеется от 1 до 3 условий, они все обязательны, но для 4 и более условий требуется только 90%.

Несколько комбинаций

2<-25% 9<-3

Несколько условных спецификаций могут быть разделены пробелами, при этом каждая из них действительна только для чисел, больших, чем предыдущее. В данном примере: если имеется 1 или 2 условия, оба являются обязательными; если имеется от 3 до 9 условий, все, кроме 25%, являются обязательными; и если имеется более 9 условий, все, кроме трех, являются обязательными.

ПРИМЕЧАНИЕ:

При работе с процентами отрицательные значения могут использоваться для получения различного поведения в особых случаях. 75% и -25% означают одно и то же при работе с 4 условиями, но при работе с 5 условиями 75% означают, что 3 требуются, а -25% означают, что 4 требуются.

Если вычисления на основе спецификации определяют, что необязательные условия не нужны, обычные правила BooleanQueries все еще применяются во время поиска (BooleanQuery, содержащий ни одного обязательного условия, все еще должен соответствовать хотя бы одному необязательному условию).

Независимо от того, какое число вычислено, значение, большее, чем количество необязательных условий, или значение меньше 1, никогда не будет использовано. (например, независимо от того, насколько низким или высоким является результат вычисления, минимальное количество необходимых совпадений никогда не будет меньше 1 или больше, чем количество условий).

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/query-dsl-minimum-should-match.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API