ElasticSearch - alias auto update for rolling index

Yep, you can use a template.

PUT /_template/my_elmah_template
{
  "template" : "elmah_*",
  "alias" : {
    "elmah_all" : { }
  }
}

The empty object is a necessary evil because JSON expects field : value.

Whenever a matching index (based on the template parameter) is created, then it will automatically apply the template to it. In this case, the only thing that the template is doing is to add an alias to it.

You can also use a template to set settings and mappings.


The answer provided by pickypg is correct, but has a minor error. Should be "aliases" as in:

   PUT /_template/my_elmah_template
   {
       "template" : "elmah_*",
       "aliases" : {
             "elmah_all" : { }
       }
   }