我们再用ES存入Java时间的date类型的时候,默认ES会自动转成timestamp。

要解决这个问题,可以采用时间类型的注解

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
ES的存入对象标记为@document,则再存入的是时候可以采用IndexQuery对象然后setObject就行了。此时ES再序列化的时候次采用的是JACKSON。

但是只标记上面注解会造成时区问题。所以完整解决问题需要加入一个指定时区

@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")

private Date createTime;

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐