2017-07-07 6 views
1

Elasticsearchバージョン1.7.2を使用していて、Elasticsearch 5.4-3と同じコードを使用しているときには、ImmutableSettingsの定義が表示されません。Elastic検索5.4をjavaのtcpに接続するには?

Client client = null; 
    try { 
     Settings settings = ImmutableSettings.settingsBuilder() 
       .put("client.transport.ignore_cluster_name", true) 
       .put("client.transport.sniff", false) 
       .build(); 
    System.out.print("true"); 
     client = new TransportClient(settings) 
     .addTransportAddress(new InetSocketTransportAddress("10.196.2.215", 9300)); 
} 

Elasticsearch 5.4-3 /設定/ elasticserch.ymlファイルには、TCPの設定もありません

答えて

2

あなたが質問で指定したバージョン間の主な変更点があります。 5.4.3バージョンで正常に接続を作成する場合は、次のコードスニペットを参照してください。

import org.elasticsearch.action.get.GetResponse; 
import org.elasticsearch.client.transport.TransportClient; 
import org.elasticsearch.common.settings.Settings; 
import org.elasticsearch.common.transport.InetSocketTransportAddress; 
import org.elasticsearch.transport.client.PreBuiltTransportClient; 

import java.net.InetAddress; 
import java.net.UnknownHostException; 

public class ElasticSearchClientTest { 
    public void clientConnectionTest() throws UnknownHostException { 

     // Use any settings here (As you mentioned in the code) 
     Settings settings = Settings.builder() 
       .put("cluster.name", "elasticsearch") 
       .put("client.transport.sniff", true) 
       .put("sniffOnConnectionFault", true).build(); 

     TransportClient client = new PreBuiltTransportClient(settings); 

     // Change the ip address or the host name accordingly. 
     client.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300)); 
    } 
} 

次の依存関係をpom.xmlファイルで使用します。

<dependency> 
    <groupId>org.elasticsearch</groupId> 
    <artifactId>elasticsearch</artifactId> 
    <version>5.4.3</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.elasticsearch.client</groupId> 
    <artifactId>transport</artifactId> 
    <version>5.4.3</version> 
</dependency> 
+0

@Hiranあなたのコメントのために...私はこれを試してみましたが、それは例外で、「スレッドの例外 『メイン』 java.lang.UnsupportedClassVersionError以下の私をgavesありがとう:ORG/elasticsearch /クライアント/輸送/のtransportClient:サポートされていない主要な.minor version 52.0 " – user2778724

+0

@ user2778724 - これはmavenエラーです。他のすべてのelasticsearch依存関係をpom.xmlファイルから削除してもう一度やり直してください。 –

+0

@ user2778724 - 私が答えで言及しているelasticsearchの依存関係のみを保持し、他のすべてのelasticsearch関連の依存関係を削除します。 –

関連する問題