我是 Elasticsearch 的新手,我在我的应用程序中使用 Elasticsearch。我的应用程序具有以下与 ES 交互的代码。
- Client (Singleton)
if(client==null) {
client = new TransportClient().addTransportAddress(new InetSocketTransportAddress(host,port.toInteger()))
}
此客户端在整个应用程序中使用,并在应用程序关闭时销毁。我不会在其他任何地方关闭客户端。最近,我开始面临“无可用节点”异常。我尝试深入研究,发现有些人在每次操作后都在谈论关闭连接。所以我的问题是,Java 客户端实际上是如何工作的?它是否会创建与集群的连接并使其保持活动状态(直到指定超时)以被重用或每次它倾向于创建新连接?