gpt4 book ai didi

elasticsearch - Elasticsearch查询过滤出列表中值为A而不为B的结果

转载 作者:行者123 更新时间:2023-12-02 23:49:50 25 4
gpt4 key购买 nike

我试图形成一个查询,要求仅过滤那些国家/地区为印度而不是美国的数据。

样本数据。

{
"data": {
"attributes": {
"name": "test",
"country": ["india","usa","japan"]
}
}
}

由于,在上面的示例中,我们同时拥有印度和美国,因此不应过滤结果。

而应该过滤数据是否采用以下提到的格式。

例1:
{
"data": {
"attributes": {
"name": "test",
"country": ["india","japan"]
}
}
}

例2:
{
"data": {
"attributes": {
"name": "test",
"country": ["india"]
}
}
}

最佳答案

您可以在filter查询中使用must(或must_not)和boolean子句。如果我正确理解了您的要求,则可以使用以下内容。

{
"query": {
"bool" : {
"filter": {
"term" : { "data.attributes.country" : "india" }
},
"must_not" : {
"term" : { "data.attributes.country" : "usa" }

}
}
}
}

boolean term 的文档非常丰富,并包含许多示例。

关于elasticsearch - Elasticsearch查询过滤出列表中值为A而不为B的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58448016/

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