elasticsearch,Ruby On Rails,elasticsearch" /> elasticsearch,Ruby On Rails,elasticsearch" />

Ruby on rails 我们可以在运行时动态更改到ElasticSearchServer on Rails应用程序的连接吗

Ruby on rails 我们可以在运行时动态更改到ElasticSearchServer on Rails应用程序的连接吗,ruby-on-rails,elasticsearch,Ruby On Rails,elasticsearch,我有2台elasticsearch服务器。在我的rails应用程序中,我可以在运行时更改与Elasticsearch服务器的连接吗? 例如 -如果用户1登录应用程序,则应连接到elasticsearch服务器1 -如果用户2登录应用程序,则应连接到elasticsearch服务器2 谢谢您可以在创建连接时使用随机化\u主机 args = { hosts: "https://host1.local:9091,https://host2.local:9091", adapter: :http

我有2台elasticsearch服务器。在我的rails应用程序中,我可以在运行时更改与Elasticsearch服务器的连接吗? 例如 -如果用户1登录应用程序,则应连接到elasticsearch服务器1 -如果用户2登录应用程序,则应连接到elasticsearch服务器2


谢谢

您可以在创建连接时使用
随机化\u主机

args = {
  hosts: "https://host1.local:9091,https://host2.local:9091",
  adapter: :httpclient,
  logger: (Rails.env.development? || Rails.env.test?) ? Rails.logger : nil,
  reload_on_failure: false,
  randomize_hosts: true,
  request_timeout: 5
}

client = Elasticsearch::Client.new(args)


与循环赛不同的主机选择策略。您可以实现自己的想法。

为什么要这样做?您将如何管理连接池?我的客户希望这样做。我只是调查有没有可能做到这一点