【问题标题】:How to fix [types removal] Specifying types in search requests is deprecated."] (elasticsearch 7.4.0 ,spring boot 2.2.6)?如何修复 [删除类型] 在搜索请求中指定类型已弃用。”](elasticsearch 7.4.0,spring boot 2.2.6)?
【发布时间】:2020-09-10 13:32:06
【问题描述】:

我正在开发我的第一个应用程序,它使用 elasticsearch (7.4.0) 作为数据库,并用于该 spring 数据 elasticsearch (spring boot 版本是 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 版本,我怎样才能删除那些警告消息?忽略这些警告会影响申请流程吗?

【问题讨论】:

  • 您正在尝试设置results in the warminginclude_type_name 参数,您可以分享您的PUT 正文吗?
  • 请求由spring数据生成。

标签: java spring-boot elasticsearch spring-data-elasticsearch


【解决方案1】:

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 see the documentation 中设置属性,明确指定要使用的 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 集群一起使用。

我更喜欢使用第二个。

【讨论】:

  • 当您声明“这不能与运行版本 7 的 Elasticsearch 集群一起使用”时,您是什么意思?我也遇到了同样的情况,但在我看来这只是一个警告——我们的测试表明查询仍然按预期工作。
  • 我记得切换到 7 时的一个重大变化是返回总点击数 (elastic.co/guide/en/elasticsearch/reference/7.9/…)。当使用 6.x 客户端库解析 7 响应时,总命中数将始终返回 0。所以你可能没有遇到任何问题,但是库和 API 有相当多的变化
猜你喜欢
  • 2021-03-03
  • 2021-02-05
  • 1970-01-01
  • 2022-01-06
  • 1970-01-01
  • 1970-01-01
  • 2019-10-18
  • 2020-05-09
  • 2021-11-21
相关资源
最近更新 更多