Elasticsearch为记录添加时间戳timestamp 女爷i 2022-06-11 07:39 178阅读 0赞 时间戳是表明某条数据产生的时间,代表了此数据在一个特定时间点已经存在的证据。 添加时间戳可以在索引数据时指定 $ curl -XPUT localhost:9200/my_index/my_type/1?timestamp=2016-07-14T09:23:38.388Z -d '{ "user" : "kimchy", "message" : "trying out Elasticsearch" }' 如果没有手动指定时间戳,\_source中是不会存在时间戳的。如果想为每个索引文档自动创建时间戳,必须在创建索引时指定Mapping,将@timestamp设置为enable。否则,即使以后更改,新的数据也是无法加上时间戳的。 "properties": { "@timestamp":{ "format":"strict_date_optional_time||epoch_millis", "type":"date" "enabled":true } } 若使用logstash来做日志收集,logstash会根据事件传输的当前时间自动给事件加上@timestamp字段。 时间戳的数据类型是date,Date类型在Elasticsearch中有三种方式: * 传入格式化的字符串,默认是[ISO 8601标准][ISO 8601] * 使用毫秒的时间戳,长整型,直接将毫秒值传入即可 * 使用秒的时间戳,整型 在Elasticsearch内部,对时间类型字段,是统一采用 UTC 时间。在做查询和显示是需要转换时间内容增加8个小时,调整时区为东八区。 [ISO 8601]: http://zh.wikipedia.org/zh-cn/ISO_8601
还没有评论,来说两句吧...