在春季启动中找不到弹性搜索方法



我已经遇到这个问题一段时间了,感谢任何帮助。我正在运行 Spring Boot 版本2.2.0与 ElasticSearch 高级 REST 客户端版本6.4.3并使用版本3.2.0作为 Spring-Data-Elasticsearch 版本。我收到下面的错误。我已经尝试了以下尝试来修复,但没有一个。

  1. 多次更改 Spring 引导版本
  2. 多次更改 ES 版本
  3. 我已经清除了我的 .m2 文件夹并多次重新下载了 maven 依赖项。

我在下面遇到的问题是

尝试调用不存在的方法。尝试是从以下位置进行的:

org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate.putMapping(ElasticsearchRestTemplate.java:292(

以下方法不存在:

org.elasticsearch.client.IndicesClient.putMapping(Lorg/elasticsearch/action/admin/indices/mapping/put/PutMappingRequest;Lorg/elasticsearch/client/RequestOptions;(Lorg/elasticsearch/action/support/master/AcknowledgedResponse;

该方法的类 org.elasticsearch.client.IndicesClient 可从以下位置获得:

jar:file:/Users/user/.m2/repository/org/elasticsearch/client/elasticsearch-rest-high-level-client/6.4.3/

elasticsearch-rest-high-level-client-6.4.3.jar!/org/elasticsearch/client/IndicesClient.class

它是从以下位置加载的: file:/Users/user/.m2/repository/org/elasticsearch/client/elasticsearch-rest-high-level-client/6.4.3/elasticsearch-rest-high-level-client-6.4.3.jar

行动:更正应用程序的类路径,使其包含单个兼容版本的 org.elasticsearch.client.IndicesClient

我的聚甲醛在下面

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-elasticsearch</artifactId>
<version>3.2.0</version>
</dependency>

任何帮助,不胜感激。我确信它必须处理兼容性问题,但不确定是哪个。谢谢大家!

更新

我能够通过将我的弹性搜索版本更改为6.7.0来成功运行它。但是现在我收到以下错误

org.elasticsearch.ElasticsearchStatusException: Elasticsearch exception [type=index_not_found_exception, reason=no such index]

我的POM现在也如下所示。

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

上一个method that does not exist.问题已通过将 elasticsearch 版本更改为6.7.0来解决。

为了避免这些不兼容问题,它始终建议使用相同版本的 elasticsearch 服务器及其客户端。

我遇到了完全相同的问题,我使用的是弹性搜索 6.8.18。 如前所述,通过在 Gradle 中使用以下内容更改了弹性搜索的版本。

ext['elasticsearch.version'] = '6.8.18'

使用它作为参考 - 覆盖依赖项版本

相关内容

  • 没有找到相关文章

最新更新