date - Elasticsearch (7.3) 日期映射解析失败
问题描述
我已将 elasticsearch 从 6.2.3 升级到 7.3
ES 中的映射如下所示:
"completion_date" : {
"type" : "date",
"store" : true,
"format" : "yyyy-MM-dd'T'HH:mm:ss.SSSZ||yyyy-MM-dd'T'HH:mm:ssZ||yyyy-MM-dd"
}
失败并出现以下异常:
Elasticsearch 异常 [type=mapper_parsing_exception, reason=failed to parse field [completion_date] in document ....4181937'。字段值预览:'2018-01-23T16:40:00.000Z']
你能帮我解释一下为什么会这样,我该如何解决?
解决方案
我同意你的观点,我试过了,发现它在 ES6 中有效,但在 ES7 中无效。但是,如果您输入以下格式,它似乎可以工作:
"format" : "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
但我不认为这是最好的解决方案,因为它没有在文档中这样指定(也许他们稍后会更新它)。对我来说,最好的解决方案是使用文档中指定的名称调用格式:es doc
所以你的映射应该是这样的:
"completion_date" : {
"type" : "date",
"store" : true,
"format" : "strict_date_time||strict_date_time_no_millis||strict_date"
}
希望有帮助!
推荐阅读
- 3d - 有没有 3d GraphQL 可视化工具?
- javascript - dockerized 微服务中的同步问题
- reactjs - 在 github 上的主分支上删除 git commit
- mysql - where子句中的mysql concat和substring_index
- javascript - 添加了 babel/present-react 但错误仍然存在
- stata - 面板数据的 IV 变量?(Andesron Hsiao) + 内生性检验
- jasper-reports - JasperReports 中列表列表的动态高度
- c++ - 我正在尝试编写一种计算复数模数和复共轭的方法,但是 = 符号给出了错误
- javascript - 在 React Native 中从 URL 读取文本文件
- javascript - 使用上下文 API 时如何满足打字稿?