首页/数据/NoSQL 速查/_cat/templates 查看索引模板
Elasticsearch89 条

_cat/templates 查看索引模板

列出集群中的索引模板及其匹配规则与优先级,用于排查新索引用错模板、模板冲突与 legacy 模板残留。

NoSQL 速查数据更新于 2026-10-13

_cat/templates 是什么

_cat/templates 列出集群中的索引模板及其匹配规则与优先级,用来排查新建索引用错模板、模板冲突与旧版遗留模板。关键列有 name、index_patterns、order、version、composed_of。它给的是概览,要看模板体还得用 GET /_index_template/<name>。组合式模板与旧版模板的优先级机制不同,冲突时高优先级覆盖低优先级,光看 _cat 的输出很难判断索引最终生效的设置。

基本信息

接口GET /_cat/templates?v&s=order:desc,index_patterns
关键列name、index_patterns、order、version、composed_of
查看模板体GET /_index_template/<name>
新旧机制旧版 legacy 模板与组合式模板可以并存
验证手段GET <index>/_settings 与 _mapping 看最终生效值

典型使用场景

  • 排查用错模板:新索引的分片数或 mapping 不符合预期时
  • 整理模板冲突:多个模板匹配同一模式,按优先级判断谁生效
  • 清理遗留:找出仍依赖旧版模板的索引,评估迁移计划
  • 变更前评估:改模板前先看清有哪些索引模式会受影响
  • 巡检规范:统一模板命名与版本字段,降低维护成本

查看与验证

查看与验证
GET /_cat/templates?v&s=order:desc,index_patterns   # 按优先级排序查看

GET /_index_template/logs_template                   # 查看模板完整内容

GET /logs-2026.10.01/_settings                       # 核对最终生效的分片与刷新设置

GET /logs-2026.10.01/_mapping                        # 核对最终生效的字段定义

输出的列读法

列含义注意
name模板名命名规范有助于排查冲突
index_patterns匹配的索引模式模式重叠是冲突根源
order优先级旧版模板中数值越大越优先
version模板版本自行维护,用于识别新旧
composed_of引用的组件模板组合式模板才有这一列
名字相似的多个模板同时匹配一个索引时,从 _cat/templates 很难看出最终效果,必须 GET 该索引的 _settings 与 _mapping 核对实际生效值。
旧版模板与组合式模板可以并存,清理时要确认没有索引仍依赖旧版模板,直接删除可能让后续新建索引丢掉分片与 mapping 设置。

易错点

  • 名字相似的多个模板同时匹配一个索引时,难以从 _cat/templates 看出最终效果,需核对索引的 settings 与 mapping
  • 旧版模板与组合式模板并存,清理前要确认没有索引仍依赖旧版模板
  • order 主要对旧版模板生效,组合式模板走另一套优先级机制,套用旧经验会判断错
  • 只改模板不回填存量索引:模板只影响新建索引,已有索引需要单独更新设置

数据来源与参考

  • Elasticsearch Guide: cat templates API
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌