elasticsearch聚合组按null键

fud*_*udy 5 elasticsearch

这是我的elasticsearch服务器中的数据:

{"system": "aaa"},
{"system": "bbb"},
{"system": null}
Run Code Online (Sandbox Code Playgroud)

我想得到系统的统计数据.然后我做了查询:

{
    "aggs" : {
        "myAggrs" : {
            "terms" : { "field" : "system" }
        } 
}
Run Code Online (Sandbox Code Playgroud)

它给了我结果:

    {
       "key": "aaa",
       "doc_count": 1
    },
    {
       "key": "bbb",
       "doc_count": 1
    }
Run Code Online (Sandbox Code Playgroud)

但是"key" : null结果中没有包含,我怎么能得到它?这是我期望的结果:

{
   "key": "aaa",
   "doc_count": 1
},
{
   "key": "bbb",
   "doc_count": 1
},
{
   "key": null,
   "doc_count": 1
}
Run Code Online (Sandbox Code Playgroud)

And*_*fan 8

我认为你不能这样做terms.尝试使用其他聚合:

{
  "aggs": {
    "myAggrs": {
      "terms": {
        "field": "system"
      }
    },
    "missing_system": {
      "missing": {
        "field": "system"
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

结果将是:

   "aggregations": {
      "myAggrs": {
         "doc_count_error_upper_bound": 0,
         "sum_other_doc_count": 0,
         "buckets": [
            {
               "key": "aaa",
               "doc_count": 1
            },
            {
               "key": "bbb",
               "doc_count": 1
            }
         ]
      },
      "missing_system": {
         "doc_count": 1
      }
   }
Run Code Online (Sandbox Code Playgroud)