7
votes

Comment configurer le démarrage de printemps avec Elasticsearch 5.2.1?

J'essaie de connecter mon application de démarrage de printemps à l'instance locale ElasticsSeSearch 5.2.1. Quand je l'utilise " org.springframework.boot: printemps-boot-démarreur-data-ElasticSearch strong>" dépendance, je fais face avec « Message reçu de la version non prise en charge: [2.0.0] version compatible minimale est: [5.0.0] strong> ". Je pense que cela est dû à la version élastiquearch est 2.4.4 dans la dépendance du démarreur. Donc, pour résoudre cette erreur, je modifie les propriétés pom.xml en ajoutant elasticsearch.version> 5.2.1 / Elasticssearch.version> strong> ligne. Mais cette fois je reçois " java.lang.noschmethoderror: org.elasticsearch.client.transport.transportclient.builder () strong>"

Pour surmonter ce problème, je crée une classe de configuration personnalisée comme ci-dessous: P>

@Configuration
public class ElasticsearchConfiguration {

@Bean
public Client client() throws UnknownHostException {
    TransportClient client = new PreBuiltTransportClient(Settings.EMPTY)
            .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300));

    return client;
}

@Bean
public ElasticsearchTemplate elasticsearchTemplate() throws UnknownHostException {
    return new ElasticsearchTemplate(client());
}
}


0 commentaires

4 Réponses :


1
votes

J'ai essayé de la même façon et que cette erreur aussi pour CountreQuestBuilder , la raison est que CountreeffestBuilder est désormais obsolète et supprimé des versions de recherche élastique 5.x, cette classe est remplacé par SearchRequestBuilder mais malheureusement printemps-data-elasticsearch Ne fournissez pas cela même dans la dernière version de son pot et que paysquetsbuilder est utilisé dans ElasticsearchTemplate.

Je cherche également une solution. Je vais poster si capable de résoudre.


0 commentaires

4
votes

La page GITUB de Spring-Data-Elasticsecearch montre qu'il est actuellement Prend en charge Elasticsearch uniquement jusqu'à la version 2.4.0.

Pour l'instant, vous avez 3 options:

  • attendez et espérons
  • Checkout the Demande de tir
  • Checkout the Dev Branch 5.0.x-Prep

0 commentaires

2
votes

Vous pouvez utiliser l'API Elasticsearch Java pour créer un client de transport au lieu d'utiliser Spring-Data-Elasticssearch.


0 commentaires

3
votes

Vous devez utiliser le démarrage de printemps 2. Découvrez mon Spring-boot-élasticsearch-5.x exemple.


0 commentaires