Elasticsearch sum_bucket,从结果中剥离中间聚合



我有以下查询,其中

  • 我执行第一项聚合,返回大量bucket
  • 然后在此bucket上执行度量聚合(示例)
  • 最后是sum_bucket聚合

当我运行此查询时,输出包含所有中间my_huge_bucket.my_huge_bucket_metric结果,但我只对sum_bucket度量感兴趣。

有没有办法从结果中去除中介聚合?

{
  "size": 0,
  "aggs": {
    "my_sum_bucket": {
      "sum_bucket": {
        "buckets_path": "my_huge_bucket.my_huge_bucket_metric"
      }
    },
    "my_huge_bucket": {
      "terms": {
        "field": "some_field",
        "size": 0
      },
      "aggs": {
        "my_huge_bucket_metric": {
          "avg": {
            "field": "some_field"
          }
        }
      }
    }
  }
}

刚刚了解了filter_path选项这正是我想要的

https://www.elastic.co/guide/en/elasticsearch/reference/2.3/common-options.html#_response_filtering

最新更新