opensearch-docs-cn/_opensearch/rest-api/index-apis/shrink-index.md

62 lines
2.6 KiB
Markdown
Raw Normal View History

---
layout: default
title: Shrink index
parent: Index APIs
grand_parent: REST API reference
nav_order: 50
---
# Shrink index
The shrink index API operation moves all of your data in an existing index into a new index with fewer primary shards.
## Example
```json
POST /my-old-index/_shrink/my-new-index
{
"settings": {
"index.number_of_replicas": 4,
"index.number_of_shards": 3
},
"aliases":{
"new-index-alias": {}
}
}
```
## Path and HTTP methods
```
POST /<index-name>/_shrink/<target-index>
```
When creating new indices with this operation, remember that OpenSearch indices have the following naming restrictions:
- All letters must be lowercase.
- Index names can't begin with underscores (`_`) or hyphens (`-`).
- Index names can't contain spaces, commas, or the following characters:
`:`, `"`, `*`, `+`, `/`, `\`, `|`, `?`, `#`, `>`, or `<`
## URL parameters
The shrink index API operation requires you to specify both the source index and the target index. All other parameters are optional.
Parameter | Type | description
:--- | :--- | :---
&lt;index-name&gt; | String | The index to shrink.
&lt;target-index&gt; | String | The target index to shrink the source index into.
wait_for_active_shards | String | Specifies the number of active shards that must be available before OpenSearch processes the request. Default is 1 (only the primary shard). Set to all or a positive integer. Values greater than 1 require replicas. For example, if you specify a value of 3, the index must have two replicas distributed across two additional nodes for the request to succeed.
master_timeout | Time | How long to wait for a connection to the master node. Default is `30s`.
timeout | Time | How long to wait for the request to return. Default is `30s`.
## Request body
You can use the request body to configure some index settings for the target index. All fields are optional.
Field | Type | Description
alias | Object | Sets an alias for the target index. Can have the fields `filter`, `index_routing`, `is_hidden`, `is_write_index`, `routing`, and `search_routing`. See [index aliases]({{site.url}}{{site.baseurl}}/opensearch/rest-api/alias/#request-body).
settings | Object | Index settings you can apply to your target index. See [index settings]({{site.url}}{{site.baseurl}}/opensearch/rest-api/index-apis/create-index/#index-settings).
max_primary_shard_size | Bytes | Sets the maximum size of a primary shard in the target index. For example, if this field is set to 100gb, and the source index's primary shards total to 300gb, then the target index has 3 primary shards of 100gb each.