elasticsearch 别名 rails

elasticsearch alias with rails

我正在使用 rails 和 elasticsearch,感谢 elasticsearch-rails gem ( https://github.com/elastic/elasticsearch-rails/tree/master/elasticsearch-persistence )

我正在使用文档中描述的存储库模型,我可以更改索引,但是是否可以使用 ES 的别名功能?如果是这样,如何? 示例:

require 'elasticsearch/persistence'
repository = Elasticsearch::Persistence::Repository.new
repository.index = "myindex" 

工作正常,但没有说明如何创建别名

client = Elasticsearch::Client.new 
# or other es client
client.indices.update_aliases body: {
  actions: [
    { add: { index: 'your_index_name', alias: 'your_alias_name' } }
  ]
}

无需停机即可更新别名

client = Elasticsearch::Client.new 
# or other es client
client.indices.update_aliases body: {
  actions: [
{ remove: { index: 'your_old_index_name', alias: 'your_alias_name' } },
{ add: { index: 'your_new_index_name', alias: 'your_alias_name' } }
]
}