Skip to content

[Docs] Includes information about available index settings in Serverless #129704

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 11 commits into from
Jul 2, 2025
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ navigation_title: "Data stream lifecycle settings"
mapped_pages:
- https://www.elastic.co/guide/en/elasticsearch/reference/current/data-stream-lifecycle-settings.html
applies_to:
deployment:
self:
stack: all
---

# Data stream lifecycle settings in {{es}} [data-stream-lifecycle-settings]
Expand Down Expand Up @@ -58,21 +57,24 @@ $$$data-streams-lifecycle-signalling-error-retry-interval$$$

## Index level settings [_index_level_settings]

:::{include} ../index-settings/_snippets/serverless-availability.md
:::

The following index-level settings are typically configured on the backing indices of a data stream.

$$$index-lifecycle-prefer-ilm$$$

`index.lifecycle.prefer_ilm`
: ([Dynamic](docs-content://deploy-manage/stack-settings.md#dynamic-cluster-setting), boolean) This setting determines which feature is managing the backing index of a data stream if, and only if, the backing index has an [{{ilm}}](docs-content://manage-data/lifecycle/index-lifecycle-management.md) ({{ilm-init}}) policy and the data stream has also a built-in lifecycle. When `true` this index is managed by {{ilm-init}}, when `false` the backing index is managed by the data stream lifecycle. Defaults to `true`.
: ([Dynamic](../index-settings/index.md#index-modules-settings-description), boolean) This setting determines which feature is managing the backing index of a data stream if, and only if, the backing index has an [{{ilm}}](docs-content://manage-data/lifecycle/index-lifecycle-management.md) ({{ilm-init}}) policy and the data stream has also a built-in lifecycle. When `true` this index is managed by {{ilm-init}}, when `false` the backing index is managed by the data stream lifecycle. Defaults to `true`.

$$$index-data-stream-lifecycle-origination-date$$$

`index.lifecycle.origination_date`
: ([Dynamic](docs-content://deploy-manage/stack-settings.md#dynamic-cluster-setting), long) If specified, this is the timestamp used to calculate the backing index generation age after this backing index has been [rolled over](docs-content://manage-data/lifecycle/index-lifecycle-management/rollover.md). The generation age is used to determine data retention, consequently, you can use this setting if you create a backing index that contains older data and want to ensure that the retention period or other parts of the lifecycle will be applied based on the data’s original timestamp and not the timestamp they got indexed. Specified as a Unix epoch value in milliseconds.
`index.lifecycle.origination_date` {applies_to}`serverless: all`
: ([Dynamic](../index-settings/index.md#index-modules-settings-description), long) If specified, this is the timestamp used to calculate the backing index generation age after this backing index has been [rolled over](docs-content://manage-data/lifecycle/index-lifecycle-management/rollover.md). The generation age is used to determine data retention, consequently, you can use this setting if you create a backing index that contains older data and want to ensure that the retention period or other parts of the lifecycle will be applied based on the data’s original timestamp and not the timestamp they got indexed. Specified as a Unix epoch value in milliseconds.

## Reindex settings [reindex-data-stream-settings]

You can use the following settings to control the behavior of the reindex data stream API:
You can use the following cluster-level settings to control the behavior of the reindex data stream API:

`migrate.max_concurrent_indices_reindexed_per_data_stream` ([Dynamic](docs-content://deploy-manage/stack-settings.md#dynamic-cluster-setting)) The number of backing indices within a given data stream which will be reindexed concurrently. Defaults to `1`.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ navigation_title: "{{ilm-cap}} settings"
mapped_pages:
- https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-settings.html
applies_to:
deployment:
self:
stack: all
---

# {{ilm-cap}} settings in {{es}} [ilm-settings]
Expand Down Expand Up @@ -37,34 +36,37 @@ $$$indices-lifecycle-rollover-only-if-has-documents$$$

## Index level settings [_index_level_settings_2]

:::{include} ../index-settings/_snippets/serverless-availability.md
:::

These index-level {{ilm-init}} settings are typically configured through index templates. For more information, see [Create a lifecycle policy](docs-content://manage-data/lifecycle/index-lifecycle-management/tutorial-automate-rollover.md#ilm-gs-create-policy).

`index.lifecycle.indexing_complete`
: ([Dynamic](docs-content://deploy-manage/stack-settings.md#dynamic-cluster-setting), Boolean) Indicates whether or not the index has been rolled over. Automatically set to `true` when {{ilm-init}} completes the rollover action. You can explicitly set it to [skip rollover](docs-content://manage-data/lifecycle/index-lifecycle-management/skip-rollover.md). Defaults to `false`.
: ([Dynamic](../index-settings/index.md#index-modules-settings-description), Boolean) Indicates whether or not the index has been rolled over. Automatically set to `true` when {{ilm-init}} completes the rollover action. You can explicitly set it to [skip rollover](docs-content://manage-data/lifecycle/index-lifecycle-management/skip-rollover.md). Defaults to `false`.

$$$index-lifecycle-name$$$

`index.lifecycle.name`
: ([Dynamic](docs-content://deploy-manage/stack-settings.md#dynamic-cluster-setting), string) The name of the policy to use to manage the index. For information about how {{es}} applies policy changes, see [Policy updates](docs-content://manage-data/lifecycle/index-lifecycle-management/policy-updates.md). If you are restoring an index from snapshot that was previously managed by {{ilm}}, you can override this setting to null during the restore operation to disable further management of the index. See also [Index level settings](#index-lifecycle-rollover-alias).
: ([Dynamic](../index-settings/index.md#index-modules-settings-description), string) The name of the policy to use to manage the index. For information about how {{es}} applies policy changes, see [Policy updates](docs-content://manage-data/lifecycle/index-lifecycle-management/policy-updates.md). If you are restoring an index from snapshot that was previously managed by {{ilm}}, you can override this setting to null during the restore operation to disable further management of the index. See also [Index level settings](#index-lifecycle-rollover-alias).

$$$index-lifecycle-origination-date$$$

`index.lifecycle.origination_date`
: ([Dynamic](docs-content://deploy-manage/stack-settings.md#dynamic-cluster-setting), long) If specified, this is the timestamp used to calculate the index age for its phase transitions. Use this setting if you create a new index that contains old data and want to use the original creation date to calculate the index age. Specified as a Unix epoch value in milliseconds.
`index.lifecycle.origination_date` {applies_to}`serverless: all`
: ([Dynamic](../index-settings/index.md#index-modules-settings-description), long) If specified, this is the timestamp used to calculate the index age for its phase transitions. Use this setting if you create a new index that contains old data and want to use the original creation date to calculate the index age. Specified as a Unix epoch value in milliseconds.

$$$index-lifecycle-parse-origination-date$$$

`index.lifecycle.parse_origination_date`
: ([Dynamic](docs-content://deploy-manage/stack-settings.md#dynamic-cluster-setting), Boolean) Set to `true` to parse the origination date from the index name. This origination date is used to calculate the index age for its phase transitions. The index name must match the pattern `^.*-{{date_format}}-\\d+`, where the `date_format` is `yyyy.MM.dd` and the trailing digits are optional. An index that was rolled over would normally match the full format, for example `logs-2016.10.31-000002`). If the index name doesn’t match the pattern, index creation fails.
: ([Dynamic](../index-settings/index.md#index-modules-settings-description), Boolean) Set to `true` to parse the origination date from the index name. This origination date is used to calculate the index age for its phase transitions. The index name must match the pattern `^.*-{{date_format}}-\\d+`, where the `date_format` is `yyyy.MM.dd` and the trailing digits are optional. An index that was rolled over would normally match the full format, for example `logs-2016.10.31-000002`). If the index name doesn’t match the pattern, index creation fails.

$$$index-lifecycle-step-wait-time-threshold$$$

`index.lifecycle.step.wait_time_threshold`
: ([Dynamic](docs-content://deploy-manage/stack-settings.md#dynamic-cluster-setting), [time value](/reference/elasticsearch/rest-apis/api-conventions.md#time-units)) Time to wait for the cluster to resolve allocation issues during an {{ilm-init}} [`shrink`](/reference/elasticsearch/index-lifecycle-actions/ilm-shrink.md) action. Must be greater than `1h` (1 hour). Defaults to `12h` (12 hours). See [Shard allocation for shrink](/reference/elasticsearch/index-lifecycle-actions/ilm-shrink.md#ilm-shrink-shard-allocation).
: ([Dynamic](../index-settings/index.md#index-modules-settings-description), [time value](/reference/elasticsearch/rest-apis/api-conventions.md#time-units)) Time to wait for the cluster to resolve allocation issues during an {{ilm-init}} [`shrink`](/reference/elasticsearch/index-lifecycle-actions/ilm-shrink.md) action. Must be greater than `1h` (1 hour). Defaults to `12h` (12 hours). See [Shard allocation for shrink](/reference/elasticsearch/index-lifecycle-actions/ilm-shrink.md#ilm-shrink-shard-allocation).

$$$index-lifecycle-rollover-alias$$$

`index.lifecycle.rollover_alias`
: ([Dynamic](docs-content://deploy-manage/stack-settings.md#dynamic-cluster-setting), string) The index alias to update when the index rolls over. Specify when using a policy that contains a rollover action. When the index rolls over, the alias is updated to reflect that the index is no longer the write index. For more information about rolling indices, see [Rollover](docs-content://manage-data/lifecycle/index-lifecycle-management/rollover.md). If you are restoring an index from snapshot that was previously managed by {{ilm}}, you can override this setting to null during the restore operation to disable further management of future indices. See also [Index level settings](#index-lifecycle-name).
: ([Dynamic](../index-settings/index.md#index-modules-settings-description), string) The index alias to update when the index rolls over. Specify when using a policy that contains a rollover action. When the index rolls over, the alias is updated to reflect that the index is no longer the write index. For more information about rolling indices, see [Rollover](docs-content://manage-data/lifecycle/index-lifecycle-management/rollover.md). If you are restoring an index from snapshot that was previously managed by {{ilm}}, you can override this setting to null during the restore operation to disable further management of future indices. See also [Index level settings](#index-lifecycle-name).


Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ applies_to:
ess:
ece:
self:
eck:
serverless:
---

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
::::{admonition} Settings supported in Serverless
{{serverless-full}} projects [restrict the available Elasticsearch settings](docs-content://deploy-manage/deploy/elastic-cloud/differences-from-other-elasticsearch-offerings.md#elasticsearch-differences-serverless-settings-availability) to a supported subset, identified with a `Serverless` badge next to the setting name. For a complete list of available index settings, refer to the [Serverless index settings list](/reference/elasticsearch/index-settings/serverless.md).
::::
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,15 @@
mapped_pages:
- https://www.elastic.co/guide/en/elasticsearch/reference/current/data-tier-shard-filtering.html
navigation_title: Data tier allocation
applies_to:
stack: all
---

# Data tier allocation settings [data-tier-shard-filtering]

:::{include} _snippets/serverless-availability.md
:::

You can use the index-level `_tier_preference` setting to control which [data tier](docs-content://manage-data/lifecycle/data-tiers.md) an index is allocated to.

This setting corresponds to the data node roles:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,15 @@
mapped_pages:
- https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-history-retention.html
navigation_title: History retention
applies_to:
stack: all
---

# History retention settings [index-modules-history-retention]

:::{include} _snippets/serverless-availability.md
:::

{{es}} sometimes needs to replay some of the operations that were performed on a shard. For instance, if a replica is briefly offline then it may be much more efficient to replay the few operations it missed while it was offline than to rebuild it from scratch. Similarly, {{ccr}} works by performing operations on the leader cluster and then replaying those operations on the follower cluster.

At the Lucene level there are really only two write operations that {{es}} performs on an index: a new document may be indexed, or an existing document may be deleted. Updates are implemented by atomically deleting the old document and then indexing the new document. A document indexed into Lucene already contains all the information needed to replay that indexing operation, but this is not true of document deletions. To solve this, {{es}} uses a feature called *soft deletes* to preserve recent deletions in the Lucene index so that they can be replayed.
Expand Down
20 changes: 13 additions & 7 deletions docs/reference/elasticsearch/index-settings/index-block.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
---
mapped_pages:
- https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-blocks.html
navigation_title: Index block
navigation_title: Index blocks
applies_to:
stack: all
---

# Index block settings [index-modules-blocks]
# Index blocks [index-modules-blocks]

:::{include} _snippets/serverless-availability.md
:::

Index blocks limit the kind of operations that are available on a certain index. The blocks come in different flavours, allowing to block write, read, or metadata operations. The blocks can be set / removed using dynamic index settings, or can be added using a dedicated API, which also ensures for write blocks that, once successfully returning to the user, all shards of the index are properly accounting for the block, for example that all in-flight writes to an index have been completed after adding the write block.

Expand All @@ -15,7 +20,7 @@ The following *dynamic* index settings determine the blocks present on an index:

$$$index-blocks-read-only$$$

`index.blocks.read_only`
`index.blocks.read_only` {applies_to}`serverless: all`
: Set to `true` to make the index and index metadata read only, `false` to allow writes and metadata changes.

`index.blocks.read_only_allow_delete`
Expand All @@ -27,16 +32,17 @@ $$$index-blocks-read-only$$$
{{es}} adds the read-only-allow-delete index block automatically when the disk utilization exceeds the flood stage watermark, and removes this block automatically when the disk utilization falls under the high watermark. See [Disk-based shard allocation](/reference/elasticsearch/configuration-reference/cluster-level-shard-allocation-routing-settings.md#disk-based-shard-allocation) for more information about watermarks, and [Fix watermark errors](docs-content://troubleshoot/elasticsearch/fix-watermark-errors.md) for help with resolving watermark issues.
::::


`index.blocks.read`
$$$index-blocks-read$$$
`index.blocks.read` {applies_to}`serverless: all`
: Set to `true` to disable read operations against the index.

$$$index-blocks-write$$$

`index.blocks.write`
`index.blocks.write` {applies_to}`serverless: all`
: Set to `true` to disable data write operations against the index. Unlike `read_only`, this setting does not affect metadata. For instance, you can adjust the settings of an index with a `write` block, but you cannot adjust the settings of an index with a `read_only` block.

`index.blocks.metadata`
$$$index-blocks-metadata$$$
`index.blocks.metadata` {applies_to}`serverless: all`
: Set to `true` to disable index metadata reads and writes.


Expand Down
Loading
Loading