# Update index settings
**PUT /{index}/_settings**
**All methods and paths for this operation:**
PUT
/_settings
PUT
/{index}/_settings
Changes dynamic index settings in real time.
For data streams, index setting changes are applied to all backing indices by default.
To revert a setting to the default value, use a null value.
The list of per-index settings that can be updated dynamically on live indices can be found in index settings documentation.
To preserve existing settings from being updated, set the `preserve_existing` parameter to `true`.
For performance optimization during bulk indexing, you can disable the refresh interval.
Refer to [disable refresh interval](https://www.elastic.co/docs/deploy-manage/production-guidance/optimize-performance/indexing-speed#disable-refresh-interval) for an example.
There are multiple valid ways to represent index settings in the request body. You can specify only the setting, for example:
```
{
"number_of_replicas": 1
}
```
Or you can use an `index` setting object:
```
{
"index": {
"number_of_replicas": 1
}
}
```
Or you can use dot annotation:
```
{
"index.number_of_replicas": 1
}
```
Or you can embed any of the aforementioned options in a `settings` object. For example:
```
{
"settings": {
"index": {
"number_of_replicas": 1
}
}
}
```
NOTE: You can only define new analyzers on closed indices.
To add an analyzer, you must close the index, define the analyzer, and reopen the index.
You cannot close the write index of a data stream.
To update the analyzer for a data stream's write index and future backing indices, update the analyzer in the index template used by the stream.
Then roll over the data stream to apply the new analyzer to the stream's write index and future backing indices.
This affects searches and any new data added to the stream after the rollover.
However, it does not affect the data stream's backing indices or their existing data.
To change the analyzer for existing backing indices, you must create a new data stream and reindex your data into it.
Refer to [updating analyzers on existing indices](https://www.elastic.co/docs/manage-data/data-store/text-analysis/specify-an-analyzer#update-analyzers-on-existing-indices) for step-by-step examples.
## Required authorization
* Index privileges: `manage`
[More about index settings](https://www.elastic.co/docs/reference/elasticsearch/index-settings/)
## Servers
- http://api.example.com: http://api.example.com ()
## Authentication methods
- Api key auth
- Basic auth
- Bearer auth
## Parameters
### Path parameters
- **index** (string | array[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`.
### Query parameters
- **allow_no_indices** (boolean)
A setting that does two separate checks on the index expression.
If `false`, the request returns an error (1) if any wildcard expression
(including `_all` and `*`) resolves to zero matching indices or (2) if the
complete set of resolved indices, aliases or data streams is empty after all
expressions are evaluated. If `true`, index expressions that resolve to no
indices are allowed and the request returns an empty result.
- **expand_wildcards** (string | array[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`.
Supported values include:
- `all`: Match any data stream or index, including hidden ones.
- `open`: Match open, non-hidden indices. Also matches any non-hidden data stream.
- `closed`: Match closed, non-hidden indices. Also matches any non-hidden data stream. Data streams cannot be closed.
- `hidden`: Match hidden data streams and hidden indices. Must be combined with `open`, `closed`, or `both`.
- `none`: Wildcard expressions are not accepted.
- **flat_settings** (boolean)
If `true`, returns settings in flat format.
- **ignore_unavailable** (boolean)
If `false`, the request returns an error if it targets a concrete (non-wildcarded)
index, alias, or data stream that is missing, closed, or otherwise unavailable.
If `true`, unavailable concrete targets are silently ignored.
- **master_timeout** (string)
Period to wait for a connection to the master node. If no response is
received before the timeout expires, the request fails and returns an
error.
- **preserve_existing** (boolean)
If `true`, existing index settings remain unchanged.
- **reopen** (boolean)
Whether to close and reopen the index to apply non-dynamic settings.
If set to `true` the indices to which the settings are being applied
will be closed temporarily and then reopened in order to apply the changes.
- **timeout** (string)
Period to wait for a response. If no response is received before the
timeout expires, the request fails and returns an error.
### Body: application/json (object)
object
## Responses
### 200
#### Body: application/json (object)
- **acknowledged** (boolean)
For a successful response, this value is always true. On failure, an exception is returned instead.
[Powered by Bump.sh](https://bump.sh)