码迷,mamicode.com
首页 > 其他好文 > 详细

ES进行date_histogram时间聚合,聚合结果时间不正确问题

时间:2021-02-19 13:38:28      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:自身   不一致   区间   mamicode   max   png   end   一个   问题   

在做项目中,有一个需求是统计本周内每天的漏洞数量,我选用的是ES中的date_histogram函数来进行聚合统计;

但是出现了一个问题,聚合出来的结果和想要统计的结果时间不一致,如下图所示

技术图片

 

 

 时间区间过滤8号到14号,应该显示7个时间段,结果却显示出8个时间段分别是7号-14号。

经过排查发现是ES在聚合时的时区问题,ES做时间聚合时自身不是东八区时间(中国时间),需要offset属性减8小时,

extended_bounds属性里的min和max参数各加8小时才能统计正确,如下图所示

技术图片

 

 

 附代码:

"size": 0,
"query": {
"bool": {
"filter": {
"range": {
"lOccurTime": {
"gte": 1612713600000,
"lte": 1613318399000
}
}
}
}
},
"aggs": {
"rh": {
"date_histogram": {
"field": "lOccurTime",
"interval": "day",
"offset": "-8h",
"min_doc_count": 0,
"extended_bounds": {
"min": 1612742400000,
"max": 1613347199000
}
}
}
}

ES进行date_histogram时间聚合,聚合结果时间不正确问题

标签:自身   不一致   区间   mamicode   max   png   end   一个   问题   

原文地址:https://www.cnblogs.com/ranhong/p/14411363.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!