Elasticsearch聚合器 - 缺失值的工作原理

时间:2016-09-07 09:07:02

标签: elasticsearch

我有一组具有现场可用性的用户。以下是该字段的数据映射

"mappings": {
 "users": {
    "dynamic": "false",
    "_all": {
       "enabled": false
    },
   "properties": {
        "availability": {
              "type": "string",
              "index": "not_analyzed",
              "term_vector": "with_positions_offsets",
              "null_value": "_unspecified_"
         }, ...

在此字段中,用户可以使用一组有限的值,例如value1value2value3,也可以为空。

我在其上做一个简单的术语聚合

{
 "aggs" : {
   "availability" : {
      "terms" : { 
         "field" : "availability",
         "min_doc_count": 0,
         "missing": "Unspecified"                
       }
    }
  }
}

这是我在输出中得到的

{
"aggregations": {
  "availability_location": {
    "value1": 23, 
    "value2": 143, 
    "value3": 636, 
    "Unspecified": 127, 
    "_unspecified_": 490
 }

我的问题是为什么计入未指定且未指定不同?

1 个答案:

答案 0 :(得分:0)

过滤器中的

Unspecified可以计算数据中没有此字段的用户数。 __unspecified__会显示拥有该字段但具有null值的用户数。