API закрытия индекса
Закрывает индекс.
POST /my-index-000001/_close
Запрос
POST /<index>/_close
Предварительные условия
- Если включены функции безопасности Elasticsearch, у вас должны быть
manageпривилегии индекса для целевого индекса или псевдонима индекса.
Описание
Вы используете API закрытия индекса для закрытия открытых индексов.
Закрытый индекс заблокирован для операций чтения/записи и не допускает всех операций, разрешенных для открытых индексов. Невозможно индексировать документы или искать документы в закрытом индексе. Это позволяет закрытым индексам не поддерживать внутренние структуры данных для индексирования или поиска документов, что приводит к меньшему накладным расходам в кластере.
При открытии или закрытии индекса мастер отвечает за перезапуск фрагментов индекса, чтобы отразить новое состояние индекса. Затем фрагменты пройдут обычный процесс восстановления. Данные открытых/закрытых индексов автоматически реплицируются кластером, чтобы гарантировать, что всегда хранится достаточно копий фрагментов.
Можно открывать и закрывать несколько индексов. Ошибка возникает, если в запросе явно упоминается отсутствующий индекс. Это поведение можно отключить, используя параметр ignore_unavailable=true.
Все индексы можно открыть или закрыть сразу, используя _all в качестве имени индекса или указав шаблоны, которые их идентифицируют (например, *).
Идентификацию индексов с помощью подстановочных символов или _all можно отключить, установив флаг action.destructive_requires_name в файле конфигурации в значение true. Это значение также можно изменить с помощью API обновления настроек кластера.
Закрытые индексы потребляют значительное количество дискового пространства, что может вызвать проблемы в управляемых средах. Закрытие индексов можно отключить через API настроек кластера, установив cluster.indices.close.enable в значение false. По умолчанию используется значение true.
Параметры пути
-
<index> -
(Необязательно, строка) Список индексов через запятую или выражение подстановки для ограничения запроса.
Для закрытия всех индексов используйте
_allили*. Чтобы запретить закрытие индексов с_allили выражениями подстановки, измените настройку кластераaction.destructive_requires_nameна значениеtrue. Вы можете обновить это значение в файлеelasticsearch.ymlили с помощью API обновления настроек кластера.
Параметры запроса
-
allow_no_indices -
(Необязательно, булево) Если
false, запрос возвращает ошибку, если любое выражение подстановки, псевдоним индекса или значение_allнаправлено только на отсутствующие или закрытые индексы. Это поведение применяется даже если запрос направлен на другие открытые индексы. Например, запрос, направленный наfoo*,bar*, возвращает ошибку, если индекс начинается сfoo, но ни один индекс не начинается сbar.По умолчанию значение
true. -
expand_wildcards -
(Необязательно, строка) Тип индекса, с которым могут совпадать шаблоны подстановки. Если запрос может быть направлен на потоки данных, этот аргумент определяет, будут ли выражения подстановки соответствовать скрытым потокам данных. Поддерживает значения через запятую, такие как
open,hidden. Допустимые значения:-
all - Сопоставить любой поток данных или индекс, включая скрытые.
-
open - Сопоставить открытые, нескрытые индексы. Также сопоставляет любые нескрытые потоки данных.
-
closed - Сопоставить закрытые, нескрытые индексы. Также сопоставляет любые нескрытые потоки данных. Потоки данных не могут быть закрыты.
-
hidden - Сопоставить скрытые потоки данных и скрытые индексы. Должен быть объединен с
open,closedили обоими. -
none - Шаблоны подстановки не принимаются.
По умолчанию
open. -
-
ignore_unavailable - (Необязательно, булево) Если
false, запрос возвращает ошибку, если он направлен на отсутствующий или закрытый индекс. По умолчаниюfalse. -
wait_for_active_shards -
(Необязательно, строка) Количество активных копий фрагментов, которые должны быть активны перед выполнением операции. Установите в значение
all,index-settingили любое положительное целое число до общего количества фрагментов в индексе (number_of_replicas+1). Значениеindex-settingозначает ожидание в соответствии с настройкой индексаindex.write.wait_for_active_shards. По умолчанию0, что означает, что ожидание активных фрагментов не требуется.См. Активные фрагменты.
-
master_timeout - (Необязательно, единицы времени) Период ожидания соединения с узлом мастера. Если ответ не получен до истечения срока ожидания, запрос завершается неудачей и возвращает ошибку. По умолчанию
30s. -
timeout - (Необязательно, единицы времени) Период ожидания ответа. Если ответ не получен до истечения срока ожидания, запрос завершается неудачей и возвращает ошибку. По умолчанию
30s.
Примеры
Следующий пример демонстрирует, как закрыть индекс:
POST /my-index-000001/_close
API возвращает следующий ответ:
{
"acknowledged": true,
"shards_acknowledged": true,
"indices": {
"my-index-000001": {
"closed": true
}
}
}
© 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/7.17/indices-close.html