Elasticsearch的组成与操作(三)

目录

聚合(aggregations)

1.桶(bucket)

2.度量(metrics)

3.聚合为桶示例

4.桶内度量示例

5.嵌套桶示例

6.阶梯分桶Histogram

 


聚合(aggregations)

聚合可以让我们极其方便的实现对数据的统计、分析,实现这些统计功能的比数据库的sql要方便的多,而且查询速度非常快,可以实现实时搜索效果。下面介绍两种最常用的聚合  

1.桶(bucket)

桶的作用,是按照某种方式对数据进行分组,但不包括计算,因此bucket中往往会嵌套另一种聚合:metrics aggregations即度量

比较常用的桶划分方式有

  • Date Histogram Aggregation:根据日期阶梯分组,例如给定阶梯为周,会自动每周分为一组

  • Histogram Aggregation:根据数值阶梯分组,与日期类似

  • Terms Aggregation:根据词条内容分组,词条内容完全匹配的为一组

  • Range Aggregation:数值和日期的范围分组,指定开始和结束,然后按段分组

2.度量(metrics)

分组完成以后,我们一般会对组中的数据进行聚合运算,例如求平均值、最大、最小、求和等,这些在ES中称为度量 ​​​​​​​

常用的度量集合方式有

  • Avg Aggregation:求平均值

  • Max Aggregation:求最大值

  • Min Aggregation:求最小值

  • Percentiles Aggregation:求百分比

  • Stats Aggregation:同时返回avg、max、min、sum、count等

  • Sum Aggregation:求和

  • Top hits Aggregation:求前几

  • Value Count Aggregation:求总数

3.聚合为桶示例

4.桶内度量示例

5.嵌套桶示例

6.阶梯分桶Histogram

histogram是把数值类型的字段,按照一定的阶梯大小进行分组。你需要指定一个阶梯值(interval)来划分阶梯大小

示例

注意:需要进行聚合、排序、过滤的字段其处理方式比较特殊,因此不能被分词

 

发布了343 篇原创文章 · 获赞 162 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/Delicious_Life/article/details/104277968