首页 > 解决方案 > 弹性搜索java rest客户端bean创建中的多个客户端连接

问题描述

下面的代码正在创建一个 bean 以连接到弹性搜索集群。使用的客户端是 Java High Level Rest Client。这里已经建立了 2 个具有端口 9200 和 9201 的连接。

假设我在我的本地机器上运行它,其中我启动了弹性搜索集群并且默认端口是 9200,但是如果我们使用多个连接,我们可以实现的用例是什么。

@Override
@Bean
public RestHighLevelClient elasticsearchClient() {

    
    RestHighLevelClient client = new RestHighLevelClient(
            RestClient.builder(
                    new HttpHost("localhost", 9200, "http"),
                    new HttpHost("localhost", 9201, "http")));
    return client;

}

文档中提到了这一点:高级客户端将在内部创建用于基于提供的构建器执行请求的低级客户端。该低级客户端维护一个连接池。

那么池中的这些线程是只与一个集群通信还是有两个集群一个与主机 9200 和另一个与 9201

标签: spring-bootelasticsearchclient

解决方案


推荐阅读