gpt4 book ai didi

elasticsearch - bool 查询,其中 "should"s 之一是 Elasticsearch 中的 "not"

转载 作者:行者123 更新时间:2023-12-02 22:20:55 29 4
gpt4 key购买 nike

我想使用 bool 查询,其中一个条件(例如,在应该部分)是对某事的否定。

具体来说:

1) 字段不存在。例如,我尝试了以下查询:

{"query":{
"bool":{
"must":[
{"match":{"field1":"val1"}},
],
"should":[
{"match":{"field2":"val2"}},
{"filtered" :
{
"query" : {"match_all" : {}},
"filter" : {"missing" : { "field":"field3"}}
}
},
],
"minimum_number_should_match":1
}
}
}

2) 字段没有值。例如:
{"query":{
"bool":{
"must":[
{"match":{"field1":"val1"}},
],
"should":[
{"match":{"field2":"val2"}},
{"filtered" :
{
"query" : {"match_all" : {}},
"filter" : {"not" : { "field3":"val3"}}
}
},
],
"minimum_number_should_match":1
}
}
}

两者都不起作用。我必须应用过滤器或插入错误的内部查询。
我怎样才能做到这一点?

最佳答案

不完全确定这是否完全回答了原始问题,但它是相似的,并且通过分别运行两个查询排列的计数进行了验证。这会找到某个为 null 或 true 的字段:

{
"filtered" : {
"filter" : {
"or" : [
{ "missing" : { "field" : "somefield" } },
{ "term" : { "somefield" : "true" } }
]
}
}
}

祝你好运。 JSON 查询语言让我想念 SQL!

关于elasticsearch - bool 查询,其中 "should"s 之一是 Elasticsearch 中的 "not",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16143325/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com