--- title: "获取索引信息" date: 2026-01-17 lastmod: 2026-01-17 description: "获取指定索引的详细信息,包括别名、映射、设置等" tags: ["索引管理", "索引信息", "元数据"] summary: "获取指定索引的详细信息,包括别名、映射、设置、默认设置和数据流信息。 API # GET /{index} HEAD /{index} API 的作用 # 该 API 用于获取指定索引的详细信息,返回以下内容: 信息类型 描述 aliases 索引的别名列表及其配置 mappings 索引的字段映射定义 settings 索引的自定义设置 defaults 索引的默认设置(需要指定参数) data_streams 数据流信息(如果是数据流) HEAD 方法用于检查索引是否存在,只返回状态码,不返回详细信息。 API 的参数 # 路由参数 # 参数 类型 是否必填 描述 {index} 字符串 必需 索引名称,支持单个索引、逗号分隔的多个索引、通配符表达式或特殊值 _all/* Query String 参数 # 核心参数 # 参数 类型 是否必填 默认值 描述 include_defaults 布尔值 否 false 是否在响应中包含索引的默认设置 human 布尔值 否 false 是否以人类可读的格式返回响应 local 布尔值 否 false 是否从本地节点返回信息,而不去查询主节点 master_timeout 时间值 否 30s 等待主节点响应的超时时间 索引选项参数 # 参数 类型 是否必填 默认值 描述 expand_wildcards 字符串 否 open 控制通配符如何扩展。可选值:open、closed、hidden、none、all ignore_unavailable 布尔值 否 false 如果为 true,忽略不存在的索引而不报错 allow_no_indices 布尔值 否 false 如果为 true,当通配符没有匹配到任何索引时不报错 ignore_throttled 布尔值 否 false 如果为 true,忽略被限流的索引 已废弃的参数 # 参数 类型 是否必填 默认值 描述 include_type_name 布尔值 否 false 是否在响应中包含类型名称(已废弃) 示例 # 获取单个索引信息 # GET /my_index 响应示例:" --- 获取指定索引的详细信息,包括别名、映射、设置、默认设置和数据流信息。 ## API ``` GET /{index} HEAD /{index} ``` ## API 的作用 该 API 用于获取指定索引的详细信息,返回以下内容: | 信息类型 | 描述 | |----------|------| | `aliases` | 索引的别名列表及其配置 | | `mappings` | 索引的字段映射定义 | | `settings` | 索引的自定义设置 | | `defaults` | 索引的默认设置(需要指定参数) | | `data_streams` | 数据流信息(如果是数据流) | HEAD 方法用于检查索引是否存在,只返回状态码,不返回详细信息。 ## API 的参数 ### 路由参数 | 参数 | 类型 | 是否必填 | 描述 | |------|------|----------|------| | `{index}` | 字符串 | 必需 | 索引名称,支持单个索引、逗号分隔的多个索引、通配符表达式或特殊值 `_all`/`*` | ### Query String 参数 #### 核心参数 | 参数 | 类型 | 是否必填 | 默认值 | 描述 | |------|------|----------|--------|------| | `include_defaults` | 布尔值 | 否 | false | 是否在响应中包含索引的默认设置 | | `human` | 布尔值 | 否 | false | 是否以人类可读的格式返回响应 | | `local` | 布尔值 | 否 | false | 是否从本地节点返回信息,而不去查询主节点 | | `master_timeout` | 时间值 | 否 | 30s | 等待主节点响应的超时时间 | #### 索引选项参数 | 参数 | 类型 | 是否必填 | 默认值 | 描述 | |------|------|----------|--------|------| | `expand_wildcards` | 字符串 | 否 | open | 控制通配符如何扩展。可选值:`open`、`closed`、`hidden`、`none`、`all` | | `ignore_unavailable` | 布尔值 | 否 | false | 如果为 true,忽略不存在的索引而不报错 | | `allow_no_indices` | 布尔值 | 否 | false | 如果为 true,当通配符没有匹配到任何索引时不报错 | | `ignore_throttled` | 布尔值 | 否 | false | 如果为 true,忽略被限流的索引 | #### 已废弃的参数 | 参数 | 类型 | 是否必填 | 默认值 | 描述 | |------|------|----------|--------|------| | `include_type_name` | 布尔值 | 否 | false | 是否在响应中包含类型名称(已废弃) | ## 示例 ### 获取单个索引信息 ```bash GET /my_index ``` **响应示例:** ```json { "my_index": { "aliases": {}, "mappings": { "properties": { "title": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "timestamp": { "type": "date" } } }, "settings": { "index": { "creation_date": "1641234567890", "number_of_shards": "1", "number_of_replicas": "1", "uuid": "abc123", "version": { "created": "7100099" }, "provided_name": "my_index" } } } } ``` ### 获取多个索引信息 ```bash GET /index1,index2 ``` ### 使用通配符获取索引信息 ```bash GET /logs-* ``` ### 获取所有索引信息 ```bash GET /_all ``` 或 ```bash GET /* ``` ### 包含默认设置 ```bash GET /my_index?include_defaults=true ``` **响应示例:** ```json { "my_index": { "aliases": {}, "mappings": {...}, "settings": { "index": { "number_of_shards": "1", "number_of_replicas": "1", "refresh_interval": "1s" } }, "defaults": { "index": { "refresh_interval": "1s", "max_result_window": "10000" } } } } ``` ### 扩展到关闭的索引 ```bash GET /logs-*?expand_wildcards=open,closed ``` ### 忽略不存在的索引 ```bash GET /index1,nonexistent?ignore_unavailable=true ``` ### 使用人类可读格式 ```bash GET /my_index?human=true ``` ### 检查索引是否存在(HEAD) ```bash HEAD /my_index ``` 如果索引存在,返回 `200 OK`;否则返回 `404 Not Found`。 ### 从本地节点获取信息 ```bash GET /my_index?local=true ``` ### 设置主节点超时 ```bash GET /my_index?master_timeout=50s ``` ### 组合多个参数 ```bash GET /logs-*?include_defaults=true&expand_wildcards=all&ignore_unavailable=true ``` ## expand_wildcards 参数说明 | 值 | 描述 | |----|------| | `open` | 扩展到打开的索引(默认) | | `closed` | 扩展到关闭的索引 | | `hidden` | 扩展到隐藏的索引 | | `none` | 不扩展通配符 | | `all` | 扩展到所有索引(打开、关闭、隐藏) | ## 响应结构说明 ### aliases(别名) 每个别名可以包含以下配置: - `filter`:别名过滤条件 - `index_routing`:索引路由值 - `search_routing`:搜索路由值 - `is_write_index`:是否为写入索引 ### mappings(映射) 包含索引的字段类型定义和分析器配置。 ### settings(设置) 包含索引的自定义配置,如分片数量、副本数量、刷新间隔等。 ### defaults(默认设置) 仅在 `include_defaults=true` 时返回,包含索引的默认配置值。