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;