Elasticsearch为记录添加时间戳timestamp

时间戳是表明某条数据产生的时间,代表了此数据在一个特定时间点已经存在的证据。

添加时间戳可以在索引数据时指定

$ 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标准
  • 使用毫秒的时间戳,长整型,直接将毫秒值传入即可
  • 使用秒的时间戳,整型

在Elasticsearch内部,对时间类型字段,是统一采用 UTC 时间。在做查询和显示是需要转换时间内容增加8个小时,调整时区为东八区。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值