我一直在開發一個簡單的使用spring引導,彈性搜索和彈性數據彈性搜索的java編程。兼容版本的Spring引導,elasticsearch和彈簧數據elasticsearch
我能夠做成功彈性搜索下方版本 1)春季啓動1.3.5 2)彈簧數據elasticsearch 1.3.4.RELEASE 3)elasticsearch 1.3.2
但是當我升級到了下面的版本,與@Service註釋顯示錯誤標註爲
我的服務類的一個「類型 org.elasticsearch.search.suggest.SuggestBuilder $ SuggestionBuilder 不能得到解決。它是間接引用從要求d .class 文件「。
1) spring boot 1.5.1.RELEASE
2) spring-data-elasticsearch 2.1.0.RELEASE
3) elasticsearch 5.0.1
4) org.elasticsearch.client.transport 5.1.1
是不兼容verions問題?如果是的話,請幫助我彈簧引導,彈性搜索和彈簧數據彈性搜索的兼容版本。
非常感謝你安迪。 正如您建議從我的pom文件中刪除所有重寫的版本,並且jar版本現在由spring引導進行管理 overidden org.elasticsearch.client.transport 5.1.1版本對於創建TransportClient對象很有用。 當iam試圖運行我的spring啓動應用程序,得到異常爲「java.lang.ClassNotFoundException:org.elasticsearch.plugins.NetworkPlugin」。請你幫我理解這個問題。 – shekar
這是iam用於創建TransportClient對象的一段代碼 \t \t \t Settings settings = Settings.builder()。put(「cluster.name」,「elasticsearch」)。build(); \t TransportClient client = new PreBuiltTransportClient(settings); (新的InetSocketAddress(「localhost」,9300)));這個新的InetSocketTransportAddress(new InetSocketAddress(「localhost」,9300))); \t返回客戶端; – shekar
嘗試刪除PreBuildTransportClient和替換隻是TransportClient.builder()..,這樣的事情 - > @Bean \t公共Client客戶端()拋出的UnknownHostException { \t \t \t \t \t \t \t \t \t設置設置=設置.builder() \t \t \t \t .put(「cluster。名」, 「elasticsearch」) \t \t \t \t .build(); \t \t TransportClient客戶= TransportClient.builder()設定(設置).build() \t \t .addTransportAddress(新InetSocketTransportAddress(InetAddress.getByName( 「127.0.0.1」),9200)); \t \t \t return client; \t} – arielduarte