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

API разрешения кластера

Справочник новых API

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

Разрешает указанные выражения индекса, чтобы получить информацию о каждом кластере, включая локальный "запрашивающий" кластер, если он включен.

Этот конечный пункт полезен перед выполнением поиска по нескольким кластерам, чтобы определить, какие удаленные кластеры должны быть включены в поиск.

Вы используете то же выражение индекса с этим конечным пунктом, что и для поиска по нескольким кластерам. Также поддерживаются индексы и исключения кластеров с этим конечным пунктом.

Для каждого кластера в выражении индекса возвращается информация о:

  1. смог ли запрашивающий ("локальный") кластер подключиться к каждому удаленному кластеру, указанному в выражении индекса. Обратите внимание, что этот конечный пункт активно пытается связаться с удаленными кластерами, в отличие от конечного пункта remote/info.
  2. настроен ли каждый удаленный кластер с skip_unavailable как true или false
  3. существуют ли в этом кластере индексы, алиасы или потоки данных, соответствующие выражению индекса
  4. есть ли вероятность ошибок поиска при выполнении поиска по нескольким кластерам (включая любые ошибки авторизации, если у вашего пользователя нет разрешения на запрос к удаленному кластеру или индексам в этом кластере)
  5. (в некоторых случаях) информация о версии кластера, включая версию сервера Elasticsearch

Всякий раз, когда для удаленного кластера возвращается исключение безопасности, этот удаленный кластер всегда отмечается как connected=false в ответе, поскольку у вашего пользователя нет разрешений на доступ к этому кластеру (или, возможно, удаленному индексу), который вы запрашиваете. После получения соответствующих разрешений безопасности вы можете полагаться на поле connected в ответе, чтобы определить, доступен ли удаленный кластер и готов ли он к запросу.

resp = client.indices.resolve_cluster(
    name="my-index-*,cluster*:my-index-*",
)
print(resp)
response = client.indices.resolve_cluster(
  name: 'my-index-*,cluster*:my-index-*'
)
puts response
const response = await client.indices.resolveCluster({
  name: "my-index-*,cluster*:my-index-*",
});
console.log(response);
GET /_resolve/cluster/my-index-*,cluster*:my-index-*

Это вернёт информацию о локальном кластере и всех удалённо настроенных кластерах, которые начинаются с алиаса cluster*. Каждый кластер вернёт информацию о том, есть ли у него индексы, алиасы или потоки данных, соответствующие my-index-*.

Запрос

GET /_resolve/cluster/<index_expression>

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

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

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

<index_expression>

(Обязательный, строка) Запятая-разделенные имена(а) или шаблоны индексов(ов) индексов, алиасов и потоков данных для разрешения, используя синтаксис для нескольких целевых объектов. Ресурсы на удаленных кластерах могут быть указаны с помощью синтаксиса <cluster>:<name>.

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

expand_wildcards

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

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

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

ignore_unavailable

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

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

allow_no_indices

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

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

ignore_throttled

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

[7.16.0] Устарело в версии 7.16.0.

Проверка доступности удаленных кластеров

Конечный пункт remote/info обычно используется для проверки того, подключен ли "локальный" кластер (кластер, к которому происходит запрос) к удалённым кластерам, но это не обязательно отражает, доступен ли удалённый кластер или нет. Удалённый кластер может быть доступен, в то время как локальный кластер в настоящее время не подключён к нему.

Вы можете использовать API разрешения кластера для попытки повторного подключения к удалённым кластерам (например, с помощью GET _resolve/cluster/*:*), и поле connected в ответе укажет, удалось ли это или нет. Если соединение было (пере-)установлено, это также заставит конечный пункт remote/info теперь указывать статус подключения.

© 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-resolve-cluster-api.html

Spec-Zone.ru

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