java - 连接多个不同用户名和密码的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)
解决方案
配置中的多个主机是同一个集群中的多个节点,在那里你只有用户名/密码。
您主要可以ElasticsearchRestTemplate
通过编程方式创建多个实例,以提供ResHighLevelClients
您必须自己创建的不同实例,但这不适用于存储库,因为您需要一个 bean 类型ElasticsearchOperations
。仅通过提供一些配置是不可能的,但您需要自己设置这些。
推荐阅读
- three.js - three.js 拾取对象缩放以适合对象
- concurrency - 如何在 apache Airflow 中并行运行任务
- github - 使用 GitHub API 订阅拉取请求评论
- leaflet - Leaflet.js 白线网格
- c++ - 在类外重载赋值运算符
- json - 如何使用 SED 转换 JSON 中的数据格式
- ruby-on-rails - 允许用户指定自己的邮件服务器设置。带有 ActionMailer 的 Rails 5.x
- dji-sdk - 强制 osdk 以 100% 保证的方式返回控制权
- javascript - 谁能告诉我为什么会发生 MySQL 语法错误?
- react-native - redux saga dispatch 可以立即返回 api 结果而不是返回 action