elasticsearch存储日期格式字段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了elasticsearch存储日期格式字段相关的知识,希望对你有一定的参考价值。

参考技术A elasticsearch创建index之后,可以设置mapping,如果mapping中没有设置date的format,那么默认为两种格式:

date_optional_time 此格式为 ISO8601标准  示例:2018-08-31T14:56:18.000+08:00

epoch_millis 也就是时间戳 示例1515150699465, 1515150699

利用spring data elasticsearch插入日期格式数据的时候,一定要注意日期格式的转换,除此之外,还有日期时间存储的时候要加上8小时,es计算时间跟我们的时间会相差八小时:

具体字段注解如下:

@Field(type = FieldType.Date, format = DateFormat.custom,pattern ="yyyy-MM-dd HH:mm:ss")  // 指定存储格式

@JsonFormat(shape =JsonFormat.Shape.STRING,pattern ="yyyy-MM-dd HH:mm:ss",timezone ="GMT+8")  // 数据格式转换,并加上8小时进行存储

private Date  createTime;  

以上是关于elasticsearch存储日期格式字段的主要内容,如果未能解决你的问题,请参考以下文章

ElasticSearch 7.x mapping 定义说明

Elasticsearch仅查询具有自定义日期格式的年份

Elasticsearch:Dynamic field mapping

ElasticSearch 基础 - Mapping

ElasticSearch字段属性个性化设置

elasticsearch映射