cat 索引 API编辑

cat API 仅供人类通过命令行或 Kibana 控制台使用。它们**不**适用于应用程序。对于应用程序,请使用 获取索引 API

返回集群中索引的高级信息,包括数据流的支持索引。

请求编辑

GET /_cat/indices/<target>

GET /_cat/indices

先决条件编辑

  • 如果启用了 Elasticsearch 安全功能,则您必须具有 monitormanage 集群权限 才能使用此 API。您还必须对要检索的任何数据流、索引或别名具有 monitormanage 索引权限

描述编辑

使用 cat 索引 API 获取集群中每个索引的以下信息

  • 分片计数
  • 文档计数
  • 已删除文档计数
  • 主存储大小
  • 所有分片的总存储大小,包括分片副本

这些指标直接从 Lucene 中检索,Elasticsearch 在内部使用 Lucene 来支持索引和搜索。因此,所有文档计数都包括隐藏的 嵌套 文档。

要获取 Elasticsearch 文档的准确计数,请使用 cat 计数计数 API。

路径参数编辑

<target>
(可选,字符串)逗号分隔的数据流、索引和别名列表,用于限制请求。支持通配符 (*)。要定位所有数据流和索引,请省略此参数或使用 *_all

查询参数编辑

bytes
(可选,字节大小单位)用于显示字节值的单位。
format
(可选,字符串)HTTP 接受标头 的简短版本。有效值包括 JSON、YAML 等。
h
(可选,字符串)要显示的列名列表,以逗号分隔。
health

(可选,字符串)用于限制返回索引的健康状况。有效值为

  • green
  • yellow
  • red

默认情况下,响应包括任何健康状况的索引。

help
(可选,布尔值)如果为 true,则响应包括帮助信息。默认为 false
include_unloaded_segments
(可选,布尔值)如果为 true,则响应包括来自**未**加载到内存中的段的信息。默认为 false
master_timeout
(可选,时间单位)等待主节点的时间段。如果在超时到期之前主节点不可用,则请求失败并返回错误。默认为 30s。也可以设置为 -1 以指示请求永不超时。
pri(主分片)
(可选,布尔值)如果为 true,则响应仅包括来自主分片的信息。默认为 false
s
(可选,字符串)用于对响应进行排序的列名或列别名列表,以逗号分隔。
time
(可选,时间单位)用于显示时间值的单位。
v
(可选,布尔值)如果为 true,则响应包括列标题。默认为 false
expand_wildcards

(可选,字符串)通配符模式可以匹配的索引类型。如果请求可以定位数据流,则此参数确定通配符表达式是否匹配隐藏的数据流。支持逗号分隔的值,例如 open,hidden。有效值为

all
匹配任何数据流或索引,包括 隐藏的 数据流或索引。
open
匹配打开的、非隐藏的索引。也匹配任何非隐藏的数据流。
closed
匹配关闭的、非隐藏的索引。也匹配任何非隐藏的数据流。数据流不能关闭。
hidden
匹配隐藏的数据流和隐藏的索引。必须与 openclosed 或两者结合使用。
none
不接受通配符模式。

示例编辑

resp = client.cat.indices(
    index="my-index-*",
    v="true",
    s="index",
)
print(resp)
response = client.cat.indices(
  index: 'my-index-*',
  v: true,
  s: 'index'
)
puts response
GET /_cat/indices/my-index-*?v=true&s=index

API 返回以下响应

health status index            uuid                   pri rep docs.count docs.deleted store.size pri.store.size dataset.size
yellow open   my-index-000001  u8FNjxh8Rfy_awN11oDKYQ   1   1       1200            0     88.1kb         88.1kb       88.1kb
green  open   my-index-000002  nYFWZEO7TUiOjLQXBaYJpA   1   0          0            0       260b           260b         260b