--- title: "获取索引列表" date: 2026-01-24 lastmod: 2026-01-24 description: "以表格形式显示集群中索引的信息概览" tags: ["索引管理", "索引监控", "Cat API"] summary: "以表格形式显示集群中索引的信息概览,包括健康状态、分片数量、文档数量、存储大小等。 API # GET /_cat/indices GET /_cat/indices/{index} API 的作用 # 该 API 以简洁的表格形式显示索引的各种统计信息,便于快速了解集群中的索引状况。 默认显示的列 # 列名 描述 health 索引健康状态(green、yellow、red) status 索引状态(open、close) index 索引名称 uuid 索引唯一标识符 pri 主分片数量 rep 副本分片数量 docs.count 文档总数 docs.deleted 已删除文档数 store.size 存储大小 pri.store.size 主分片存储大小 API 的参数 # 路由参数 # 参数 类型 是否必填 描述 {index} 字符串 否 索引名称或通配符模式。不指定则显示所有索引 Query String 参数 # 基础参数 # 参数 类型 是否必填 默认值 描述 help 布尔值 否 false 显示帮助信息,列出所有可用的列及其别名 format 字符串 否 text 输出格式。可选值:text、json、smile、yaml、cbor h 字符串 否 所有默认列 指定要显示的列,多个列用逗号分隔 v 布尔值 否 false 显示详细信息(列的全名) ts 布尔值 否 true 是否显示时间戳列 pri 布尔值 否 false 是否只显示主分片的统计信息 bytes 字符串 否 b 存储大小的单位。可选值:b、k、kb、m、mb、g、gb、t、tb、p、pb time 字符串 否 ms 时间统计的单位。可选值:d、h、ms、s、micros、nanos、micros、ns 索引特定参数 # 参数 类型 是否必填 默认值 描述 index 字符串 否 所有索引 索引名称或通配符模式 local 布尔值 否 false 是否从本地节点获取信息,不向主节点请求 master_timeout 时间值 否 30s 等待主节点响应的超时时间 include_unloaded_segments 布尔值 否 false 是否包含未加载的分段信息 health 字符串 否 所有状态 按健康状态过滤。可选值:green、yellow、red s 字符串 否 默认顺序 指定排序列。格式:列名:asc 或 列名:desc 可用的列 # 列名 简写 描述 health h 索引健康状态 status s 索引状态(open、close) index i 索引名称 uuid id 索引唯一标识符 pri p 主分片数量 rep r 副本分片数量 docs." --- 以表格形式显示集群中索引的信息概览,包括健康状态、分片数量、文档数量、存储大小等。 ## API ``` GET /_cat/indices GET /_cat/indices/{index} ``` ## API 的作用 该 API 以简洁的表格形式显示索引的各种统计信息,便于快速了解集群中的索引状况。 ### 默认显示的列 | 列名 | 描述 | |------|------| | `health` | 索引健康状态(green、yellow、red) | | `status` | 索引状态(open、close) | | `index` | 索引名称 | | `uuid` | 索引唯一标识符 | | `pri` | 主分片数量 | | `rep` | 副本分片数量 | | `docs.count` | 文档总数 | | `docs.deleted` | 已删除文档数 | | `store.size` | 存储大小 | | `pri.store.size` | 主分片存储大小 | ## API 的参数 ### 路由参数 | 参数 | 类型 | 是否必填 | 描述 | |------|------|----------|------| | `{index}` | 字符串 | 否 | 索引名称或通配符模式。不指定则显示所有索引 | ### Query String 参数 #### 基础参数 | 参数 | 类型 | 是否必填 | 默认值 | 描述 | |------|------|----------|--------|------| | `help` | 布尔值 | 否 | false | 显示帮助信息,列出所有可用的列及其别名 | | `format` | 字符串 | 否 | text | 输出格式。可选值:`text`、`json`、`smile`、`yaml`、`cbor` | | `h` | 字符串 | 否 | 所有默认列 | 指定要显示的列,多个列用逗号分隔 | | `v` | 布尔值 | 否 | false | 显示详细信息(列的全名) | | `ts` | 布尔值 | 否 | true | 是否显示时间戳列 | | `pri` | 布尔值 | 否 | false | 是否只显示主分片的统计信息 | | `bytes` | 字符串 | 否 | b | 存储大小的单位。可选值:`b`、`k`、`kb`、`m`、`mb`、`g`、`gb`、`t`、`tb`、`p`、`pb` | | `time` | 字符串 | 否 | ms | 时间统计的单位。可选值:`d`、`h`、`ms`、`s`、`micros`、`nanos`、`micros`、`ns` | #### 索引特定参数 | 参数 | 类型 | 是否必填 | 默认值 | 描述 | |------|------|----------|--------|------| | `index` | 字符串 | 否 | 所有索引 | 索引名称或通配符模式 | | `local` | 布尔值 | 否 | false | 是否从本地节点获取信息,不向主节点请求 | | `master_timeout` | 时间值 | 否 | 30s | 等待主节点响应的超时时间 | | `include_unloaded_segments` | 布尔值 | 否 | false | 是否包含未加载的分段信息 | | `health` | 字符串 | 否 | 所有状态 | 按健康状态过滤。可选值:`green`、`yellow`、`red` | | `s` | 字符串 | 否 | 默认顺序 | 指定排序列。格式:`列名:asc` 或 `列名:desc` | ## 可用的列 | 列名 | 简写 | 描述 | |------|------|------| | `health` | h | 索引健康状态 | | `status` | s | 索引状态(open、close) | | `index` | i | 索引名称 | | `uuid` | id | 索引唯一标识符 | | `pri` | p | 主分片数量 | | `rep` | r | 副本分片数量 | | `docs.count` | dc | 文档总数 | | `docs.deleted` | dd | 已删除文档数 | | `creation.date` | cd | 索引创建日期 | | `creation.date.string` | cds | 索引创建日期字符串 | | `store.size` | ss | 存储大小 | | `pri.store.size` | pss | 主分片存储大小 | | `completion.depth` | - | 完成度深度 | | `fielddata.memory` | fm | 字段数据内存使用量 | | `fielddata.evictions` | fe | 字段数据驱逐次数 | | `query_cache.memory` | qm | 查询缓存内存使用量 | | `query_cache.hits` | qh | 查询缓存命中次数 | | `query_cache.misses` | qmi | 查询缓存未命中次数 | | `request_cache.memory` | rm | 请求缓存内存使用量 | | `request_cache.hits` | rh | 请求缓存命中次数 | | `request_cache.misses` | rmi | 请求缓存未命中次数 | | `flush.total` | ft | 刷新总次数 | | `flush.total_time` | ftt | 刷新总时间 | | `get.current` | - | 当前获取操作数 | | `get.total` | - | 获取操作总数 | | `get.time` | - | 获取操作时间 | | `get.exists` | - | 获取存在的文档数 | | `get.missing` | - | 获取不存在的文档数 | | `indexing.index_current` | iic | 当前索引操作数 | | `indexing.index_total` | iit | 索引操作总数 | | `indexing.index_time` | iitim | 索引操作时间 | | `indexing.index_failed` | iif | 失败的索引操作数 | | `indexing.delete_current` | idc | 当前删除操作数 | | `indexing.delete_total` | idt | 删除操作总数 | | `indexing.delete_time` | idtim | 删除操作时间 | | `merges.current` | mc | 当前合并数 | | `merges.current_docs` | mcd | 当前合并文档数 | | `merges.current_size` | mcs | 当前合并大小 | | `search.scroll_current` | scc | 当前滚动搜索数 | | `search.scroll_total` | sct | 滚动搜索总数 | | `search.throttled` | sth | 被限流的搜索数 | ## 示例 ### 显示所有索引 ```bash GET /_cat/indices ``` **响应示例(文本格式):** ``` health status index uuid pri rep docs.count docs.deleted store.size pri.store.size green open my_index abc123 1 1 1000 0 1mb 512kb yellow open logs def456 5 1 10000 0 100mb 50mb ``` ### 显示指定索引 ```bash GET /_cat/indices/my_index ``` ### 使用通配符 ```bash GET /_cat/indices/logs-* ``` ### 按健康状态过滤 ```bash GET /_cat/indices?health=yellow ``` ### 指定显示的列 ```bash GET /_cat/indices?h=index,health,docs.count,store.size ``` ### 显示详细列名 ```bash GET /_cat/indices?v ``` **响应示例:** ``` health status index uuid pri rep docs.count docs.deleted store.size pri.store.size green open my_index abc123 1 1 1000 0 1mb 512kb ``` ### 按存储大小排序 ```bash GET /_cat/indices?s=store.size:desc ``` ### 以 JSON 格式输出 ```bash GET /_cat/indices?format=json ``` **响应示例:** ```json [ { "health": "green", "status": "open", "index": "my_index", "uuid": "abc123", "pri": "1", "rep": "1", "docs.count": "1000", "docs.deleted": "0", "store.size": "1mb", "pri.store.size": "512kb" } ] ``` ### 指定存储大小单位 ```bash GET /_cat/indices?bytes=gb ``` ### 只显示主分片统计 ```bash GET /_cat/indices?pri=true ``` ### 显示帮助信息 ```bash GET /_cat/indices?help ``` ### 组合多个参数 ```bash GET /_cat/indices/logs-*?h=index,docs.count,store.size&s=store.size:desc&bytes=mb ``` ### 从本地节点获取信息 ```bash GET /_cat/indices?local=true ``` ## 健康状态说明 | 状态 | 描述 | |------|------| | `green` | 所有主分片和副本分片都正常分配 | | `yellow` | 所有主分片正常,但至少有一个副本分片未分配 | | `red` | 至少有一个主分片未分配 | ## 索引状态说明 | 状态 | 描述 | |------|------| | `open` | 索引打开,可以正常读写和搜索 | | `close` | 索引关闭,不响应任何请求 |