Index stats APIedit

Returns statistics for one or more indices. For data streams, the API retrieves statistics for the stream’s backing indices.

GET /my-index-000001/_stats


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

GET /<target>/_stats

GET /_stats


  • If the Elasticsearch security features are enabled, you must have the monitor or manage index privilege for the target data stream, index, or alias.


Use the index stats API to get high-level aggregation and statistics for one or more data streams and indices.

By default, the returned statistics are index-level with primaries and total aggregations. primaries are the values for only the primary shards. total are the accumulated values for both primary and replica shards.

To get shard-level statistics, set the level parameter to shards.

When moving to another node, the shard-level statistics for a shard are cleared. Although the shard is no longer part of the node, that node retains any node-level statistics to which the shard contributed.

Path parametersedit

(Optional, string) Comma-separated list of data streams, indices, and aliases used to limit the request. Supports wildcards (*). To target all data streams and indices, omit this parameter or use * or _all.

(Optional, string) Comma-separated list of metrics used to limit the request. Supported metrics are:

Return all statistics.
Completion suggester statistics.
Number of documents and deleted docs, which have not yet merged out. Index refreshes can affect this statistic.
Fielddata statistics.
Flush statistics.
Get statistics, including missing stats.
Indexing statistics.
Merge statistics.
Query cache statistics.
Refresh statistics.
Shard request cache statistics.
Search statistics including suggest statistics. You can include statistics for custom groups by adding an extra groups parameter (search operations can be associated with one or more groups). The groups parameter accepts a comma separated list of group names. Use _all to return statistics for all groups.

Memory use of all open segments.

If the include_segment_file_sizes parameter is true, this metric includes the aggregated disk usage of each Lucene index file.

Size of the index in byte units.
Translog statistics.
Warmer statistics.

Query parametersedit


(Optional, string) Type of index that wildcard patterns can match. If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. Supports comma-separated values, such as open,hidden. Valid values are:

Match any data stream or index, including hidden ones.
Match open, non-hidden indices. Also matches any non-hidden data stream.
Match closed, non-hidden indices. Also matches any non-hidden data stream. Data streams cannot be closed.
Match hidden data streams and hidden indices. Must be combined with open, closed, or both.
Wildcard patterns are not accepted.

Defaults to open.


(Optional, string) Comma-separated list or wildcard expressions of fields to include in the statistics.

Used as the default list unless a specific field list is provided in the completion_fields or fielddata_fields parameters.

(Optional, string) Comma-separated list or wildcard expressions of fields to include in fielddata and suggest statistics.
(Optional, string) Comma-separated list or wildcard expressions of fields to include in fielddata statistics.
(Optional, Boolean) If true, statistics are not collected from closed indices. Defaults to true.
(Optional, string) Comma-separated list of search groups to include in the search statistics.

(Optional, string) Indicates whether statistics are aggregated at the cluster, index, or shard level.

Valid values are:

  • cluster
  • indices
  • shards
(Optional, Boolean) If true, the call reports the aggregated disk usage of each one of the Lucene index files (only applies if segment stats are requested). Defaults to false.
(Optional, Boolean) If true, the response includes information from segments that are not loaded into memory. Defaults to false.


Get statistics for multiple data streams and indicesedit

GET /index1,index2/_stats

Get statistics for all data streams and indices in a clusteredit

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

Get specific statisticsedit

The following request returns only the merge and refresh statistics for all indices.

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

Get statistics for specific search groupsedit

The following request returns only search statistics for the group1 and group2 search groups.

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