由于ES默认时区为UTC,比我上海时区慢八个小时且是TZ格式,当我们需要自动填充为yyyyy-MM-dd HH:mm:ss格式时我们就需要对其进行处理。
1、定义预处理管道:chage_utc_to_asiash(管道名可更改)
PUT _ingest/pipeline/chage_utc_to_asiash { "processors": [ { "script": { "lang": "painless", "source": """ def imp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); imp.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai")); def ts = imp.format(new Date((new Date().getTime()))); ctx.update_time = ts; """ } } ] }
2、创建索引,指定管道
PUT /teacher
{
"settings": {
"default_pipeline": "chage_utc_to_asiash"
},
"mappings": {
"properties": {
"name":{
"type": "text",
"analyzer": "standard"
},
"address":{
"type": "text"
, "analyzer": "standard"
}
}
}
}
3、写入数据
PUT teacher/_doc/1
{
"name":"张三",
"address":"上海"
}
4.查看结果
文章来源:https://www.toymoban.com/news/detail-507955.html
文章来源地址https://www.toymoban.com/news/detail-507955.html
到了这里,关于elasticsearch自动填充时间,并转换为上海时区的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!