多个弹性搜索索引 [英] Multiple Elasticsearch Indexes
问题描述
如何让我的制作和分段实例使用单独的实例?
您需要覆盖索引名称。假设您绑定到ActiveRecord,它将根据所讨论的模型创建一个索引名称。您可以使用如下前缀调整名称:
类文章< ActiveRecord :: Base
include Tire :: Model :: Search
include Tire :: Model :: Callbacks
index_prefix#{Rails.env}
...
然后,它将创建一个名为 development_articles
, production_articles
等。轮胎包含的 index_prefix
。
或者可以将索引重新命名为
ActiveRecord :: Base
include Tire :: Model :: Search
include Tire :: Model :: Callbacks
index_nameMy-Development-Article-Index
...
I have a staging & production instance of a Rails 3 application (using the tire gem) on the same Ubuntu server. It appears that both of these instances are sharing the same elasticsearch index which obviously isn't what I want.
How can I get my production and staging instances to use separate instances?
You need override the index name. Assuming you're tying into ActiveRecord it will create an index name based on the model in question. You could adjust the name with a prefix like so;
class Article < ActiveRecord::Base
include Tire::Model::Search
include Tire::Model::Callbacks
index_prefix "#{Rails.env}"
...
which would then create an index named development_articles
, production_articles
etc. It's important the the index_prefix
comes after the Tire includes.
Or alternatively rename the index entirely
class Article < ActiveRecord::Base
include Tire::Model::Search
include Tire::Model::Callbacks
index_name "My-Development-Article-Index"
...
这篇关于多个弹性搜索索引的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!