2017-02-27 7 views
5

私はSpring Bootアプリケーションをローカルのelasticsearch 5.2.1インスタンスに接続しようとしています。 「org.springframework.boot:spring-boot-startter-data-elasticsearch」依存関係、私は「と対峙しています」サポートされていないバージョンから受け取ったメッセージ:[2.0.0]最小互換バージョン:[5.0.0] "となります。これは、elasticsearchのバージョンが2.4.4であることによると思います。このエラーを解決するには、elasticsearch.version> 5.2.1/elasticsearch.version>行を追加してpom.xmlプロパティを編集します。しかし、私は 取得この時間:この問題を克服するために "java.lang.NoSuchMethodErrorのorg.elasticsearch.client.transport.TransportClient.builderを()"elasticsearchでSpringブートを設定する方法5.2.1?

は、私は以下のようなカスタム設定クラスを作成します。

@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()); 
} 
} 

今回私はapache.logging.log4j例外(check here)を取得するので、必要な依存関係を追加します。

最後に、私はエラー以下になり、そこにくっついた。誰もがこれで私を助けることができますか?

、ネストされた例外がjava.lang.NoClassDefFoundErrorがある:ORG/elasticsearch /アクション/カウント/ CountRequestBuilder

答えて

1

私は同じことをしようとしたCountRequestBuilderのためにあまりにもそのエラーを取得し、その理由はCountRequestBuilderクラスは廃止され、除去されるということです5.xの弾性検索バージョンから、そのクラスはSearchRequestBuilderに置き換えられましたが残念ながらspring-data-elasticsearchは最新のリリースでもこれを提供せず、CountRequestBuilderがElasticSearchTemplateで使用されています。

私はまた、いくつかの解決策を探しています。解決できる場合は投稿します。

4

spring-data-elasticsearchのgithubページでは現在、バージョン2.4.0までのelasticsearchしかサポートされていません。

今のあなたは3つのオプションがあります。

  • 待ちをし、あなたがelasticsearch Java APIを使用することができるのdevの枝5.0.xのプレップ
2

pull request

  • チェックアウト
  • チェックアウトを願っていますspring-data-elasticsearchを使用する代わりにトランスポートクライアントを作成します。

  • 関連する問題