Метод Elasticsearch не найден в весенней загрузке

Я уже какое-то время застрял в этой проблеме, и любая помощь приветствуется. Я использую версию Spring Boot 2.2.0 с высокоуровневой версией REST-клиента ElasticSearch 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 / index / 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>

person Mohamed Ali    schedule 31.05.2020    source источник
comment
какую версию elasticsearch вы используете, вы можете получить ее по адресу curl localhost: 9200 на сервере elasticsearch.   -  person    schedule 01.06.2020
comment
проверьте обновление пожалуйста @PrernaGupta   -  person Mohamed Ali    schedule 01.06.2020
comment
Рад, что теперь вы смогли запустить код, и это исключение отличается, я бы написал ответ на предыдущую проблему и посоветовал бы задать дополнительный вопрос с соответствующими деталями (код, который вызывает index_not_found_exception ) и был бы более чем счастлив помочь вам с этой необходимой информацией.   -  person    schedule 01.06.2020
comment
я должен задать еще один вопрос @PrernaGupta из-за новой ошибки, которую я получаю?   -  person Mohamed Ali    schedule 01.06.2020
comment
Да, пожалуйста, и напишите мне ссылку с вопросом   -  person    schedule 01.06.2020


Ответы (1)


Предыдущая проблема method that does not exist. была решена путем изменения версии elasticsearch на 6.7.0.

Чтобы избежать этих проблем несовместимости, всегда рекомендуется использовать одну и ту же версию сервера elasticsearch и его клиента.

person Community    schedule 01.06.2020
comment
Спасибо, Прерна. Убедитесь, что ваши версии совпадают, иначе у вас возникнут проблемы с совместимостью. - person Mohamed Ali; 01.06.2020
comment
@CodeMonkey рада, что это было полезно, и ждет вашего дополнительного вопроса. - person ; 01.06.2020