Skip to content

Commit

Permalink
Add Refresh API (opensearch-project#6954)
Browse files Browse the repository at this point in the history
* Add refresh API.

Signed-off-by: Archer <[email protected]>

* Add Refresh API

Signed-off-by: Archer <[email protected]>

* Apply suggestions from code review

Co-authored-by: Heather Halter <[email protected]>
Signed-off-by: Naarcha-AWS <[email protected]>

* Update _api-reference/index-apis/refresh.md

Signed-off-by: Naarcha-AWS <[email protected]>

* Update _api-reference/index-apis/refresh.md

Signed-off-by: Naarcha-AWS <[email protected]>

* Apply suggestions from code review

Co-authored-by: Heather Halter <[email protected]>
Signed-off-by: Naarcha-AWS <[email protected]>

* Apply suggestions from code review

Co-authored-by: Heather Halter <[email protected]>
Signed-off-by: Naarcha-AWS <[email protected]>

* Add link

Signed-off-by: Naarcha-AWS <[email protected]>

* Apply suggestions from code review

Co-authored-by: Nathan Bower <[email protected]>
Signed-off-by: Naarcha-AWS <[email protected]>

* Apply suggestions from code review

Co-authored-by: Nathan Bower <[email protected]>
Signed-off-by: Naarcha-AWS <[email protected]>

---------

Signed-off-by: Archer <[email protected]>
Signed-off-by: Naarcha-AWS <[email protected]>
Co-authored-by: Heather Halter <[email protected]>
Co-authored-by: Nathan Bower <[email protected]>
  • Loading branch information
3 people authored May 15, 2024
1 parent aae9fc6 commit 103b4e2
Showing 1 changed file with 69 additions and 0 deletions.
69 changes: 69 additions & 0 deletions _api-reference/index-apis/refresh.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
layout: default
title: Refresh index
parent: Index APIs
nav_order: 61
---

# Refresh index
Introduced 1.0
{: .label .label-purple }

The Refresh Index API refreshes one or more indexes in an OpenSearch cluster. In the case of data streams, the Refresh Index API refreshes a stream's backing indexes.

OpenSearch's refresh behavior depends on whether or not `index.refresh_interval` is set:

- When set, indexes are refreshed based on the `index.refresh_interval` setting (in seconds). For more information about `index.refresh_interval` settings, see [Dynamic index-level index settings]({{site.url}}{{site.baseurl}}/install-and-configure/configuring-opensearch/index-settings/#dynamic-index-level-index-settings).
- When not set, refreshes occur every second until the shard receives no search requests for at least the amount of time specified by the `index.search.idle.after` setting (in seconds). Default is `30s`.

After a shard becomes idle, the indexes will not refresh until either the next search request or a Refresh Index API request is sent. The first search request on an idle shard will wait for the refresh operation to complete.

To use the Refresh Index API, you must have write access to the indexes you want to refresh.

## Path and HTTP methods

```json
POST /_refresh
GET /_refresh
POST /<index>/_refresh
GET /<index>/_refresh
```

## Path parameters

The following table lists the available path parameters. All path parameters are optional.

| Parameter | Data type | Description |
| :--- | :--- | :--- |
| `index` | String | A comma-separated list of index names to be refreshed. Wildcards are accepted.|

## Query parameters

The following table lists the available query parameters. All query parameters are optional.

| Parameter | Data type | Description |
| :--- | :--- | :--- |
| `ignore_unavailable` | Boolean | When `false`, the request returns an error when it targets a missing or closed index. Default is `false`.
| `allow_no_indices` | Boolean | When `false`, the Refresh Index API returns an error when a wildcard expression, index alias, or `_all` targets only closed or missing indexes, even when the request is made against open indexes. Default is `true`. |
| `expand_wildcard` | String | The type of index that the wildcard patterns can match. If the request targets data streams, this argument determines whether the wildcard expressions match any hidden data streams. Supports comma-separated values, such as `open,hidden`. Valid values are `all`, `open`, `closed`, `hidden`, and `none`.



#### Example: Refresh several data streams or indexes

The following example request refreshes two indexes named `my-index-A` and `my-index-B`:


```
POST /my-index-A,my-index-B/_refresh
```
{% include copy-curl.html %}

#### Example: Refresh all data streams and indexes in a cluster

The following request refreshes all data streams and indexes in a cluster:

```
POST /_refresh
```

0 comments on commit 103b4e2

Please sign in to comment.