这在ES中不再有效:
"terms" : {
"field": ["1", "2", "3"],
"minimum_should_match": 3
}
如果我用bool
或must-term
should
撰写"minimum_should_match": 3
,那将会有什么不同
"bool" : {
"must" : [
{"term" : {"field" : "1"}},
{"term" : {"field" : "2"}},
{"term" : {"field" : "3"}}
]
}
VS
"bool" : {
"should" : [
{"term" : {"field" : "1"}},
{"term" : {"field" : "2"}},
{"term" : {"field" : "3"}}
],
"minimum_should_match": 3
}
一切都一样吗?
答案 0 :(得分:0)
两个(新)查询将产生完全相同的分数和相同的文档。
使用terms
的旧minimum_should_match
查询会在下方生成bool/should
查询,因此它几乎与第三个相同。