我正在尝试创建一个elasticsearch查询,该查询必须匹配单独字段上的三个查询之一,并且还有一个不需要匹配的额外查询.执行bool查询和MUST子句的问题是它必须匹配所有3,并且应该尽可能匹配所需的,除非使用minimum_should_match设置为2.在这种情况下,它与文档不匹配因为最小匹配,所以匹配3个必需的中的一个.
我当前的查询是这样的(抱歉,这里没有代码)
query
- bool
- must
- query 1
- query 2
- query 3
- should
- query 4
我也尝试了以下内容,但它不会使第4个查询可选
query
- bool
- should
- query 1
- query 2
- query 3
- query 4
- minimum_should_match: 2
如何进行并创建一个必须匹配三个查询之一的查询,并可选择将第四个查询中的查询排名更高.