Elasticserach查询以查找具有字段错误或具有某些值的文档

问题描述 投票:0回答:1

我正在尝试形成一个查询,如果缺少区域字段或区域的值是ASIA,请列出所有文档。但如果我运行查询,其响应为空列表。我们如何形成这样的查询?

{
  "query": {
    "bool": {
      "must": {
        "match": {
          "region": "ASIA"
        }
      },
      "must_not": {
        "exists": {
          "field": "region"
        }
      }
    }
  }
}
elasticsearch amazon-elastic-beanstalk
1个回答
0
投票

在这种情况下,您需要should

bool->应该-> condition1,condition2

应该= OR,因此下面将匹配满足条件1或条件2的文档

{
  "query": {
    "bool": {
      "should": [
        {
          "terms": {
            "region": [
              "asia"
            ]
          }
        },
        {
          "bool": {
            "must_not": [
              {
                "exists": {
                  "field": "region"
                }
              }
            ]
          }
        }
      ]
    }
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.