elasticsearch中保存时间格式

利用logstash从文档中导入数据到es中,若未事先设定数据格式,有可能存储时间并未保存为date格式而是text格式。


时间若保存为text,则在会以字符串数组格式存储在es中,是乱序,不好查询。
elasticsearch中保存时间格式
若保存为date格式,则会以统一的字符串进行存储
elasticsearch中保存时间格式


实际操作中,最常用的时间格式"yyyy-MM-dd HH:mm:ss",不会自动识别保存为date格式,而"yyyy-MM-dd"、“yyyyMMdd”、“yyyyMMddHHmmss”、“yyyy-MM-ddTHH:mm:ss”、“yyyy-MM-ddTHH:mm:ss.SSS”、"yyyy-MM-ddTHH:mm:ss.SSSZ"等格式可以。所以可以在设计数据时可以注意设定的格式,或者对源数据进行进行处理再写入

若就想要保存为”yyyy-MM-dd HH:mm:ss“等格式,就得事先设定可以识别的格式,举例如下
elasticsearch中保存时间格式

这里我通过Postman新建了一个表,birthday字段中的存储格式为"yyyy-MM-dd HH:mm:ss”或者“yyyy-MM-dd”或者毫秒数,存储格式为date
elasticsearch中保存时间格式