“ElasticSearch聚合分析:分桶聚合(bucket)”的版本间差异
跳到导航
跳到搜索
无编辑摘要 |
小 (Eijux移动页面ElasticSearch聚合分析:分组聚合查询(bucket)至ElasticSearch聚合分析:分桶聚合(bucket),不留重定向) |
(没有差异)
|
2021年5月21日 (五) 00:53的版本
关于
Elasticsearch 桶聚合,目的就是数据分组,先将数据按指定的条件分成多个组,然后对每一个组进行统计。
- 组的概念跟桶是等同的,在ES中统一使用桶(bucket)这个术语。
ES 桶聚合的作用跟 SQL 的 group by 的作用是一样的,区别是 ES 支持更加强大的数据分组能力,SQL 只能根据字段的唯一值进行分组,分组的数量跟字段的唯一值的数量相等。
- 例如: group by 店铺 id, 去掉重复的店铺 ID 后,有多少个店铺就有多少个分组。
ES常用的桶聚合如下:
- Terms 聚合:类似 SQL 的 group by,根据字段唯一值分组;
- Histogram 聚合:根据数值间隔分组;
- 例如: 价格按100间隔分组,0、100、200、300等等
- Date histogram聚合:根据时间间隔分组;
- 例如:按月、按天、按小时分组
- Range聚合:按数值范围分组;
- 例如: 0-150一组,150-200一组,200-500一组。
- “桶聚合”一般不单独使用,都是配合“指标聚合”一起使用,对数据分组之后肯定要统计桶内数据,在 ES 中如果没有明确指定指标聚合,默认使用 Value Count 指标聚合,统计桶内文档总数。