弹性搜索聚合中的动态时区偏移



我正在聚合每个都有时间戳的文档。时间戳是UTC,但每个文档都有一个本地时区("timezone": "America/Los_Angeles"),不同文档之间的时区可能不同。

我试图根据当地时间而不是UTC或固定时区(例如,使用选项"time_zone": "America/Los_Angeles")来执行date_histogram aggregation

如何将每个文档的时区转换为聚合前的本地时间

以下是简单的聚合:

{
  "aggs": {
    "date": {
      "date_histogram": {
        "field": "created_timestamp",
        "interval": "day"
      }
    }
  }
}

我不确定我是否完全理解它,但time_zone属性似乎是这样的:

区域值接受小时偏移量的数值,例如:"time_zone":-2。它还接受小时和分钟的格式,如"time_zone":"-02:30"。另一种选择是提供一个时区,作为此处列出的值之一。

如果存储另一个没有时区信息的本地时间字段,它应该可以工作。

取您拥有的每个时间戳(以UTC为单位),将其转换为本地时区的日期(其中将包含时区信息)。现在只需从这个日期时间中删除时区信息。现在,您可以在此新字段上执行操作。

假设您从UTC的这个时间开始:‘2016-07-17T01:33:52.412Z’

现在,假设您在PDT中,您可以将其转换为:'2016-07-16T18:33:52.412-07:00'

现在,砍掉末端,这样你就可以得到:‘2016-07-16T18:33:52.412Z’

现在你可以在这个场地上操作了。

相关内容

  • 没有找到相关文章

最新更新