【问题标题】:elasticsearch date_format exceptionelasticsearch date_format 异常
【发布时间】:2020-09-23 14:54:21
【问题描述】:

系统规格

Elasticsearch version 6.7.0 running in application
Elasticsearch version 6.3.2 running on docker container

POM 如下所示

        <dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch</artifactId>
            <version>6.7.0</version>
        </dependency>

        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-high-level-client</artifactId>
            <version>6.70</version>
        </dependency>

问题

我有一个使用下面映射的日期字段

 "thisIsDate": {
      "type": "date",
      "format": "strict_date_time"
    }

该字段的设置就像在我的应用程序中一样

 @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSX", shape = JsonFormat.Shape.STRING, timezone = "UTC")
    public Instant thisIsDate;

我插入该字段的数据如下所示。

1900-10-22T12:34:56.78Z

但我一直在回来

"reason":"failed to parse date field with format [basic_date_time]"

我在映射中使用了以下格式,但它们都不能解决我的问题

1. date_time 
2. basic_date_time 
3. strict_date_time
4. "yyyy-MM-dd'T'HH:mm:ss.SSSX"

有人能指出我正确的方向吗?

【问题讨论】:

  • 在您的第一个声明中,您提到了 elasticsearch 的两个版本,这是什么意思,希望您使用与 ES 服务器相同版本的 ES 客户端。
  • 不,我使用的 docker 容器的版本与 spring-boot 应用程序上使用的 es 版本不同。 @OpsterElasticsearchNinja
  • 您应该使用相同版本的 ES 客户端和服务器,您可以这样做并告诉我问题是否仍然存在?
  • 你是对的。如果我使用相同的版本,它可以工作。但我的要求需要我使用 6.3.2。您能想到的任何变通方法或解决方案可以让它们相互协作吗?
  • 不,您需要使用相同版本的 ES 服务器和客户端,因为如果您使用不同的版本会出现兼容性问题,这就是弹性搜索甚至在每个次要版本(如 7.4、7.5、7.6)中发布客户端的原因,7.7 如果这些可以正常工作,那么就没有必要这样做

标签: java spring-boot elasticsearch jackson


【解决方案1】:

问题是由于 Elasticsearch 服务器和 Elasticsearch 客户端的版本不兼容而发生的。

正如每个版本中提到的那样,如果您不升级客户端版本,服务器中将引入一些更改,这将无法正常工作,这就是弹性搜索甚至在每个次要版本(如 7.4、7.5、7.6)中发布客户端的原因, 7.7 如果这些可以正常工作,那么没有必要这样做。

这是一个已知问题,当 Elasticsearch 客户端与服务器版本不匹配时,有几篇 StackOverflow 帖子与各种奇怪的问题相关。

最好和简洁的解决方案是确保您使用相同版本的服务器和客户端并同时更新它们以避免这些奇怪的问题。

【讨论】:

  • 很高兴我们早早发现并节省了很多时间,因为我提到了在 SO 上看到了与此相关的各种奇怪问题。
猜你喜欢
  • 2017-04-06
  • 1970-01-01
  • 1970-01-01
  • 2017-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-18
相关资源
最近更新 更多