Index segments API
editIndex segments API
editReturns low-level information about the Lucene segments in index shards.
GET /twitter/_segments
Path parameters
edit-
<index>
- (Optional, string) Comma-separated list or wildcard expression of index names used to limit the request.
Query parameters
edit-
allow_no_indices
-
(Optional, boolean) If
true
, the request does not return an error if a wildcard expression or_all
value retrieves only missing or closed indices.This parameter also applies to index aliases that point to a missing or closed index.
-
expand_wildcards
-
(Optional, string) Controls what kind of indices that wildcard expressions can expand to. Valid values are:
-
all
- Expand to open and closed indices.
-
open
- Expand only to open indices.
-
closed
- Expand only to closed indices.
-
none
- Wildcard expressions are not accepted.
Defaults to
open
. -
-
ignore_unavailable
-
(Optional, boolean) If
true
, missing or closed indices are not included in the response. Defaults tofalse
. -
verbose
-
[preview]
This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.
(Optional, boolean)
If
true
, the response includes detailed information about Lucene’s memory usage. Defaults tofalse
.
Response body
edit-
<segment>
-
(String)
Name of the segment, such as
_0
. The segment name is derived from the segment generation and used internally to create file names in the directory of the shard. -
generation
-
(Integer)
Generation number, such as
0
. Elasticsearch increments this generation number for each segment written. Elasticsearch then uses this number to derive the segment name. Generation number, such as0
. Elasticsearch increments this generation number for each segment written. Elasticsearch then uses this number to derive the segment name. -
num_docs
-
(Integer)
Number of non-deleted documents in the segment, such as
25
. This number is based on Lucene documents and may include documents from nested fields. -
deleted_docs
-
(Integer)
Number of deleted documents in the segment, such as
0
. This number is based on Lucene documents. Elasticsearch reclaims the disk space of deleted Lucene documents when a segment is merged. -
size_in_bytes
-
(Integer)
Disk space used by the segment, such as
50kb
. -
memory_in_bytes
-
(Integer) Bytes of segment data stored in memory for efficient search, such as
1264
.A value of
-1
indicates Elasticsearch was unable to compute this number. -
committed
-
(Boolean) If
true
, the segments is synced to disk. Segments that are synced can survive a hard reboot.If
false
, the data from uncommitted segments is also stored in the transaction log so that Elasticsearch is able to replay changes on the next start. -
search
-
(Boolean) If
true
, the segment is searchable.If
false
, the segment has most likely been written to disk but needs a refresh to be searchable. -
version
- (String) Version of Lucene used to write the segment.
-
compound
-
(Boolean)
If
true
, Lucene merged all files from the segment into a single file to save file descriptors. -
attributes
- (Object) Contains information about whether high compression was enabled.
Examples
editGet segment information for a specific index
editGET /test/_segments
Get segment information for several indices
editGET /test1,test2/_segments
Get segment information for all indices
editGET /_segments
The API returns the following response:
{ "_shards": ... "indices": { "test": { "shards": { "0": [ { "routing": { "state": "STARTED", "primary": true, "node": "zDC_RorJQCao9xf9pg3Fvw" }, "num_committed_segments": 0, "num_search_segments": 1, "segments": { "_0": { "generation": 0, "num_docs": 1, "deleted_docs": 0, "size_in_bytes": 3800, "memory_in_bytes": 1410, "committed": false, "search": true, "version": "7.0.0", "compound": true, "attributes": { } } } } ] } } } }
Verbose mode
editTo add additional information that can be used for debugging,
use the verbose
flag.
This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.
GET /test/_segments?verbose=true
The API returns the following response:
{ ... "_0": { ... "ram_tree": [ { "description": "postings [PerFieldPostings(format=1)]", "size_in_bytes": 2696, "children": [ { "description": "format 'Lucene50_0' ...", "size_in_bytes": 2608, "children" :[ ... ] }, ... ] }, ... ] } ... }