首页/数据/NoSQL 速查/_rollover 滚动新索引
本包目录(322 条)
MongoDB99 条
Elasticsearch89 条
ClickHouse56 条时序与列式28 条选型与架构50 条

_rollover 滚动新索引

rollover 在别名指向的写索引满足条件(最大年龄、主分片体积、文档数)时创建递增编号的新索引并把写别名切过去;索引名要符合 -数字 后缀规范。

NoSQL 速查数据更新于 2026-10-12
创建初始索引PUT /<logs-{now/d}-000001> 并配置写别名
手动滚动POST /<write-alias>/_rollover 可显式指定新索引名,不做则自动递增
自动滚动ILM 的 rollover 动作按策略条件调用同一接口

示例

示例
PUT /%3Clogs-%7Bnow%2Fd%7D-000001%3E
{
  "aliases": { "logs-write": { "is_write_index": true } }
}

POST /logs-write/_rollover
{
  "conditions": {
    "max_age": "7d",
    "max_primary_shard_size": "50gb",
    "max_docs": 100000000
  }
}
URL 里的尖括号与花括号是日期数学语法,curl 下需要百分号编码为 %3C %7B 等,否则请求路径无法解析。

易错点

  • 最后一个数字是六位补零才能滚动(000001 而不是 1),编号格式不符时报错
  • 滚动完成前不要提前把写别名指向新索引,避免与自动滚动竞争

数据来源与参考

  • Elasticsearch Guide: Rollover API
  • Elasticsearch Guide: Date math in index names
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌