“ElasticSearch聚合分析:分桶聚合(bucket)”的版本间差异
		
		
		
		
		
		跳到导航
		跳到搜索
		
				
		
		
	
 (建立内容为“category:ElasticSearch  == 关于 ==  <syntaxhighlight lang="JSON" highlight="">  </syntaxhighlight>”的新页面)  | 
				无编辑摘要  | 
				||
| 第2行: | 第2行: | ||
== 关于 ==  | == 关于 ==  | ||
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''' 指标聚合,统计桶内文档总数。  | |||
<syntaxhighlight lang="JSON" highlight="">  | <syntaxhighlight lang="JSON" highlight="">  | ||
</syntaxhighlight>  | </syntaxhighlight>  | ||
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 指标聚合,统计桶内文档总数。