聚合后有没有办法拉回字段名?

Is there a way to pull back the field name after aggregation?

我正在使用弹性搜索 1.5.2,我想知道是否有办法将字段名称添加到聚合的 return 而不是聚合本身的名称,以便 age可以保持年龄而不是Customer.Age

{
    "aggregations": {
        "age": {
            "terms": {
                "field": "Customer.Age",
                "size": 10
            }
        }
    }
}

我希望 return 看起来像这样

aggregations: {
    age: {
        doc_count_error_upper_bound: 0
        sum_other_doc_count: 0
        field: Customer.Age
        buckets: [6]
           0:  {
              key: "unknown"
              doc_count: 607103
           }            
    }

而我目前得到的不包括字段

目前无法做到这一点(在 2.0 发布之前)。但是,由于聚合的名称基本上可以是任何东西,因此您可以将聚合名称和聚合名称中的字段都编码,然后在客户端解析它:

{
    "aggregations": {
        "age/Customer.Age": {
            "terms": {
                "field": "Customer.Age",
                "size": 10
            }
        }
    }
}

在 v2.0 中,可以指定将返回给用户的任意 metadata

{
    "aggregations": {
        "age: {
            "terms": {
                "field": "Customer.Age",
                "size": 10
            },
            "meta": {
                "field": "Customer.Age"
            }
        }
    }
}