es painless 排序_elasticsearch-painless-操作日期

小编典典

解决方案是使用 .value

{

"script_fields": {

"new_date_field": {

"script": {

"inline": "doc['date_field'].value + 14400"

}

}

}

}

但是,我实际上想将其用于重新索引,但格式略有不同。这是我在_reindexapi中操纵时间的版本

POST _reindex

{

"source": {

"index": "some_index_v1"

},

"dest": {

"index": "some_index_v2"

},

"script": {

"inline": "def sf = new SimpleDateFormat(\"yyyy-MM-dd'T'HH:mm:ss\"); def dt = sf.parse(ctx._source.date_field); def calendar = sf.getCalendar(); calendar.setTime(dt); def instant = calendar.toInstant(); def localDateTime = LocalDateTime.ofInstant(instant, ZoneOffset.UTC); ctx._source.date_field = localDateTime.plusHours(4);"

}

}

这是可读版本的内联脚本

def sf = new SimpleDateFormat(\"yyyy-MM-dd'T'HH:mm:ss\");

def dt = sf.parse(ctx._source.date_field);

def calendar = sf.getCalendar();

calendar.setTime(dt);

def instant = calendar.toInstant();

def localDateTime = LocalDateTime.ofInstant(instant, ZoneOffset.UTC);

ctx._source.date_field = localDateTime.plusHours(4);

这是无痛支持的功能列表,很痛苦。

2020-06-22

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值