Значение по умолчанию minimum_should_match
Какой будет minimum_should_match
в bool_query
, если его не указать?
Вроде как 1, но на самом деле - фигушки, если рядом есть must
, то это 0:
В документации к версии 6.8 пишут:
If the bool query is a filter context or has neither
must
orfilter
then at least one of theshould
queries must match a document for it to match the bool query. This behavior may be explicitly controlled by settings theminimum_should_match
parameter.
В версиях 7.0 - 7.4 про это не было сказано. Вообще. Хорошо хоть в 7.5 сделали отдельный раздел про этот параметр, где написано короче, но яснее:
If the bool query includes at least one
should
clause and nomust
orfilter
clauses, the default value is 1. Otherwise, the default value is 0.
Благо elasticsearch - опенсорс и можно посмотреть, почему такое безобразие произошло с документацией: вот ее удалили, и только через год вернули.