文章目录
1. 聚合(Aggregation)
Elasticsearch 除搜索以外,提供的针对 ES 数据进行统计分析的功能
- 实时性
- Hadoop (T+1)
通过聚合,我们会得到一个数据的概念,是分析和总结全套的数据,而不是寻找单个文档
- 尖沙咀和香港岛的客房数量
- 不同的价格区间,可预定的经济型酒店和五星级酒店的数量
高性能,只需要一条语句,就可以从 ES 得到分析结果
- 无需再客户端自己去实现分析逻辑
1.1 Kibana 可视化报表
1.2 聚合的分类
-
Bucket Aggregation
- 一些列满足特定条件的文档的集合 -
Metric Aggregation
- 一些数学运算,可以对文档字段进行统计分析 -
Pipeline Aggregation
- 对其他的聚合结果进行二次聚合 -
Matrix Aggregation
- 支持对多个字段的操作并提供一个结果矩阵
1.3 Bucket & Metric
1.3.1 Bucket
1.3.2 Metric
Metric 会基于数据集计算结果,除了支持在字段上进行计算,同样也支持在脚本(painless script)产生的结果之上进行计算
大多数 Metric 是数学计算,仅输出一个值
-
min / max / sum / avg /cardinality
部分 metric 支持输出多个数值
-
stats / percentiles / percentile_ranks
1.4 Demo
参考资料:
极客时间:Elasticsearch核心技术与实战