[[indices-segments]] === Index segments API ++++ Index segments ++++ Returns low-level information about the https://lucene.apache.org/core/[Lucene] segments in index shards. For data streams, the API returns information about the stream's backing indices. [source,console] ---- GET /my-index-000001/_segments ---- // TEST[setup:my_index] [[index-segments-api-request]] ==== {api-request-title} `GET //_segments` `GET /_segments` [[index-segments-api-prereqs]] ==== {api-prereq-title} * If the {es} {security-features} are enabled, you must have the `monitor` or `manage` <> for the target data stream, index, or alias. [[index-segments-api-path-params]] ==== {api-path-parms-title} ``:: (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`. [[index-segments-api-query-params]] ==== {api-query-parms-title} ``:: (Optional, Boolean) If `true`, the list of vector formats used by fields in each segment is included in the output `attributes`. Defaults to `false`. include::{es-ref-dir}/rest-api/common-parms.asciidoc[tag=allow-no-indices] + Defaults to `true`. include::{es-ref-dir}/rest-api/common-parms.asciidoc[tag=expand-wildcards] + Defaults to `open`. include::{es-ref-dir}/rest-api/common-parms.asciidoc[tag=index-ignore-unavailable] [[index-segments-api-response-body]] ==== {api-response-body-title} ``:: (String) include::{es-ref-dir}/rest-api/common-parms.asciidoc[tag=segment] `generation`:: (Integer) include::{es-ref-dir}/rest-api/common-parms.asciidoc[tag=generation] `num_docs`:: (Integer) include::{es-ref-dir}/rest-api/common-parms.asciidoc[tag=docs-count] `deleted_docs`:: (Integer) include::{es-ref-dir}/rest-api/common-parms.asciidoc[tag=docs-deleted] `size_in_bytes`:: (Integer) include::{es-ref-dir}/rest-api/common-parms.asciidoc[tag=segment-size] `committed`:: (Boolean) include::{es-ref-dir}/rest-api/common-parms.asciidoc[tag=committed] `search`:: (Boolean) include::{es-ref-dir}/rest-api/common-parms.asciidoc[tag=segment-search] `version`:: (String) include::{es-ref-dir}/rest-api/common-parms.asciidoc[tag=segment-version] `compound`:: (Boolean) If `true`, Lucene merged all files from the segment into a single file to save file descriptors. `attributes`:: (Object) Contains information about (i) whether high compression was enabled, (ii) per-field vector formats. [[index-segments-api-example]] ==== {api-examples-title} ===== Get segment information for a specific data stream or index [source,console] -------------------------------------------------- GET /test/_segments -------------------------------------------------- // TEST[s/^/PUT test\n{"settings":{"number_of_shards":1, "number_of_replicas": 0}}\nPOST test\/_doc\?refresh\n{"test": "test"}\n/] ===== Get segment information for several data streams and indices [source,console] -------------------------------------------------- GET /test1,test2/_segments -------------------------------------------------- // TEST[s/^/PUT test1\nPUT test2\n/] ===== Get segment information for all data streams and indices in a cluster [source,console] -------------------------------------------------- GET /_segments -------------------------------------------------- // TEST[s/^/PUT test\n{"settings":{"number_of_shards":1, "number_of_replicas": 0}}\nPOST test\/_doc\?refresh\n{"test": "test"}\n/] The API returns the following response: [source,console-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, "committed": false, "search": true, "version": "7.0.0", "compound": true, "attributes": { } } } } ] } } } } -------------------------------------------------- // TESTRESPONSE[s/"_shards": \.\.\./"_shards": $body._shards,/] // TESTRESPONSE[s/"node": "zDC_RorJQCao9xf9pg3Fvw"/"node": $body.$_path/] // TESTRESPONSE[s/"attributes": \{[^}]*\}/"attributes": $body.$_path/] // TESTRESPONSE[s/: (\-)?[0-9]+/: $body.$_path/] // TESTRESPONSE[s/7\.0\.0/$body.$_path/]