1、分类:分桶聚合,指标聚合,管道聚合
2、分桶聚合
按照 type 字段分桶,并按照 doc_count 升序排序
3、指标聚合
eg1、查询 volume 最大值 max
eg2、查询所有指标
4、管道聚合(二次聚合)
计算根据 type 字段分类后 volume 值最小的 type 字段值
5、嵌套聚合
eg1、统计不同类型(type)商品的不同级别(lv)的数量(求数量,按谁分桶,谁就用 terms)
eg2、按照 lv 分桶,输出每个桶的具体价格信息
eg3、统计不同类型商品不同级别的价格信息
eg4、统计不同类型商品不同级别的价格信息(指标stats)和标签信息(分类求数量terms)
eg5、统计每个商品类型中,不同档次分类商品中(这句话可有可无,如果没有需要自己分析需求然后补充出来),平均价格最低的档次 ********* 分析:要想得到平均价格最低的档次,首先要计算出不同档次分类的平均价格,所以需要在 lv_bucket 下计算平均价格,最后要得到的是档次,就在档次桶的桶名下写min_bucket
6、基于查询结果的聚合(在哪个查询结果的基础上聚合,则在其平级下写 aggs )
eg1、查询价格大于 5000 的 标签
eg2、基于 filter 的 aggs
7、基于聚合的查询(其实只是换了个顺序,表示查询结果对聚合结果没有影响。可以理解为先聚合后查询)
8、基于范围的分桶
注意:其中 _term 已经被 _key 取代,用于对 key 进行排序,若要对 doc_count 排序,则用 _count