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

API сброса

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

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

Производит сброс одного или нескольких потоков данных или индексов.

resp = client.indices.flush(
    index="my-index-000001",
)
print(resp)
response = client.indices.flush(
  index: 'my-index-000001'
)
puts response
const response = await client.indices.flush({
  index: "my-index-000001",
});
console.log(response);
POST /my-index-000001/_flush

Запрос

POST /<target>/_flush

GET /<target>/_flush

POST /_flush

GET /_flush

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

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

Описание

Сброс потока данных или индекса — это процесс, гарантирующий, что любые данные, которые в настоящее время хранятся только в журнале транзакций, также постоянно хранятся в индексе Lucene. При перезапуске Elasticsearch повторно воспроизводит любые невыполненные операции из журнала транзакций в индекс Lucene, чтобы вернуть его в состояние, в котором он находился до перезапуска. Elasticsearch автоматически инициирует сбросы по мере необходимости, используя эвристики, которые балансируют размер невыполненного журнала транзакций с затратами на выполнение каждого сброса.

После сброса каждой операции она постоянно хранится в индексе Lucene. Это может означать, что нет необходимости поддерживать дополнительную копию в журнале транзакций. Журнал транзакций состоит из нескольких файлов, называемых поколениями, и Elasticsearch удалит любые файлы поколений, как только они больше не понадобятся, освобождая место на диске.

Также можно инициировать сброс одного или нескольких индексов с помощью API сброса, хотя пользователям редко нужно напрямую вызывать этот API. Если вы вызовете API сброса после индексирования некоторых документов, то успешный ответ указывает, что Elasticsearch сбросил все документы, которые были проиндексированы до вызова API сброса.

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

<target>
(Необязательно, строка) Список потоков данных, индексов и псевдонимов, которые нужно сбросить, через запятую. Поддерживаются подстановочные знаки (*). Чтобы сбросить все потоки данных и индексы, опустите этот параметр или используйте * или _all.

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

allow_no_indices

(Необязательно, логическое значение) Если false, запрос возвращает ошибку, если какие-либо подстановочные выражения, псевдоним индекса или _all значения указывают только на отсутствующие или закрытые индексы. Это поведение применяется даже если запрос нацелен на другие открытые индексы. Например, запрос, направленный на foo*,bar*, возвращает ошибку, если индекс начинается с foo, но ни один индекс не начинается с bar.

По умолчанию true.

expand_wildcards

(Необязательно, строка) Тип индекса, с которым могут совпадать шаблоны подстановки. Если запрос может нацеливаться на потоки данных, этот аргумент определяет, соответствуют ли подстановочные выражения скрытым потокам данных. Поддерживаются значения через запятую, такие как open,hidden. Допустимые значения:

all
Соответствует любому потоку данных или индексу, включая скрытые.
open
Соответствует открытым, не скрытым индексам. Также соответствует любому не скрытому потоку данных.
closed
Соответствует закрытым, не скрытым индексам. Также соответствует любому не скрытому потоку данных. Потоки данных не могут быть закрыты.
hidden
Соответствует скрытым потокам данных и скрытым индексам. Должен быть объединен с open, closed или тем и другим.
none
Шаблоны подстановки не принимаются.

По умолчанию open.

force

(Необязательно, логическое значение) Если true, запрос принудительно выполняет сброс даже если нет изменений для записи в индекс. По умолчанию false.

Можно использовать этот параметр для увеличения номера поколения журнала транзакций.

Этот параметр считается внутренним.

ignore_unavailable
(Необязательно, логическое значение) Если false, запрос возвращает ошибку, если он нацелен на отсутствующий или закрытый индекс. По умолчанию false.
wait_if_ongoing

(Необязательно, логическое значение) Если true, операция сброса блокируется до выполнения, когда выполняется другая операция сброса.

Если false, Elasticsearch возвращает ошибку, если вы запрашиваете сброс, когда выполняется другая операция сброса.

По умолчанию true.

Примеры

Сброс определённого потока данных или индекса

resp = client.indices.flush(
    index="my-index-000001",
)
print(resp)
response = client.indices.flush(
  index: 'my-index-000001'
)
puts response
const response = await client.indices.flush({
  index: "my-index-000001",
});
console.log(response);
POST /my-index-000001/_flush

Сброс нескольких потоков данных и индексов

resp = client.indices.flush(
    index="my-index-000001,my-index-000002",
)
print(resp)
response = client.indices.flush(
  index: 'my-index-000001,my-index-000002'
)
puts response
const response = await client.indices.flush({
  index: "my-index-000001,my-index-000002",
});
console.log(response);
POST /my-index-000001,my-index-000002/_flush

Сброс всех потоков данных и индексов в кластере

resp = client.indices.flush()
print(resp)
response = client.indices.flush
puts response
const response = await client.indices.flush();
console.log(response);
POST /_flush

© 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/indices-flush.html

Spec-Zone.ru

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