📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

以紧凑的表格形式返回集群中的索引模板信息。

API 格式 #

GET /_cat/templates
GET /_cat/templates/{name}

API 作用 #

该 API 以表格形式返回索引模板信息:

  • 显示所有模板或匹配指定名称的模板
  • 支持 v1 和 v2 索引模板
  • 显示模板的索引模式、优先级、组件等信息

API 参数 #

路径参数 #

参数类型是否必填默认值描述
{name}String-模板名称匹配模式

查询参数 #

参数类型是否必填默认值描述
formatString文本表格响应格式(如 jsonyaml
localBooleanfalse是否仅返回本地信息,不从主节点获取状态
master_timeoutTime集群默认连接主节点的超时时间
hString所有列逗号分隔的列名列表,指定要显示的列
helpBooleanfalse是否返回帮助信息
sString-逗号分隔的列名或别名,用于排序
vBooleanfalse是否显示列标题(详细模式)

响应列说明 #

列名别名描述
namen模板名称
index_patternst模板的索引模式
ordero, p模板应用顺序/优先级数字
versionv版本号
composed_ofc组成索引模板的组件模板
lifecyclelife模板生命周期名称
rolloverrollover生命周期滚动别名

请求示例 #

查询所有模板 #

GET /_cat/templates?v

查询指定模板 #

GET /_cat/templates/logs*?v

JSON 格式响应 #

GET /_cat/templates?format=json

选择显示列 #

GET /_cat/templates?h=name,index_patterns,order&v

响应示例 #

文本表格格式(verbose 模式) #

name             | index_patterns | order | version | composed_of | lifecycle | rollover
-----------------+----------------+-------+---------+-------------+-----------+----------
my-template      | [logs-*]       | 100   | 1       | []          |           |
composed-template | [metrics-*]    | 200   | 1       | [base]      | logs      | metrics-rollover
system-template  | [.system-*]     | 50    |         | []          |           |

JSON 格式响应 #

[
  {
    "name": "my-template",
    "index_patterns": ["logs-*"],
    "order": "100",
    "version": "1",
    "composed_of": [],
    "lifecycle": "",
    "rollover": ""
  },
  {
    "name": "composed-template",
    "index_patterns": ["metrics-*"],
    "order": "200",
    "version": "1",
    "composed_of": ["base"],
    "lifecycle": "logs",
    "rollover": "metrics-rollover"
  }
]

模板类型说明 #

该 API 同时支持两种类型的索引模板:

v1 索引模板 (IndexTemplateMetadata) #

  • 标准索引模板
  • 包含模式、设置和映射
  • 使用 order 字段决定应用顺序

v2 可组合索引模板 (ComposableIndexTemplate) #

  • 由组件模板组成
  • 使用 composed_of 字段
  • 支持版本控制
  • 可关联生命周期策略

使用场景 #

  1. 快速查看:以紧凑格式查看所有模板
  2. 模式检查:检查模板的索引匹配模式
  3. 优先级验证:确认模板的应用顺序
  4. 组件依赖:查看可组合模板的组件依赖

注意事项 #

  1. v 参数:使用 ?v 显示列标题,提高可读性
  2. 类型支持:同时显示 v1 和 v2 模板
  3. 名称过滤:使用路径参数过滤特定模板
  4. 格式选择:JSON 格式更适合程序处理

相关操作 #

  • GET /_template:获取详细模板信息
  • PUT /_template/{name}:创建 v1 模板
  • PUT /_index_template/{name}:创建 v2 模板
  • GET /_component_template:查询组件模板

实现文件 #

  • REST 处理器RestTemplatesAction.java
  • API 规范cat.templates.json
  • 基础类AbstractCatAction.java