Elasticsearch聚合学习之二:区间聚合,springboot定时器原理

本文介绍了Elasticsearch的区间聚合,包括价格和时间字段的分桶,展示了如何控制空桶返回及添加metrics计算。同时探讨了SpringBoot定时器的工作原理,适合Java后端开发者阅读。
摘要由CSDN通过智能技术生成
  1. Kibana:6.7.1

实战用的数据依然是一些汽车销售的记录,在第一章有详细的导入步骤,请参考操作,导入后您的es中的数据如下图:

在这里插入图片描述

本章概要

本篇实战的聚合操作有以下内容:

  1. 指定字段的区间聚合;

  2. 时间字段的区间聚合;

  3. 扩展实战;

接下来开始实战吧。

条形图(histogram桶)

  1. 还记得terms桶么,用来将指定字段值相同的文档聚合在一个桶中,而histogram桶是将指定字段值在某个范围内的文档聚合在一个桶中,如下图所示,0-19999是一个桶,11000和15000在一个桶内,23000和31000在一个桶内,这就是histogram桶:

在这里插入图片描述

  1. 以汽车销售记录为例做一次聚合查询,为售价创建histogram桶,以20000作为间隔,每个桶负责的区间如上图所示,相关的销售记录就会被放入对应的桶中,请求参数和说明如下:

GET /cars/transactions/_search

{

“size”:0, —令返回值的hits对象为空

“aggs”:{ —聚合命令

“price”:{ —聚合字段名称

“histogram”: { —桶类型

“field”: “price”, —指定price字段的值作为判断条件

“interval”: 20000 —每个桶负责的区间大小为20000

}

}

}

}

  1. 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” : [ —

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值