You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为嵌套Terms聚合分别添加平均值与求和聚合?

嵌套Terms聚合中分别添加平均值和求和聚合的实现方法

完全可以实现你的需求,只需要在对应层级的聚合中添加avg或sum类型的子聚合即可。以下是修改后的查询语句:

{
  "aggs": {
    "agg1": {
      "terms": {
        "field": "destination.bytes"
      },
      "aggs": {
        "agg1_avg_result": {
          "avg": {
            "field": "your_avg_field" // 替换为你要计算平均值的数值字段,比如response.size
          }
        },
        "agg2": {
          "terms": {
            "field": "source.bytes"
          },
          "aggs": {
            "agg2_sum_result": {
              "sum": {
                "field": "your_sum_field" // 替换为你要计算求和的数值字段,比如request.duration
              }
            }
          }
        }
      }
    }
  }
}

关键说明:

  • agg1_avg_result是添加在agg1下的平均值聚合:它会针对destination.bytes的每个分组,计算指定数值字段的平均值。
  • agg2_sum_result是添加在agg2下的求和聚合:它会嵌套在destination.bytes的分组内,针对每个source.bytes的子分组,计算指定数值字段的求和值。

注意:替换字段时要确保目标字段是Elasticsearch支持的数值类型(如long、float、double等),否则会导致聚合失败。

内容的提问来源于stack exchange,提问作者su-wan Kenobi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 04:40:23