首页 > 解决方案 > 连接多个不同用户名和密码的elasticsearch主机

问题描述

根据 spring data elasticsearch参考文档,我们可以有多个逗号分隔的主机,但它需要一个用户名和密码。是否可以为每个主机配置不同的用户名和密码?

例如,localhost:9200 -> username=user1 & password=password1, localhost:9300 ->username=username2 & password=password2

我正在使用带有 elasticsearch starter 的 Spring Boot 2.5.2(内部使用 elasticsearch 4.2.x)

标签: javaspring-bootelasticsearchspring-data-elasticsearch

解决方案


配置中的多个主机是同一个集群中的多个节点,在那里你只有用户名/密码。

您主要可以ElasticsearchRestTemplate通过编程方式创建多个实例,以提供ResHighLevelClients您必须自己创建的不同实例,但这不适用于存储库,因为您需要一个 bean 类型ElasticsearchOperations。仅通过提供一些配置是不可能的,但您需要自己设置这些。


推荐阅读