Принудительное слияние
Разрешенные фазы: hot, warm.
Принудительно сливает индекс в указанное максимальное число сегментов.
Фрагменты, которые перемещаются во время forcemerge, не будут сливаться.
Для использования действия forcemerge в фазе hot, действие rollover обязательно должно присутствовать. Если действие переключения не настроено, ILM отклонит политику.
Параметры
-
max_num_segments - (Обязательно, целое число) Количество сегментов для слияния. Чтобы полностью слить индекс, установите значение
1. -
index_codec -
(Необязательно, строка) Кодек, используемый для сжатия хранилища документов. Единственное допустимое значение —
best_compression, который использует ZSTD для повышения коэффициента сжатия, но с более низкой производительностью хранимых полей. Чтобы использовать кодек LZ4 по умолчанию, опустите этот аргумент.Если использовать
best_compression, ILM закроет, а затем перезапустит индекс перед принудительным слиянием. Пока индекс закрыт, он будет недоступен для чтения или записи.
Пример
resp = client.ilm.put_lifecycle(
name="my_policy",
policy={
"phases": {
"warm": {
"actions": {
"forcemerge": {
"max_num_segments": 1
}
}
}
}
},
)
print(resp) response = client.ilm.put_lifecycle(
policy: 'my_policy',
body: {
policy: {
phases: {
warm: {
actions: {
forcemerge: {
max_num_segments: 1
}
}
}
}
}
}
)
puts response const response = await client.ilm.putLifecycle({
name: "my_policy",
policy: {
phases: {
warm: {
actions: {
forcemerge: {
max_num_segments: 1,
},
},
},
},
},
});
console.log(response); PUT _ilm/policy/my_policy
{
"policy": {
"phases": {
"warm": {
"actions": {
"forcemerge" : {
"max_num_segments": 1
}
}
}
}
}
}
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/ilm-forcemerge.html