Elasticsearch - 查找缺少两个字段的文档

alp*_*123 2 elasticsearch elasticsearch-query

我正在尝试创建一个查询,该查询返回有关有多少文档没有两个字段(date.new 和 date.old)数据的信息。我尝试了下面的查询,但它作为 OR 逻辑工作,其中返回缺少 date.new 或 date.old 的所有文档。有谁知道我如何才能只返回缺少这两个字段的文档?

{
   "aggs":{
      "Missing_field_count1":{
         "missing":{
            "field":"date.new"
         }
      },
      "Missing_field_count2":{
         "missing":{
            "field":"date.old"
         }
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

Val*_*Val 5

聚合不是用于此目的的功能。您需要使用包装在查询exists中的查询bool/must_not,如下所示:

GET index/_count
{
  "size": 0,
  "bool": {
    "must_not": [
      {
        "exists": {
          "field": "date.new"
        }
      },
      {
        "exists": {
          "field": "date.old"
        }
      }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)