aggregation分类
aggregations —— 聚合,提供了一种基于查询条件来对数据进行分组的方法。类似于 SQL 中的 group by 操作。
聚合可以嵌套,由此可以组成复杂的操作(Bucketing聚合可以包含sub-aggregation)。
聚合整体上可以分为 3 类:
1. Bucketing:桶分聚合:
- 此类聚合会有一个关键字(field、script),以及一些分组的标准(条件)。执行聚合操作时候,文档会对每一个分组标准进行判断,如果文档满足了某个标准,该文档就会被分为该组(fall in)。
2. Metric:度量值聚合:
- 对一组文档进行跟踪并计算其度量值的聚合。
3. Pipeline:管道聚合:
- 对其它聚合操作的输出及其关联指标进行聚合。
aggregation结构
"aggregations" : { //定义聚合对象,也可用 "aggs" "<aggregation_name>" : { //聚合的名称,用户自定义 "<aggregation_type>" : { //聚合类型,比如 "histogram" <aggregation_body> //每个聚合类型都有其自己的结构定义 } [,"meta" : { [<meta_data_body>] } ]? [,"aggregations" : { [<sub_aggregation>]+ } ]? //可以定义多个 sub-aggregation } [,"<aggregation_name_2>" : { ... } ]* //定义额外的多个平级 aggregation,只有 Bucketing 类型才有意义 }
时间: 2024-11-10 07:10:19