Ищущий снимок
Разрешенные фазы: горячая, холодная, замороженная.
Создает снимок управляемого индекса в настроенном репозитории и монтирует его как ищущий снимок. Если индекс является частью потока данных, смонтированный индекс заменяет исходный индекс в потоке.
Действие searchable_snapshot требует уровней данных. Действие использует настройку index.routing.allocation.include._tier_preference для непосредственного монтирования индекса на соответствующий уровень данных фазы. В замороженной фазе действие монтирует частично смонтированный индекс с префиксом partial- на замороженный уровень. В других фазах действие монтирует полностью смонтированный индекс с префиксом restored- на соответствующий уровень данных.
На замороженном уровне действие проигнорирует настройку index.routing.allocation.total_shards_per_node, если она присутствовала в исходном индексе, чтобы учесть разницу в количестве узлов между замороженным и другими уровнями. Для установки index.routing.allocation.total_shards_per_node для ищущих снимков, установите опцию total_shards_per_node в действии searchable_snapshot замороженной фазы в политике ILM.
Не включайте действие searchable_snapshot как в горячей, так и в холодной фазах. Это может привести к тому, что индексы не будут автоматически мигрировать на холодный уровень во время холодной фазы.
Если действие searchable_snapshot используется в горячей фазе, последующие фазы не могут включать действия shrink или forcemerge.
Это действие не может быть выполнено для индекса записи потока данных. Попытки сделать это приведут к ошибке. Чтобы преобразовать индекс в ищущий снимок, сначала вручную переключите поток данных. Это создаст новый индекс записи. Поскольку индекс больше не является индексом записи потока, действие может преобразовать его в ищущий снимок. Использование политики, использующей действие переключения в горячей фазе, предотвратит эту ситуацию и необходимость ручного переключения для будущих управляемых индексов.
Монтирование и перемещение фрагментов индексов ищущих снимков включает копирование содержимого фрагментов из репозитория снимков. Это может повлечь за собой другие затраты, чем копирование между узлами, которое происходит с обычными индексами. Эти затраты, как правило, ниже, но в некоторых средах могут быть выше. См. Сократите затраты с помощью поисковых снимков для получения дополнительной информации.
По умолчанию этот снимок удаляется действием удаления в фазе удаления. Чтобы сохранить снимок, установите delete_searchable_snapshot на false в действии удаления. Это хранение снимков выполняется по политике управления жизненным циклом индексов (ILM) и не затрагивается политиками управления жизненным циклом снимков (SLM).
Параметры
-
snapshot_repository - (Обязательно, строка) Репозиторий для хранения снимка.
-
force_merge_index - (Необязательно, булево) Принудительно слияет управляемый индекс в один сегмент. По умолчанию
true. Если управляемый индекс уже был принудительно объединен с помощью действия принудительного слияния в предыдущем действии, шаг принудительного слияния действияsearchable snapshotбудет игнорироваться.
Фрагменты, которые перемещаются во время forcemerge, не будут объединены. Действие searchable_snapshot будет продолжено даже если не все фрагменты объединены принудительно.
Это принудительное слияние происходит в фазе, в которой находится индекс до действия searchable_snapshot. Например, если используется действие searchable_snapshot в фазе hot, принудительное слияние будет выполнено на горячих узлах. Если используется действие searchable_snapshot в фазе cold, принудительное слияние будет выполнено на любом уровне, на котором находится индекс до фазы cold (либо hot, либо warm).
-
total_shards_per_node - Максимальное количество фрагментов (реплик и основных) которые будут выделены одному узлу для индекса поискового снимка. По умолчанию не ограничено.
Примеры
resp = client.ilm.put_lifecycle(
name="my_policy",
policy={
"phases": {
"cold": {
"actions": {
"searchable_snapshot": {
"snapshot_repository": "backing_repo"
}
}
}
}
},
)
print(resp) const response = await client.ilm.putLifecycle({
name: "my_policy",
policy: {
phases: {
cold: {
actions: {
searchable_snapshot: {
snapshot_repository: "backing_repo",
},
},
},
},
},
});
console.log(response); PUT _ilm/policy/my_policy
{
"policy": {
"phases": {
"cold": {
"actions": {
"searchable_snapshot" : {
"snapshot_repository" : "backing_repo"
}
}
}
}
}
}
© 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-searchable-snapshot.html