【问题标题】:Java ElasticSearch example using TransportCilent使用 TransportCilent 的 Java ElasticSearch 示例
【发布时间】:2018-06-14 00:31:52
【问题描述】:

以下代码解释了 Java 和 ElasticSearch 之间的通信
使用传输客户端。当我运行时,我得到 org.elasticsearch.nodedisconnectedException。任何给出的 Java Elasticsearch 的明确示例都将不胜感激,或者任何人都可以帮助我找到解决方案。

public static Client function() {
    Settings setting = ImmutableSettings.settingsBuilder().put("cluster.name", "localtestsearch").build();
    client = new TransportClient();
    client = client.addTransportAddress(new InetSocketTransportAddress("localhost", 9300));
    return client;

}

public static void main(String[] args) {

    System.out.println("In Main Method");

    try {
        System.out.println("In try block");
        Client client = new TransportClient()
                .addTransportAddress(new InetSocketTransportAddress("localhost",
                        9300));


        System.out.println("Connected");

        client.close();

        Settings settings = ImmutableSettings.settingsBuilder()
                .put("client.transport.sniff", true).build();
        TransportClient client1 = new TransportClient(settings);


        org.elasticsearch.node.Node node = nodeBuilder().node();
        System.out.println("Node " + node);

        Client client = node.client();

        System.out.println("calling Client from Node " + client);

        node.close();
        System.out.println("Node CLosed");
    } catch (Exception ex) {
        ex.printStackTrace();
    }

}

}

【问题讨论】:

标签: java json elasticsearch


【解决方案1】:
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.transport.InetSocketTransportAddress;

public class Test {
   public static void main(String[] args) {
       TransportClient client = new TransportClient();

       for(String host: client.settings().getAsArray("transport.client.initial_nodes")) {
           int port = 9300;

          // or parse it from the host string...
           String[] splitHost = host.split(":", 2);
           if(splitHost.length == 2) {
               host = splitHost[0];
               port = Integer.parseInt(splitHost[1]);
           }

           client.addTransportAddress(new InetSocketTransportAddress(host, port));
       }

       // ...
   }
}

【讨论】:

    猜你喜欢
    • 2020-02-13
    • 1970-01-01
    • 2016-08-04
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    • 2016-11-14
    • 1970-01-01
    • 2013-07-04
    相关资源
    最近更新 更多