索引统计 API编辑

返回一个或多个索引的统计信息。对于数据流,API 会检索流的底层索引的统计信息。

response = client.indices.stats(
  index: 'my-index-000001'
)
puts response
GET /my-index-000001/_stats

请求编辑

GET /<target>/_stats/<index-metric>

GET /<target>/_stats

GET /_stats

先决条件编辑

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

描述编辑

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

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

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

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

路径参数编辑

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

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

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

所有打开的段的内存使用量。

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

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

示例编辑

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

response = client.indices.stats(
  index: 'index1,index2'
)
puts response
GET /index1,index2/_stats

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

response = client.indices.stats
puts response
GET /_stats

获取特定统计信息编辑

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

response = client.indices.stats(
  metric: 'merge,refresh'
)
puts response
GET /_stats/merge,refresh

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

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

response = client.indices.stats(
  metric: 'search',
  groups: 'group1,group2'
)
puts response
GET /_stats/search?groups=group1,group2