关于常用聚合函数,ES提供了很多,具体查看官方文档,本文在ES 聚合查询的基础上,相关测试数据也在ES 聚合查询中.
1、range聚合
1.1 统计各个价格范围的食品销售情况,代码如下:
GET food...这个时候插入了一条价格为空的数据,且制定了miss条件为250,es会将所有的价格为空的值用250替换,所以结果中200-300范围的count为1.
2.4 key关键字
这里key关键字的用法只是改变了桶聚合值得展示形式通过...key value形式展示,这里不在赘述.
3、Date-Histogram 官方文档
3.1 按照日期进行聚合,统计每个月所有食品得销量
GET food/_search?...=>1M,quarter=>1q,year=>1y 最小支持到分钟,最大支持到年.
3.2 按照时间进行聚合,统计没毫秒所有食品得销量
GET food/_search?...是为了过滤count为0的风筒,如果min_doc_count为1就会过滤掉extended_bounds产生的空白填充,这就自相矛盾了.
3.4 统计今年一年内的每个月食品的销售情况,并按每个月的销售数量进行排序