3
votes

I am using rails with elasticsearch, thanks to the elasticsearch-rails gem ( https://github.com/elastic/elasticsearch-rails/tree/master/elasticsearch-persistence )

I am using the repository model as described in the documentation, I can change the index, but is it possible to use the alias feature of ES? If so, how? Example:

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

works fine, but no indication on how to create an alias

2

2 Answers

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

Update alias without downtime

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' } }
]
}