我建立一个查询弹性5(使用.NET鸟巢),我试图实现这一目标的结果查询:多应该必须查询
必须有值1和值2
应该有值3或者价值4
,应该有值5或value6
这里是我的查询:
{
"query": {
"bool": {
"must": [
{
"match": {
"code": {
"query": "value1"
}
}
},
{
"match": {
"code": {
"query": "value2"
}
}
}
],
"should": [
{
"match": {
"code": {
"query": "value3"
}
}
},
{
"match": {
"code": {
"query": "value4"
}
}
}
],
"should": [
{
"match": {
"code": {
"query": "value5"
}
}
},
{
"match": {
"code": {
"query": "value6"
}
}
}
],
"minimum_should_match": 1
}
}
}
我没有得到想要的答案(比如我没有任何地方值5和值6,但仍然得到结果)
谢谢
您的布尔查询中只能有一个'应该'子句。在我看来,你的一个条款应该被解雇。为什么不把所有“应该”匹配放在一个“应该”条款中? – Val
因为我需要value3或value4和value5或value6 –