首页/云/可观测性速查/索引模板与自动应用
日志平台52 条

索引模板与自动应用

模板为匹配模式的索引预设分片、映射与生命周期:新索引创建时自动套用,日志类“每天一个索引”的场景靠它统一配置。

可观测性速查云更新于 2026-10-13

索引模板是什么

索引模板为匹配特定模式的索引预设分片数、映射与生命周期策略:新索引创建时自动套用。日志类「每天一个索引」的场景几乎都靠它统一配置,否则每建一个索引都要重复设置分片、字段类型与保留策略,稍有遗漏就会出现类型冲突或存储失控。

基本信息

推荐形式组合模板 _index_template(7.8+)
匹配方式index_patterns 通配
优先级priority 数值大者生效
可设置内容settings、mappings、aliases
生效范围只影响新建索引
配套能力index.lifecycle.name 引用 ILM 策略

典型使用场景

  • 为 logs-* 的每日索引统一设置分片数与副本数
  • 预设字段类型(时间字段为 date、service 为 keyword)避免动态映射乱猜
  • 在模板里引用 ILM 策略,让新索引自动进入生命周期管理
  • 为不同业务线建立各自的模板,隔离分片与保留策略
  • 版本升级时用模板为新索引引入新字段
  • 排查字段类型冲突时确认是哪个模板在生效

组合模板(7.8+ 推荐)

组合模板(7.8+ 推荐)
PUT _index_template/logs-template
{
  "index_patterns": ["logs-*"],
  "priority": 100,
  "template": {
    "settings": {
      "number_of_shards": 1,
      "number_of_replicas": 1,
      "index.lifecycle.name": "logs-policy"   # 引用 ILM 策略
    },
    "mappings": {
      "properties": {
        "@timestamp": { "type": "date" },
        "service": { "type": "keyword" }
      }
    }
  }
}

字段说明

字段作用注意
index_patterns匹配索引名支持通配符
priority优先级数值大的模板优先
template.settings索引设置分片、副本、ILM
template.mappings字段映射显式定义关键字段
composed_of组件模板组合模板可拆分复用
模板按 index_patterns 匹配加 priority 决胜;旧式 _template 仍可用但推荐组合模板,后者支持组件模板与更清晰的优先级语义。
模板只影响新建索引,已有索引不会追溯变更;索引名要预留模式位(如按天、按周),否则模板匹配可能失灵。
多个模板优先级冲突时不易察觉,用查询模板接口核对生效配置,比凭印象判断可靠。
字段映射一旦确定就不能随意改类型(如 text 改成 keyword 需要重建索引),关键字段应在模板里预先定义好。

易错点

  • 模板只影响新建索引,已有索引不会追溯变更,容器化索引名要留出模式位
  • 多个模板优先级冲突时不易察觉,用查询接口核对生效配置
  • 关键字段依赖动态映射会让类型被猜错(如数字被存成字符串),后续无法做范围查询
  • 映射类型冲突会导致写入失败,且需要重建索引才能修正,代价很高
  • 模板里引用不存在的 ILM 策略不会立即报错,索引创建后会缺少生命周期管理

数据来源与参考

  • Elastic 官方文档 · Index templates
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌