Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Руководство [7.17] ›REST API ›API индексов

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API