java - Elasticsearch 解析日期字段格式失败
问题描述
我是 ealsticsearch 的新手,我使用第三方 ealsticsearch 尝试使用 spring 数据进行查询,它适用于所有字符串字段,但是当我尝试使用时间戳字段进行查询时出现错误:
这是我的查询:
{
...
"transmissionTime": "2021-09-08 11:53:00.000",
...
}
这是我的字段映射
@JsonFormat(
shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd@HH:mm:ss.SSSZ", locale = "fr_FR")
private Timestamp transmission_date_and_time;
当我执行我的查询时,我得到了这个错误:
Caused by: org.elasticsearch.ElasticsearchException: Elasticsearch exception [type=illegal_argument_exception, reason=failed to parse date field [1631098380000] with format [yyyy-MM-dd@HH:mm:ss.SSSZ]]
解决方案
将您的索引映射修改为
{
"mappings": {
"properties": {
"timestamp": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss.SSS"
}
}
}
}
推荐阅读
- windows - Windows进程空心/挂起的进程创建/唤醒挂起的进程
- asp.net-mvc - GITLAB 中 ASP.NET MVC 项目的工件
- python - 如何在 Python 中深度复制队列?
- python - 在 matplotlib 图中的特定日期添加一个圆圈
- django - 我可以更改为 ModelChoiceField 显示的初始 none 值,使其不是“----------”吗?
- android - 如何为 Android Q 打开带有特定专辑或文件夹的默认图库应用程序?
- uml - 区块链建模
- javascript - 如何在点击重定向 url API 时自动关闭新窗口
- azure-functions - 使用 Terraform 零停机部署 Azure Functions
- javascript - 如何处理 express api 中的多个错误?就像我想处理 404,405,400 和 500