--- title: "查询索引模板(Cat格式)" date: 2026-01-05 lastmod: 2026-01-05 description: "以表格形式查询索引模板" tags: ["索引模板", "查询", "Cat API"] summary: "以紧凑的表格形式返回集群中的索引模板信息。 API 格式 # GET /_cat/templates GET /_cat/templates/{name} API 作用 # 该 API 以表格形式返回索引模板信息: 显示所有模板或匹配指定名称的模板 支持 v1 和 v2 索引模板 显示模板的索引模式、优先级、组件等信息 API 参数 # 路径参数 # 参数 类型 是否必填 默认值 描述 {name} String 否 - 模板名称匹配模式 查询参数 # 参数 类型 是否必填 默认值 描述 format String 否 文本表格 响应格式(如 json、yaml) local Boolean 否 false 是否仅返回本地信息,不从主节点获取状态 master_timeout Time 否 集群默认 连接主节点的超时时间 h String 否 所有列 逗号分隔的列名列表,指定要显示的列 help Boolean 否 false 是否返回帮助信息 s String 否 - 逗号分隔的列名或别名,用于排序 v Boolean 否 false 是否显示列标题(详细模式) 响应列说明 # 列名 别名 描述 name n 模板名称 index_patterns t 模板的索引模式 order o, p 模板应用顺序/优先级数字 version v 版本号 composed_of c 组成索引模板的组件模板 lifecycle life 模板生命周期名称 rollover rollover 生命周期滚动别名 请求示例 # 查询所有模板 # GET /_cat/templates?" --- 以紧凑的表格形式返回集群中的索引模板信息。 ## API 格式 ``` GET /_cat/templates GET /_cat/templates/{name} ``` ## API 作用 该 API 以表格形式返回索引模板信息: - 显示所有模板或匹配指定名称的模板 - 支持 v1 和 v2 索引模板 - 显示模板的索引模式、优先级、组件等信息 ## API 参数 ### 路径参数 | 参数 | 类型 | 是否必填 | 默认值 | 描述 | |------|------|----------|--------|------| | `{name}` | String | 否 | - | 模板名称匹配模式 | ### 查询参数 | 参数 | 类型 | 是否必填 | 默认值 | 描述 | |------|------|----------|--------|------| | `format` | String | 否 | 文本表格 | 响应格式(如 `json`、`yaml`) | | `local` | Boolean | 否 | `false` | 是否仅返回本地信息,不从主节点获取状态 | | `master_timeout` | Time | 否 | 集群默认 | 连接主节点的超时时间 | | `h` | String | 否 | 所有列 | 逗号分隔的列名列表,指定要显示的列 | | `help` | Boolean | 否 | `false` | 是否返回帮助信息 | | `s` | String | 否 | - | 逗号分隔的列名或别名,用于排序 | | `v` | Boolean | 否 | `false` | 是否显示列标题(详细模式) | ## 响应列说明 | 列名 | 别名 | 描述 | |------|------|------| | `name` | `n` | 模板名称 | | `index_patterns` | `t` | 模板的索引模式 | | `order` | `o`, `p` | 模板应用顺序/优先级数字 | | `version` | `v` | 版本号 | | `composed_of` | `c` | 组成索引模板的组件模板 | | `lifecycle` | `life` | 模板生命周期名称 | | `rollover` | `rollover` | 生命周期滚动别名 | ## 请求示例 ### 查询所有模板 ``` 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 格式响应 ```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`