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

Elasticsearch中如何对sum聚合结果执行减法运算

实现方案

通过bucket_script管道聚合即可完成两个聚合结果的差值计算,该聚合支持对已生成的聚合指标做算术运算。

完整查询DSL

{
  "size": 0,
  "aggs": {
    "sumOfQuantity": {
      "sum": {
        "field": "quantity"
      }
    },
    "SumOfAmount": {
      "sum": {
        "field": "amount"
      }
    },
    "SumOfDiscount": {
      "sum": {
        "field": "discount"
      }
    },
    "amountMinusDiscount": {
      "bucket_script": {
        "buckets_path": {
          "totalAmount": "SumOfAmount",
          "totalDiscount": "SumOfDiscount"
        },
        "script": "params.totalAmount - params.totalDiscount"
      }
    }
  }
}

参数&结果说明

  • buckets_path用来映射需要引用的聚合结果,自定义的key可以直接在script脚本中作为变量使用
  • 你提供的示例数据运算结果:SumOfAmount = 10+12 = 22,SumOfDiscount = 1+2=3,最终amountMinusDiscount的返回值为19
  • size: 0配置表示不需要返回原始文档数据,仅返回聚合结果,如果你原有查询已经配置过对应参数可以忽略该项

内容的提问来源于stack exchange,提问作者Ranjith kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 06:57:03