我们再用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

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐