如何使用节点客户端连接到elasticsearch中的不同主机

how to connect to different Hosts in elasticsearch using Node Client

我正在使用 ElasticSearch 节点客户端执行查询,但我想连接到与本地主机不同的 IP 地址,我想实现这个

Client client = TransportClient.builder().build()
        .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host1"), 9300))
        .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host2"), 9300));

节点客户端中的东西

Node node = nodeBuilder().clusterName("yourcluster").client(true).node();
Client client = node.client();

请帮助我,我想与其他主机一起使用 Node Client 而不是 TransportClient

节点客户端自动发现集群的所有节点,因为它实际上是集群本身的一部分,您不需要手动列出主机。但是,如果您的集群驻留在无法自动发现的另一个网络中,您也可以指定至少一个集群主机与设置。

Settings.Builder settings = Settings.builder()
.put("path.home", ".")
.put("discovery.zen.ping.unicast.hosts","192.168.1.1");

Node node = NodeBuilder.nodeBuilder().settings(settings)
      .clusterName("elasticsearch")
      .client(true)
      .node();

https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html