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;