NodeBuilder 还可用于连接到群集。
Node node = nodeBuilder().clusterName("yourcluster").client(true).node();
Client client = node.client();
它将作为另一个节点加入群集,并将了解整个拓扑。使用节点,可以使用多播来发现其他正在运行的节点。
我的观点是,我更喜欢使用,而不是因为当传输客户端停止时,其他群集节点不会收到无用的信息。当NodeClient停止时,每个节点都必须知道,即使他们不必管理它,因为它不保存任何数据。另外,我已经看到在调试模式下,NodeClient比TransportCLient启动得更多。所以我认为TransportClient的内存占用量较小。TransportClient
NodeClient
Threads
顺便说一句,如果您使用的是Spring,则可以使用spring-elasticsearch工厂。如果没有,您可以随时查看源代码,以了解我如何管理NodeClient与TransportClient。
希望这有帮助。
编辑 2016-03-09: 不应使用。如果需要,人们应该创建一个客户端节点(使用 和 启动弹性搜索节点),并使用 a 在本地连接到它。NodeClient
node.data: false
node.master: false
TransportClient