【问题标题】:How do I make ElasticSearch Client available application wide?如何使 ElasticSearch 客户端在应用程序范围内可用?
【发布时间】:2016-06-12 13:22:54
【问题描述】:

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

使用elasticsearch_rubyelasticsearch_transport,创建一个新客户端,如下所示:

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

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

这样做的最佳做法是什么?

我似乎遗漏了一些明显的东西。

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 这就是elasticsearch_ruby用户最接受的方式吗?
    • 我不知道elasticsearch_ruby的用户。但这是 Redis 用于整个应用程序的方式。
    • @JohnLinux 随时分享建议解决方案的结果
    猜你喜欢
    • 1970-01-01
    • 2019-03-07
    • 1970-01-01
    • 2021-05-13
    • 2020-09-18
    • 1970-01-01
    • 2019-05-11
    • 1970-01-01
    • 2012-06-19
    相关资源
    最近更新 更多