java - Elasticsearch 将日期存储为数组
问题描述
在我的项目中,我使用 Elasticsearch 6.x 来存储数据。
当我存储一个日期时,它被保存为一个数组。
LocalDate 到 Array 的转换形式在 java 对象“ObjectMapper”和方法“writeValueAsString”内
这是我的映射:
"myDate": {
"type": "date",
"format": "strict_date_optional_time||epoch_millis"
}
这是结果:
"myDate": [
2017
,
11
,
10
]
我以毫秒为单位转换输入中的 LocalDate ,当我搜索日期范围时,我没有命中
解决方案
如果您确定该问题与 ObjectMapper 而不是 Elastic 有关,您可以尝试像这样配置 ObjectMapper:
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
...
ObjectMapper().registerModule(JavaTimeModule())
推荐阅读
- javascript - 如何从 props 中的数组导出字符串,而不是一次导出一个值?
- python-3.x - tanh 函数返回 'nan' 值;tanh 不稳定问题
- cors - 我无法在我的 MERN 应用程序中使用 CORS,如何解决这个问题?
- javascript - Javascript将数据操作到d3堆叠图的对象数组中
- udp - 提升 asio ; udp 中的短读;如何分别读取每个 udp 数据包
- python-3.x - 有没有更好的方法来识别杂乱图像中的非结构化日文文本并使用 pytesseract 进行一些图像处理操作
- java - 如何使用 MVVM (Android) 处理多个单选按钮
- typescript - 如何定义为我的应用程序键入的 createSelector 版本?
- javascript - 通过 ajax 发送 post 请求不起作用
- javascript - 如何使用 D3 v3 javascript 为多折线图添加工具提示