-
有多少中颜色;
-
每辆车的平均价格是多少;
-
按照汽车的颜色来划分,每个颜色的销售量是多少;
学习Elasticsearch聚合的第一步就是理解两个概念:桶(Buckets)和指标(Metrics)
桶(Buckets)
桶是指满足特定条件的文档的集合,例如按照汽车颜色分类,如下图,每个颜色都有一个桶,里面放的是所有这个颜色的文档:
指标(Metrics)
指标是对桶内的文档进行统计计算,如统计红色汽车的数量、最低价、最高价、平均售价、总销售额等,这些都是根据桶中的文档的值来计算的;
基本概念有所了解后一起通过实战来学习和掌握聚合的知识;
环境信息
以下是本次实战的环境信息,请确保您的Elasticsearch可以正常运行:
-
操作系统:Ubuntu 18.04.2 LTS
-
JDK:1.8.0_191
-
Elasticsearch:6.7.1
-
Kibana:6.7.1
导入实战数据
本次实战用到的数据来自《Elasticsearch权威指南》的示例;
- 实战会用到名为cars的索引,里面的每个文档是一条汽车销售记录,具体字段定义如下:
| 字段 | 类型 | 作用 |
| — | — | — |
| price | long | 汽车售价 |
| color | text | 汽车颜色 |
| make | text | 汽车品牌 |
| sold | date | 销售日期 |