elasticsearch elasticsearch时间间隔上的多重聚合,elasticsearch,elasticsearch" /> elasticsearch elasticsearch时间间隔上的多重聚合,elasticsearch,elasticsearch" />

elasticsearch elasticsearch时间间隔上的多重聚合

elasticsearch elasticsearch时间间隔上的多重聚合,elasticsearch,elasticsearch,大家好 我正在尝试对存储在elasticsearch中的时间序列数据集执行基于时间的查询 我想知道是否有人可以分享一些技巧来做这样的事情。。。 基本上,每个文档都带有UTC时间和值。最后,我想找出过去12个月每天每小时的平均值 我目前的方法有点老套——我以小时为单位存储数据,并以一天中的小时为单位存储一个字段,即下午1点UTC为13。但它太粗糙了,带来了一系列问题: 1.它没有夏时制调整,你可能已经注意到了。 2.我需要将UTC小时数转换回当地时间。 3.许多其他问题 非常感谢您的帮助 Leon

大家好

我正在尝试对存储在elasticsearch中的时间序列数据集执行基于时间的查询

我想知道是否有人可以分享一些技巧来做这样的事情。。。 基本上,每个文档都带有UTC时间和值。最后,我想找出过去12个月每天每小时的平均值

我目前的方法有点老套——我以小时为单位存储数据,并以一天中的小时为单位存储一个字段,即下午1点UTC为13。但它太粗糙了,带来了一系列问题: 1.它没有夏时制调整,你可能已经注意到了。 2.我需要将UTC小时数转换回当地时间。 3.许多其他问题

非常感谢您的帮助


Leon

像这样的东西应该可以无需任何破解就能满足您的需求:

{
  "query": {},
  "aggs": {
    "hourOfDay": {
      "histogram": {
        "script": "doc['timestamp'].date.getHourOfDay()",
        "interval": 1,
        "min_doc_count": 0,
        "extended_bounds": {
          "min": 0,
          "max": 23
        },
        "order": {
          "_key": "desc"
        }
      }
    }
  }
}

谢谢@Or。如果动态脚本不可用怎么办?另外,我可能需要在聚合完成之前进行时区转换。