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