【问题标题】:Multiple Elasticsearch Indexes多个 Elasticsearch 索引
【发布时间】:2012-07-09 10:00:57
【问题描述】:

我在同一个 Ubuntu 服务器上有一个 Rails 3 应用程序的暂存和生产实例(使用轮胎 gem)。看来这两个实例都共享相同的弹性搜索索引,这显然不是我想要的。

如何让我的生产实例和暂存实例使用不同的实例?

【问题讨论】:

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


    【解决方案1】:

    您需要覆盖索引名称。假设您正在绑定 ActiveRecord,它将根据相关模型创建一个索引名称。您可以使用这样的前缀调整名称;

    class Article < ActiveRecord::Base
    
      include Tire::Model::Search
      include Tire::Model::Callbacks
    
      index_prefix "#{Rails.env}" 
    
      ...
    

    然后将创建一个名为development_articlesproduction_articles 等的索引。重要的是index_prefix 出现在轮胎包含之后。

    或者完全重命名索引

    class Article < ActiveRecord::Base
    
      include Tire::Model::Search
      include Tire::Model::Callbacks
    
      index_name "My-Development-Article-Index" 
    
      ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-12
      • 1970-01-01
      • 1970-01-01
      • 2017-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多