Shrinkedit

Phases allowed: hot, warm.

Sets an index to read-only and shrinks it into a new index with fewer primary shards. The name of the new index is of the form shrink-<original-index-name>. For example, if the name of the source index is logs, the name of the shrunken index is shrink-logs.

The shrink action allocates all primary shards of the index to one node so it can call the Shrink API to shrink the index. After shrinking, it swaps aliases that point to the original index to the new shrunken index.

To use the shrink action in the hot phase, the rollover action must be present. If no rollover action is configured, ILM will reject the policy.

If the shrink action is used on a follower index, policy execution waits until the leader index rolls over (or is otherwise marked complete), then converts the follower index into a regular index with the unfollow action before performing the shrink operation.

If the managed index is part of a data stream, the shrunken index replaces the original index in the data stream.

This action cannot be performed on a data stream’s write index. Attempts to do so will fail. To shrink the index, first manually roll over the data stream. This creates a new write index. Because the index is no longer the stream’s write index, the action can resume shrinking it. Using a policy that makes use of the rollover action in the hot phase will avoid this situation and the need for a manual rollover for future managed indices.

Shrink optionsedit

number_of_shards
(Required, integer) Number of shards to shrink to. Must be a factor of the number of shards in the source index.

Exampleedit

PUT _ilm/policy/my_policy
{
  "policy": {
    "phases": {
      "warm": {
        "actions": {
          "shrink" : {
            "number_of_shards": 1
          }
        }
      }
    }
  }
}