elasticsearch - 有没有一种方法可以在汇总后拉回字段名称?

标签 elasticsearch aggregation

我正在使用 Elasticsearch 1.5.2,并且想知道是否有一种方法可以将字段名称添加到聚合的返回中,而不是聚合本身的名称,以便age可以保留年龄而不是Customer.Age

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

我希望退货看起来像这样
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"
            }
        }
    }
}

关于elasticsearch - 有没有一种方法可以在汇总后拉回字段名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32361380/

相关文章:

elasticsearch - 在Kibana和Elasticsearch中使用管道聚合进行可视化

java - 需要澄清 - 设计模式

python - 如何在Python中通过多个键聚合数据集?

elasticsearch - 聚合可以在Elasticsearch中有两个键吗

elasticsearch - 如何使用Logstash加载二进制文件

mongodb - 使用logstash elasticsearch的mongodb输入插件

javascript - 如何在 Omniture (SiteCatalyst) 中为网站部分创建自定义路径定义和过滤器?

elasticsearch - 在Elasticsearch中使用索引值作为前缀

elasticsearch - geoip查找失败弹性堆栈logstash

asp.net - 如何将Serilog与Newtonsoft.Json for .Net一起使用?