多个Elasticsearch索引
我在同一个Ubuntu服务器上有一个Rails 3应用程序的暂存和生产实例(使用轮胎gem)。 似乎这两个实例都共享相同的弹性搜索索引,这显然不是我想要的。
如何让我的生产和登台实例使用单独的实例?
您需要覆盖索引名称。 假设您正在使用ActiveRecord,它将根据相关模型创建索引名称。 你可以用这样的前缀调整名称;
class Article < ActiveRecord::Base include Tire::Model::Search include Tire::Model::Callbacks index_prefix "#{Rails.env}" ...
然后会创建一个名为development_articles
, production_articles
等的索引。在Tire包含之后, index_prefix
很重要。
或者完全重命名索引
class Article < ActiveRecord::Base include Tire::Model::Search include Tire::Model::Callbacks index_name "My-Development-Article-Index" ...