Я решил эту проблему путем создания ролловеров с помощью управления жизненным циклом индекса (ILM) и шаблонов индекса. Большую часть информации можно найти здесь: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-rollover-index.html
Однако суть этого:
Создание ILM
Создание шаблона индекса с псевдонимом ролловера:
PUT _template/example-template-name
{
"index_patterns": [
"example-index-*"
],
"settings": {
"index": {
"lifecycle": {
"name": "name-of-lifecycle-created-earlier",
"rollover_alias": "example-index-name"
}
}
}
}
Затем создайте первый индекс с псевдонимом ролловера. Лично я использую систему даты ролловера с URL-кодировкой:
PUT /%3Cexample-index-name-%7Bnow%2Fd%7D-1%3E
{
"aliases": {
"example-index-name": {
"is_write_index" : true
}
}
}
После этого просто пишите псевдоним, а не сам индекс. Он автоматически назначит правильный индекс и ролловер при достижении пределов ILM.