首页 > 解决方案 > 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]]

标签: javaspring-bootelasticsearchspring-data-elasticsearch

解决方案


将您的索引映射修改为

{
  "mappings": {
    "properties": {
      "timestamp": {
        "type": "date",
        "format": "yyyy-MM-dd HH:mm:ss.SSS"
      }
    }
  }
}

推荐阅读