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

获取指定索引的详细信息,包括别名、映射、设置、默认设置和数据流信息。

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控制通配符如何扩展。可选值:openclosedhiddennoneall
ignore_unavailable布尔值false如果为 true,忽略不存在的索引而不报错
allow_no_indices布尔值false如果为 true,当通配符没有匹配到任何索引时不报错
ignore_throttled布尔值false如果为 true,忽略被限流的索引

已废弃的参数 #

参数类型是否必填默认值描述
include_type_name布尔值false是否在响应中包含类型名称(已废弃)

示例 #

获取单个索引信息 #

GET /my_index

响应示例:

{
  "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"
      }
    }
  }
}

获取多个索引信息 #

GET /index1,index2

使用通配符获取索引信息 #

GET /logs-*

获取所有索引信息 #

GET /_all

GET /*

包含默认设置 #

GET /my_index?include_defaults=true

响应示例:

{
  "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"
      }
    }
  }
}

扩展到关闭的索引 #

GET /logs-*?expand_wildcards=open,closed

忽略不存在的索引 #

GET /index1,nonexistent?ignore_unavailable=true

使用人类可读格式 #

GET /my_index?human=true

检查索引是否存在(HEAD) #

HEAD /my_index

如果索引存在,返回 200 OK;否则返回 404 Not Found

从本地节点获取信息 #

GET /my_index?local=true

设置主节点超时 #

GET /my_index?master_timeout=50s

组合多个参数 #

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 时返回,包含索引的默认配置值。