你好Elasticsearch的人,
我正在尝试对存储在elasticsearch中的时间序列数据集执行基于时间的查询。
我想知道是否有人会分享一些技巧来做这样的事情...... 基本上,每个文档都带有UTC时间和值。最后,我想找出过去12个月中每天每小时的平均值。
我目前的方法有点笨拙 - 我按小时存储数据,并且还存储一个字段作为一天中的小时,即下午1点UTC是13.但它是如此hacky并伴随着一系列问题: 1.您可能已经注意到它没有夏令时调整。 我有点必须将当天的UTC时间转换回当地时间。 3.许多其他问题......
非常感谢您的帮助!
莱昂
答案 0 :(得分:0)
这样的事情可以在没有任何黑客的情况下为你提供所需的东西:
{
"query": {},
"aggs": {
"hourOfDay": {
"histogram": {
"script": "doc['timestamp'].date.getHourOfDay()",
"interval": 1,
"min_doc_count": 0,
"extended_bounds": {
"min": 0,
"max": 23
},
"order": {
"_key": "desc"
}
}
}
}
}