首页 > 解决方案 > Elasticsearch 将日期存储为数组

问题描述

在我的项目中,我使用 Elasticsearch 6.x 来存储数据。

当我存储一个日期时,它被保存为一个数组。

LocalDate 到 Array 的转换形式在 java 对象“ObjectMapper”和方法“writeValueAsString”内

这是我的映射:

"myDate": {
  "type": "date",
  "format": "strict_date_optional_time||epoch_millis"
}

这是结果:

"myDate": [
2017
,
11
,
10
]

我以毫秒为单位转换输入中的 LocalDate ,当我搜索日期范围时,我没有命中

标签: javaelasticsearch

解决方案


如果您确定该问题与 ObjectMapper 而不是 Elastic 有关,您可以尝试像这样配置 ObjectMapper:

import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule

...

ObjectMapper().registerModule(JavaTimeModule())

推荐阅读