[[indices-refresh]] === Refresh API ++++ Refresh ++++ Refreshes one or more indices. For data streams, the API refreshes the stream's backing indices. [source,console] ---- POST /my-index-000001/_refresh ---- // TEST[setup:my_index] [[refresh-api-request]] ==== {api-request-title} `POST /_refresh` `GET /_refresh` `POST /_refresh` `GET /_refresh` [[refresh-api-desc]] ==== {api-description-title} Use the refresh API to explicitly refresh one or more indices. If the request targets a data stream, it refreshes the stream's backing indices. A _refresh_ makes all operations performed on an index since the last refresh available for search. // tag::refresh-interval-default[] By default, Elasticsearch periodically refreshes indices every second, but only on indices that have received one search request or more in the last 30 seconds. // end::refresh-interval-default[] You can change this default interval using the <> setting. Refresh requests are synchronous and do not return a response until the refresh operation completes. [IMPORTANT] ==== Refreshes are resource-intensive. To ensure good cluster performance, we recommend waiting for {es}'s periodic refresh rather than performing an explicit refresh when possible. If your application workflow indexes documents and then runs a search to retrieve the indexed document, we recommend using the <>'s `refresh=wait_for` query parameter option. This option ensures the indexing operation waits for a periodic refresh before running the search. ==== [[refresh-api-path-params]] ==== {api-path-parms-title} include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=index] + To refresh all indices in the cluster, omit this parameter or use a value of `_all` or `*`. [[refresh-api-query-params]] ==== {api-query-parms-title} include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=allow-no-indices] + Defaults to `true`. include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=expand-wildcards] + Defaults to `open`. include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=index-ignore-unavailable] [[refresh-api-example]] ==== {api-examples-title} [[refresh-api-multiple-ex]] ===== Refresh several data streams and indices [source,console] ---- POST /my-index-000001,my-index-000002/_refresh ---- // TEST[s/^/PUT my-index-000001\nPUT my-index-000002\n/] [[refresh-api-all-ex]] ===== Refresh all data streams and indices in a cluster [source,console] ---- POST /_refresh ----