API обновления
Обновление делает недавно выполненные операции над одним или несколькими индексами доступными для поиска. Для потоков данных API выполняет операцию обновления для базовых индексов потока. Дополнительную информацию об операции обновления можно найти в Поиске в реальном времени.
resp = client.indices.refresh(
index="my-index-000001",
)
print(resp) response = client.indices.refresh( index: 'my-index-000001' ) puts response
const response = await client.indices.refresh({
index: "my-index-000001",
});
console.log(response); POST /my-index-000001/_refresh
Запрос
POST <target>/_refresh
GET <target>/_refresh
POST /_refresh
GET /_refresh
Предварительные требования
- Если включены функции безопасности Elasticsearch, у вас должен быть
maintenanceилиmanageдоступ к индексу для целевого потока данных, индекса или псевдонима.
Описание
Используйте API обновления, чтобы явно сделать все операции, выполненные над одним или несколькими индексами с момента последнего обновления, доступными для поиска. Если запрос нацелен на поток данных, он обновляет базовые индексы потока.
По умолчанию Elasticsearch периодически обновляет индексы каждую секунду, но только те индексы, которые получили хотя бы один запрос на поиск за последние 30 секунд. Вы можете изменить этот интервал по умолчанию, используя параметр index.refresh_interval.
Запросы обновления являются синхронными и не возвращают ответ до тех пор, пока операция обновления не будет завершена.
Обновления ресурсоемки. Для обеспечения хорошей производительности кластера рекомендуется ждать периодического обновления Elasticsearch, а не выполнять явное обновление, если это возможно.
Если в вашем рабочем процессе приложения индексируются документы, а затем выполняется поиск для извлечения индексированного документа, рекомендуется использовать параметр refresh=wait_for запроса 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. -
-
ignore_unavailable - (Необязательно, булево) Если
false, запрос возвращает ошибку, если он нацелен на отсутствующий или закрытый индекс. По умолчаниюfalse.
Примеры
Обновление нескольких потоков данных и индексов
resp = client.indices.refresh(
index="my-index-000001,my-index-000002",
)
print(resp) response = client.indices.refresh( index: 'my-index-000001,my-index-000002' ) puts response
const response = await client.indices.refresh({
index: "my-index-000001,my-index-000002",
});
console.log(response); POST /my-index-000001,my-index-000002/_refresh
Обновление всех потоков данных и индексов в кластере
resp = client.indices.refresh() print(resp)
response = client.indices.refresh puts response
const response = await client.indices.refresh(); console.log(response);
POST /_refresh
© 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-refresh.html
|
|