索引统计 API

编辑

返回一个或多个索引的统计信息。对于数据流,该 API 检索流的后备索引的统计信息。

resp = client.indices.stats(
    index="my-index-000001",
)
print(resp)
response = client.indices.stats(
  index: 'my-index-000001'
)
puts response
const response = await client.indices.stats({
  index: "my-index-000001",
});
console.log(response);
GET /my-index-000001/_stats

请求

编辑

GET /<目标>/_stats/<索引指标>

GET /<目标>/_stats

GET /_stats

先决条件

编辑
  • 如果启用了 Elasticsearch 安全功能,您必须具有目标数据流、索引或别名的 monitormanage 索引权限

描述

编辑

使用索引统计 API 获取一个或多个数据流和索引的高级聚合和统计信息。

默认情况下,返回的统计信息是索引级别的,带有 primariestotal 聚合。primaries 仅是主分片的值。total 是主分片和副本分片的累积值。

要获取分片级统计信息,请将 level 参数设置为 shards

当移动到另一个节点时,分片的分片级统计信息将被清除。尽管该分片不再是节点的一部分,但该节点保留该分片贡献的任何节点级统计信息。

路径参数

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

(可选,字符串)用于限制请求的指标的逗号分隔列表。支持的指标有

_all
返回所有统计信息。
completion
完成建议器统计信息。
dense_vector
索引的密集向量总数。索引刷新可能会影响此统计信息。
docs
文档数量、尚未合并的已删除文档的数量以及总大小(以字节为单位)。索引刷新可能会影响此统计信息。
fielddata
Fielddata 统计信息。
flush
刷新统计信息。
get
获取统计信息,包括缺失的统计信息。
indexing
索引统计信息。
merge
合并统计信息。
query_cache
查询缓存统计信息。
refresh
刷新统计信息。
request_cache
分片请求缓存统计信息。
search
搜索统计信息,包括建议统计信息。您可以通过添加额外的 groups 参数来包含自定义组的统计信息(搜索操作可以与一个或多个组相关联)。groups 参数接受以逗号分隔的组名称列表。使用 _all 返回所有组的统计信息。
segments

所有打开段的内存使用情况。

如果 include_segment_file_sizes 参数为 true,则此指标包括每个 Lucene 索引文件的聚合磁盘使用量。

sparse_vector
索引的稀疏向量总数。

索引刷新可能会影响此统计信息。

store
索引的大小,以字节单位表示。
translog
事务日志统计信息。

查询参数

编辑
expand_wildcards

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

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

默认为 open

fields

(可选,字符串)要包含在统计信息中的字段的逗号分隔列表或通配符表达式。

用作默认列表,除非在 completion_fieldsfielddata_fields 参数中提供了特定的字段列表。

completion_fields
(可选,字符串)要包含在 fielddatasuggest 统计信息中的字段的逗号分隔列表或通配符表达式。
fielddata_fields
(可选,字符串)要包含在 fielddata 统计信息中的字段的逗号分隔列表或通配符表达式。
forbid_closed_indices
(可选,布尔值)如果为 true,则不会从关闭的索引中收集统计信息。默认为 true
groups
(可选,字符串)要包含在 search 统计信息中的搜索组的逗号分隔列表。
level

(可选,字符串)指示统计信息是在集群、索引还是分片级别聚合。如果请求分片级别,则会显示一些额外的特定于分片的统计信息

有效值为

  • cluster
  • indices
  • shards
include_segment_file_sizes
(可选,布尔值)如果为 true,则调用会报告每个 Lucene 索引文件的聚合磁盘使用量(仅在请求段统计信息时适用)。默认为 false
include_unloaded_segments
(可选,布尔值)如果为 true,则响应将包含加载到内存中的段的信息。默认为 false

示例

编辑

获取多个数据流和索引的统计信息

编辑
resp = client.indices.stats(
    index="index1,index2",
)
print(resp)
response = client.indices.stats(
  index: 'index1,index2'
)
puts response
const response = await client.indices.stats({
  index: "index1,index2",
});
console.log(response);
GET /index1,index2/_stats

获取集群中所有数据流和索引的统计信息

编辑
resp = client.indices.stats()
print(resp)
response = client.indices.stats
puts response
const response = await client.indices.stats();
console.log(response);
GET /_stats

获取特定统计信息

编辑

以下请求仅返回所有索引的 mergerefresh 统计信息。

resp = client.indices.stats(
    metric="merge,refresh",
)
print(resp)
response = client.indices.stats(
  metric: 'merge,refresh'
)
puts response
const response = await client.indices.stats({
  metric: "merge,refresh",
});
console.log(response);
GET /_stats/merge,refresh

获取特定搜索组的统计信息

编辑

以下请求仅返回 group1group2 搜索组的搜索统计信息。

resp = client.indices.stats(
    metric="search",
    groups="group1,group2",
)
print(resp)
response = client.indices.stats(
  metric: 'search',
  groups: 'group1,group2'
)
puts response
const response = await client.indices.stats({
  metric: "search",
  groups: "group1,group2",
});
console.log(response);
GET /_stats/search?groups=group1,group2