首页 > 解决方案 > 如何修复 [删除类型] 在搜索请求中指定类型已弃用。”](elasticsearch 7.4.0,spring boot 2.2.6)?

问题描述

我正在开发我的第一个应用程序,它使用弹性搜索(7.4.0)作为数据库,并用于该弹簧数据弹性搜索(弹簧启动版本为 2.2.6),一切正常,但我仍然收到以下警告日志消息我运行我的应用程序。

Using include_type_name in put mapping requests is deprecated. The parameter will be removed in the next major version."]
[types removal] Specifying types in search requests is deprecated."]

我知道自 7.0.0 版本以来的类型删除,但我该如何解决这个问题,我的意思是我应该更改我的 spring boot 版本还是我的 elasticsearch 版本,我怎样才能删除那些警告消息?忽略这些警告会影响申请流程吗?

标签: javaspring-bootelasticsearchspring-data-elasticsearch

解决方案


Spring Boot 2.2.6 引入了 Spring Data Elasticsearch 3.2。以及版本 6.8.7 中的 Elasticsearch 客户端库。这不适用于运行版本 7 的 Elasticsearch 集群。您将需要至少版本 7.4.0 中的 Elasticsearch 客户端库和版本 4.0 中的 Spring Data Elasticsearch

你可以做两件事:

  1. 通过在 pom.xml 中设置属性,明确指定要使用的 Spring Data 版本(发布火车Neumann包含 Spring Data Elasticsearch 4.0)和 Elasticsearch,请参阅文档
    <properties>
        <elasticsearch.version>7.4.0</elasticsearch.version>
        <spring-data-releasetrain.version>Neumann-RELEASE</spring-data-releasetrain.version>
    </properties>
  1. 使用 Spring Boot 2.3。这将拉入与上述相同版本的 Spring Data 和版本 7.6 中的 Elasticsearch 客户端库 - 这将与您的 7.4 集群一起使用。

我更喜欢使用第二个。


推荐阅读