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

API обновления

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

Для получения самых актуальных данных о API обратитесь к 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

Spec-Zone.ru

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