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