ES存储时间格式报错

在向ES添加文档时,如果类型是“date”,需要指定格式,如果没有匹配到格式,则存储时间戳。

      "sendTime": {
        "type":   "date",
        "format": "yyyy-MM-dd'T'HH:mm:ss.SSS||yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
      }

使用com.fasterxml.jackson.databind.ObjectMapper将对象序列化为json时,LocalDateTime格式需要做如下操作:
1.引入依赖

        <dependency>
            <groupId>com.fasterxml.jackson.datatype</groupId>
            <artifactId>jackson-datatype-jsr310</artifactId>
            <version>2.12.5</version>
        </dependency>

2.在字段上添加注解

	@JsonSerialize(using = LocalDateTimeSerializer.class)
	@JsonDeserialize(using = LocalDateTimeDeserializer.class)
	@Description("短信的发送时间")
	private LocalDateTime sendTime;

上述操作序列化后的时间格式是“2025-06-17T16:10:20.033”,需要在声明ES索引时添加"yyyy-MM-dd'T'HH:mm:ss.SSS"

posted @ 2025-06-17 16:24  扶她少女卡尔玛  阅读(68)  评论(0)    收藏  举报