有没有一种方法可以使用Painless转换此代码?
索引具有一个名为created的字段,目标是将值转换为其他时区,当前时区为UTC。

  "aggregations": {
    "dayOfWeek": {
      "terms": {
        "script": {
          "inline": "doc['created'].date.setZone(org.joda.time.DateTimeZone.forID(tz)); doc['created'].date.dayOfWeek",
          "lang": "groovy",
          "params": {
            "tz": "Europe/London"
          }
        }
      }
    }
  }

最佳答案

在Google上根据我自己的需要进行长时间搜索之后。
这对我有用(使用无痛方法):

def myDate = doc['created'].value.withZoneSameInstant(ZoneId.of('Europe/London'));
myDate.dayOfWeek;

我在此页面上找到了帮助:
https://gitlab.kveer.fr/upstream/elasticsearch/commit/81f60652d8c4763b3470d148239c96bcd0c29553

关于elasticsearch - 是否可以使用无痛语言将日期字段转换为其他时区?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54215340/

10-13 01:19