ruby-on-rails - 如何使ElasticSearch Client在整个应用程序中可用?

标签 ruby-on-rails ruby elasticsearch elasticsearch-ruby

我在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

关于ruby-on-rails - 如何使ElasticSearch Client在整个应用程序中可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35700660/

相关文章:

ruby-on-rails - Rails 多态命名约定

ruby-on-rails - 使用 Date::DAYNAMES 在 Rails 中显示一周中的几天列表

ruby-on-rails - 在rails中读取pdf错误 "Input must be an IO-like object or a filename error on"

ruby-on-rails - 如何通过 Icalendar gem 获取 RSVP 按钮

elasticsearch - Elasticsearch查询如何交换迁移不同文档中的索引字段值

ruby-on-rails - 时间戳未在 RoR 应用程序中更新

ruby-on-rails - 设置多态关联

swift - : "Errno::ENOENT - No such file or directory @ rb_sysopen - "?如何解决

java - 在 ElasticSearch 中获取 SearchResponse 的结果

elasticsearch - Logstash,与多个索引关联的多个grok