原英文版地址: https://www.elastic.co/guide/en/elasticsearch/reference/7.7/search-aggregations-metrics-sum-aggregation.html, 原文档版权归 www.elastic.co 所有
本地英文版地址: ../en/search-aggregations-metrics-sum-aggregation.html
本地英文版地址: ../en/search-aggregations-metrics-sum-aggregation.html
重要: 此版本不会发布额外的bug修复或文档更新。最新信息请参考 当前版本文档。
一个 single-value
(单值) 度量聚合,对从聚合文档中提取的数值进行汇总。
这些值可以从文档中指定的 numeric 字段中提取,也可以由提供的脚本生成。
假设数据由代表销售记录的文档组成,可以用以下公式计算所有帽子的销售价格(hat_prices):
POST /sales/_search?size=0 { "query" : { "constant_score" : { "filter" : { "match" : { "type" : "hat" } } } }, "aggs" : { "hat_prices" : { "sum" : { "field" : "price" } } } }
结果是:
{ ... "aggregations": { "hat_prices": { "value": 450.0 } } }
聚合的名称(上面的hat_prices
)也用作 key,通过它可以从返回的响应中检索聚合结果。
还可以使用一个脚本来获取销售价格:
POST /sales/_search?size=0 { "query" : { "constant_score" : { "filter" : { "match" : { "type" : "hat" } } } }, "aggs" : { "hat_prices" : { "sum" : { "script" : { "source": "doc.price.value" } } } } }
这将把 script
参数解释为一个inline
(内联) 脚本,使用 painless
(无痛) 脚本语言,没有脚本参数。
要使用存储的脚本,请使用以下语法:
POST /sales/_search?size=0 { "query" : { "constant_score" : { "filter" : { "match" : { "type" : "hat" } } } }, "aggs" : { "hat_prices" : { "sum" : { "script" : { "id": "my_script", "params" : { "field" : "price" } } } } } }