一尘不染

在Spring Boot中找不到Elasticsearch方法

elasticsearch

我已经在这个问题上停留了一段时间,我们将为您提供任何帮助。我正在运行2.2.0带有ElasticSearch高级REST客户端版本的Spring
Boot版本,6.4.3并将版本3.2.0用于Spring-Data-
Elasticsearch版本。我收到下面的错误。我已经尝试了以下修复方法,但没有解决。

  1. 多次更改Spring Boot版本
  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:文件:/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

它是从以下位置加载的:文件:/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的单个兼容版本。

我的POM在下面

    <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>

任何帮助表示赞赏。我确定它必须处理兼容性问题,但不能确定哪个。谢谢大家!

更新资料

通过将我的Elasticsearch版本更改为,我能够成功运行它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>

阅读 881

收藏
2020-06-22

共1个答案

一尘不染

method that does not exist.通过将elasticsearch版本更改为,解决了上一期的问题6.7.0

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

2020-06-22