Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›REST API ›API индексов

API импорта зависшего индекса

Новая справка по API

Для получения самых последних данных о API обратитесь к API индексов.

Импортирует зависший индекс.

Запрос

resp = client.dangling_indices.import_dangling_index(
    index_uuid="<index-uuid>",
    accept_data_loss=True,
)
print(resp)
const response = await client.danglingIndices.importDanglingIndex({
  index_uuid: "<index-uuid>",
  accept_data_loss: "true",
});
console.log(response);
POST /_dangling/<index-uuid>?accept_data_loss=true

Предварительные условия

  • Если функции безопасности Elasticsearch включены, у вас должен быть manage право доступа к кластеру для использования этого API.

Описание

Если Elasticsearch обнаруживает данные индекса, отсутствующие в текущем состоянии кластера, эти индексы считаются зависшими. Например, это может произойти, если вы удалите более cluster.indices.tombstones.size индексов, в то время как узел Elasticsearch был отключен.

Импортируйте один индекс в кластер, указав его UUID. Используйте API для перечисления зависших индексов для поиска UUID индекса.

Параметры пути

<index-uuid>
(Обязательно, строка) UUID импортируемого индекса, который можно найти с помощью API для перечисления зависших индексов.

Параметры запроса

accept_data_loss
(Обязательно, булево) Это поле должно быть установлено в true для импорта зависшего индекса. Поскольку Elasticsearch не может знать, откуда пришли данные зависшего индекса или определить, какие копии фрагментов свежие, а какие устарели, он не может гарантировать, что импортированные данные представляют последнее состояние индекса при его последнем присутствии в кластере.
master_timeout
(Необязательно, единицы измерения времени) Период ожидания главного узла. Если главный узел недоступен до истечения таймаута, запрос завершается ошибкой. По умолчанию 30s. Также может быть установлен на -1, чтобы указать, что таймаут запроса не должен истекать.
timeout
(Необязательно, единицы измерения времени) Период ожидания ответа от всех соответствующих узлов в кластере после обновления метаданных кластера. Если ответ не получен до истечения таймаута, обновление метаданных кластера все равно применяется, но ответ укажет, что оно не было полностью подтверждено. По умолчанию 30s. Также может быть установлен на -1, чтобы указать, что таймаут запроса не должен истекать.

Примеры

Следующий пример демонстрирует, как импортировать зависший индекс:

resp = client.dangling_indices.import_dangling_index(
    index_uuid="zmM4e0JtBkeUjiHD-MihPQ",
    accept_data_loss=True,
)
print(resp)
const response = await client.danglingIndices.importDanglingIndex({
  index_uuid: "zmM4e0JtBkeUjiHD-MihPQ",
  accept_data_loss: "true",
});
console.log(response);
POST /_dangling/zmM4e0JtBkeUjiHD-MihPQ?accept_data_loss=true

API возвращает следующий ответ:

{
  "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/8.17/dangling-index-import.html

Spec-Zone.ru

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