如何使 ElasticSearch Client 在应用程序范围内可用?

How do I make ElasticSearch Client available application wide?

我在 Rails 应用程序中使用 elasticsearch_ruby。我选择不使用 elasticsearch_rails 因为我不想与我的 ActiveRecord 对象如此紧密地集成。

使用elasticsearch_rubyelasticsearch_transport,新客户端创建如下:

client = ElasticSearch::Client.new(log:true)

如何使此客户端可在应用程序范围内访问。 我只想创建一次实例,然后在应用程序范围内使用它。

执行此操作的最佳做​​法是什么?

看来我明显遗漏了什么。

使用初始化器
1.在configuration/initializer/elasticsearch.rb
下创建一个文件 2. 像 $elasticsearch_client=ElasticSearch::Client.new(log:true)
一样初始化你的客户端 3. 在您的 rails 应用

中的任何位置使用此 $elasticsearch_client