API сброса
Сбрасывает один или несколько потоков данных или индексов.
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, запрос принудительно инициирует сброс даже если нет изменений для добавления в индекс. По умолчаниюtrue.Вы можете использовать этот параметр для увеличения номера поколения журнала транзакций.
Этот параметр считается внутренним.
-
ignore_unavailable - (Необязательно, логическое значение) Если
false, запрос возвращает ошибку, если целеустанавливает отсутствующий или закрытый индекс. По умолчаниюfalse. -
wait_if_ongoing -
(Необязательно, логическое значение) Если
true, операция сброса блокируется до выполнения, когда выполняется другая операция сброса.Если
false, Elasticsearch возвращает ошибку, если вы запрашиваете сброс, когда выполняется другая операция сброса.По умолчанию
true.
Примеры
Сброс конкретного потока данных или индекса
POST /my-index-000001/_flush
Сброс нескольких потоков данных и индексов
POST /my-index-000001,my-index-000002/_flush
Сброс всех потоков данных и индексов в кластере
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/7.17/indices-flush.html