多个弹性搜索索引

Kyl*_*cot 1 ruby-on-rails ruby-on-rails-3 elasticsearch tire

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

如何让我的生产和登台实例使用单独的实例?

Joh*_*non 5

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

class Article < ActiveRecord::Base

  include Tire::Model::Search
  include Tire::Model::Callbacks

  index_prefix "#{Rails.env}" 

  ...
Run Code Online (Sandbox Code Playgroud)

那么这将创建一个索引命名development_articles,production_articles等,这是重要的中index_prefix自带的轮胎包括后.

或者完全重命名索引

class Article < ActiveRecord::Base

  include Tire::Model::Search
  include Tire::Model::Callbacks

  index_name "My-Development-Article-Index" 

  ...
Run Code Online (Sandbox Code Playgroud)