elasticsearch:date_histogram的interval问题

qq_35303368 2018-06-20 10:59:43
最近公司使用的elasticsearch进行一些缓存数据的存取,现在有个需求是需要获取2个小时指定的数据,elasticsearch的date_histogram的interval字段是指定2个小时内指定的interval时间内的数据进行聚合,比如


2个小时内按照每3分钟的数据为一个桶,得到的结果的第一个桶的时间是正确的,结束的桶的时间也是正确的,
但是我把时间改为4分钟,第一个桶的时间就往前移了几分钟,结束时间也前移了几分钟,有没有大佬遇到过,求解!!!!
...全文
2204 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
frgreyre 2020-11-18
  • 打赏
  • 举报
回复
引用 7 楼 Cai_javaXiaoFan 的回复:
大佬 请问你的问题解决了吗 我 查询当天的 数据 按两个小时统计一次 本应该从 00点到 24点 但是 他从前一天的 16点开始查询 一直到 第二天的 4点。。。但是 数据是对的 除了多了几个点。。。这个应该怎么解决。。
时区 差8小时
Cai_javaXiaoFan 2019-06-25
  • 打赏
  • 举报
回复
大佬 请问你的问题解决了吗 我 查询当天的 数据 按两个小时统计一次 本应该从 00点到 24点 但是 他从前一天的 16点开始查询 一直到 第二天的 4点。。。但是 数据是对的 除了多了几个点。。。这个应该怎么解决。。
xiangyu0907 2021-06-21
  • 举报
回复
@Cai_javaXiaoFan 可能是时区问题,我记得ES好像默认时区的时间差8小时
qq_28305363 2019-01-26
  • 打赏
  • 举报
回复
引用 1 楼 Braska 的回复:
计算es桶聚合bucket_key的公式是 bucket_key = Math.floor((value - offset) / interval) * interval + offset 结束时间往前偏移了可能是少掉的时间段里面没有数据。
这个公式有时候怎么算不准确啊??有时候可以准确的
Braska 2018-06-20
  • 打赏
  • 举报
回复
引用 2 楼 qq_35303368 的回复:
少掉这段时间没有数据,强制返回空桶,也应该有个空桶啊。
这个我确实不知道了,我用es java api是没有问题的。
引用 3 楼 qq_35303368 的回复:
value代表的是什么啊。偏移量那个我到知道
就是from的unix时间戳。
qq_35303368 2018-06-20
  • 打赏
  • 举报
回复
value代表的是什么啊。偏移量那个我到知道
qq_35303368 2018-06-20
  • 打赏
  • 举报
回复
少掉这段时间没有数据,强制返回空桶,也应该有个空桶啊。
Braska 2018-06-20
  • 打赏
  • 举报
回复
计算es桶聚合bucket_key的公式是 bucket_key = Math.floor((value - offset) / interval) * interval + offset 结束时间往前偏移了可能是少掉的时间段里面没有数据。
qq_35303368 2018-06-20
  • 打赏
  • 举报
回复
value的值感觉不对啊,api写得没有看不太懂

50,336

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧