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

获取一个或多个索引的 Lucene 段升级状态,用于监控由 POST /_upgrade API 发起的索引升级进度。

API 格式 #

GET /_upgrade
GET /{index}/_upgrade

API 作用 #

该 API 用于检查索引中需要升级的 Lucene 段的大小和状态。升级过程会将旧版本的 Lucene 段格式转换为当前版本,以确保兼容性和性能。

API 参数 #

路径参数 #

参数类型是否必填默认值描述
{index}String-逗号分隔的索引名称列表。如未指定,则检查所有索引的升级状态

查询参数 #

参数类型是否必填默认值描述
indexString-逗号分隔的索引名称列表(与路径参数作用相同)
levelStringindices响应的详细级别。可选值:
- indices(默认):仅返回索引级别信息
- shards:包含分片级别的详细信息

响应示例 #

{
  "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_bytesString所有索引的总字节大小
size_to_upgradeString需要升级的总字节数
size_to_upgrade_ancientString来自旧版本(ancient)段的需要升级的总字节数

indices 对象 #

包含每个索引的信息,键为索引名称:

字段类型描述
size_in_bytesString该索引的字节大小
size_to_upgradeString该索引需要升级的字节数
size_to_upgrade_ancientString该索引来自旧版本段的需要升级的字节数

shards 对象(当 level=shards 时) #

包含每个分片的信息:

字段类型描述
size_in_bytesString该分片的字节大小
size_to_upgradeString该分片需要升级的字节数
size_to_upgrade_ancientString该分片来自旧版本段的需要升级的字节数
routing.stateString分片当前状态(如 STARTED)
routing.primaryBoolean是否为主分片
routing.nodeString托管该分片的节点 ID
routing.relocating_nodeString/null如果分片正在迁移,则为目标节点 ID,否则为 null

注意事项 #

  1. 该 API 为只读监控 API,不会修改任何数据
  2. 升级操作由 POST /_upgrade API 发起
  3. 响应会同时显示总升级需求和旧版本段的升级需求
  4. 旧版本(ancient)段通常指来自主要版本差异较大的 Lucene 版本的段