灿Elasticsearch Java客户端在运行时进行更新?

时间:2019-02-01 17:42:20

标签: java spring elasticsearch

我有Elasticsearch RestHighLevelClient豆由Spring时,我的应用程序启动初始化工作。现在我想给用户更改在运行时Elasticsearch连接的能力。

我不知道是否有任何的优雅的方式来更新从Java客户端Elasticsearch节点的连接(或者是低级别或高级别)。而且,优雅我的意思是不必为每个操作都重新打开客户端,也不需要带有标志来通知有更新。

2 个答案:

答案 0 :(得分:0)

我认为Elasticsearch不会有这种可能性。

您正在寻找的解决方案可能是Connection Pool。如前所述,您希望避免为每个操作重新打开连接,Connection Pool允许您保留一些打开的连接。这是管理许多数据库连接的常用模式。

答案 1 :(得分:0)

您可以在Spring配置中定义几个ES客户端Bean,并限定(例如@Qualifier("one"))它们。然后,在运行时,您可以使用ApplicationContext#getBean()方法手动查找最佳客户端