--- title: "获取升级状态" date: 2026-01-16 lastmod: 2026-01-16 description: "获取索引的 Lucene 段升级状态" tags: ["集群", "索引", "升级"] summary: "获取一个或多个索引的 Lucene 段升级状态,用于监控由 POST /_upgrade API 发起的索引升级进度。 API 格式 # GET /_upgrade GET /{index}/_upgrade API 作用 # 该 API 用于检查索引中需要升级的 Lucene 段的大小和状态。升级过程会将旧版本的 Lucene 段格式转换为当前版本,以确保兼容性和性能。 API 参数 # 路径参数 # 参数 类型 是否必填 默认值 描述 {index} String 否 - 逗号分隔的索引名称列表。如未指定,则检查所有索引的升级状态 查询参数 # 参数 类型 是否必填 默认值 描述 index String 否 - 逗号分隔的索引名称列表(与路径参数作用相同) level String 否 indices 响应的详细级别。可选值:" --- 获取一个或多个索引的 Lucene 段升级状态,用于监控由 POST /_upgrade API 发起的索引升级进度。 ## API 格式 ``` GET /_upgrade GET /{index}/_upgrade ``` ## API 作用 该 API 用于检查索引中需要升级的 Lucene 段的大小和状态。升级过程会将旧版本的 Lucene 段格式转换为当前版本,以确保兼容性和性能。 ## API 参数 ### 路径参数 | 参数 | 类型 | 是否必填 | 默认值 | 描述 | |------|------|----------|--------|------| | `{index}` | String | 否 | - | 逗号分隔的索引名称列表。如未指定,则检查所有索引的升级状态 | ### 查询参数 | 参数 | 类型 | 是否必填 | 默认值 | 描述 | |------|------|----------|--------|------| | `index` | String | 否 | - | 逗号分隔的索引名称列表(与路径参数作用相同) | | `level` | String | 否 | `indices` | 响应的详细级别。可选值:
- `indices`(默认):仅返回索引级别信息
- `shards`:包含分片级别的详细信息 | ## 响应示例 ```json { "size_in_bytes": "10b", "size_to_upgrade": "10b", "size_to_upgrade_ancient": "0b", "indices": { "my_index": { "size_in_bytes": "10b", "size_to_upgrade": "10b", "size_to_upgrade_ancient": "0b", "shards": { "0": [ { "size_in_bytes": "10b", "size_to_upgrade": "10b", "size_to_upgrade_ancient": "0b", "routing": { "state": "STARTED", "primary": true, "node": "node_id", "relocating_node": null } } ] } } } } ``` ## 响应字段说明 ### 顶层字段 | 字段 | 类型 | 描述 | |------|------|------| | `size_in_bytes` | String | 所有索引的总字节大小 | | `size_to_upgrade` | String | 需要升级的总字节数 | | `size_to_upgrade_ancient` | String | 来自旧版本(ancient)段的需要升级的总字节数 | ### indices 对象 包含每个索引的信息,键为索引名称: | 字段 | 类型 | 描述 | |------|------|------| | `size_in_bytes` | String | 该索引的字节大小 | | `size_to_upgrade` | String | 该索引需要升级的字节数 | | `size_to_upgrade_ancient` | String | 该索引来自旧版本段的需要升级的字节数 | ### shards 对象(当 `level=shards` 时) 包含每个分片的信息: | 字段 | 类型 | 描述 | |------|------|------| | `size_in_bytes` | String | 该分片的字节大小 | | `size_to_upgrade` | String | 该分片需要升级的字节数 | | `size_to_upgrade_ancient` | String | 该分片来自旧版本段的需要升级的字节数 | | `routing.state` | String | 分片当前状态(如 STARTED) | | `routing.primary` | Boolean | 是否为主分片 | | `routing.node` | String | 托管该分片的节点 ID | | `routing.relocating_node` | String/null | 如果分片正在迁移,则为目标节点 ID,否则为 null | ## 注意事项 1. 该 API 为只读监控 API,不会修改任何数据 2. 升级操作由 POST /_upgrade API 发起 3. 响应会同时显示总升级需求和旧版本段的升级需求 4. 旧版本(ancient)段通常指来自主要版本差异较大的 Lucene 版本的段