- Kibana:6.7.1
实战用的数据依然是一些汽车销售的记录,在第一章有详细的导入步骤,请参考操作,导入后您的es中的数据如下图:
本章概要
本篇实战的聚合操作有以下内容:
-
指定字段的区间聚合;
-
时间字段的区间聚合;
-
扩展实战;
接下来开始实战吧。
条形图(histogram桶)
- 还记得terms桶么,用来将指定字段值相同的文档聚合在一个桶中,而histogram桶是将指定字段值在某个范围内的文档聚合在一个桶中,如下图所示,0-19999是一个桶,11000和15000在一个桶内,23000和31000在一个桶内,这就是histogram桶:
- 以汽车销售记录为例做一次聚合查询,为售价创建histogram桶,以20000作为间隔,每个桶负责的区间如上图所示,相关的销售记录就会被放入对应的桶中,请求参数和说明如下:
GET /cars/transactions/_search
{
“size”:0, —令返回值的hits对象为空
“aggs”:{ —聚合命令
“price”:{ —聚合字段名称
“histogram”: { —桶类型
“field”: “price”, —指定price字段的值作为判断条件
“interval”: 20000 —每个桶负责的区间大小为20000
}
}
}
}
- es返回的数据和说明如下:
{
“took” : 57,
“timed_out” : false,
“_shards” : {
“total” : 5,
“successful” : 5,
“skipped” : 0,
“failed” : 0
},
“hits” : {
“total” : 8,
“max_score” : 0.0,
“hits” : [ ]
},
“aggregations” : { —聚合结果
“price” : { —请求参数中指定的名称
“buckets” : [ —