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

API индексов фрагментов хранилища

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

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

Получает информацию о хранилищах фрагментов реплик в одном или нескольких индексах. Для потоков данных API получает информацию о хранилищах для базовых индексов потока.

resp = client.indices.shard_stores(
    index="my-index-000001",
)
print(resp)
response = client.indices.shard_stores(
  index: 'my-index-000001'
)
puts response
const response = await client.indices.shardStores({
  index: "my-index-000001",
});
console.log(response);
GET /my-index-000001/_shard_stores

Запрос

GET /<target>/_shard_stores

GET /_shard_stores

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

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

Описание

API индексов фрагментов хранилища возвращает следующую информацию:

  • Узел, на котором существует каждый фрагмент реплики
  • Идентификатор распределения для каждого фрагмента реплики
  • Уникальный идентификатор для каждого фрагмента реплики
  • Любые ошибки, возникшие при открытии индекса фрагмента или при предыдущей ошибке

По умолчанию 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.
status

(Необязательный, строка) Список статусов состояния фрагментов, используемый для ограничения запроса.

Допустимые значения включают:

green
Первичный фрагмент и все фрагменты реплик назначены.
yellow
Один или несколько фрагментов реплики не назначены.
red
Первичный фрагмент не назначен.
all
Вернуть все фрагменты независимо от состояния.

По умолчанию yellow,red.

max_concurrent_shard_requests

(Необязательный, целое число) Максимальное количество одновременных запросов на уровне фрагментов, отправленных координирующим узлом. По умолчанию 100. Большие значения могут ускорить ответ на запросы, направленные к многим фрагментам, но также могут оказать большее влияние на другие операции кластера.

Примеры

Получение информации о хранилище фрагментов для определенного потока данных или индекса

resp = client.indices.shard_stores(
    index="test",
)
print(resp)
response = client.indices.shard_stores(
  index: 'test'
)
puts response
const response = await client.indices.shardStores({
  index: "test",
});
console.log(response);
GET /test/_shard_stores

Получение информации о хранилище фрагментов для нескольких потоков данных и индексов

resp = client.indices.shard_stores(
    index="test1,test2",
)
print(resp)
response = client.indices.shard_stores(
  index: 'test1,test2'
)
puts response
const response = await client.indices.shardStores({
  index: "test1,test2",
});
console.log(response);
GET /test1,test2/_shard_stores

Получение информации о хранилище фрагментов для всех потоков данных и индексов

resp = client.indices.shard_stores()
print(resp)
response = client.indices.shard_stores
puts response
const response = await client.indices.shardStores();
console.log(response);
GET /_shard_stores

Получение информации о хранилище фрагментов на основе состояния кластера

Вы можете использовать параметр запроса status для ограничения возвращаемой информации на основе состояния фрагмента.

Следующий запрос возвращает только информацию для назначенных первичных и фрагментов реплики.

resp = client.indices.shard_stores(
    status="green",
)
print(resp)
response = client.indices.shard_stores(
  status: 'green'
)
puts response
const response = await client.indices.shardStores({
  status: "green",
});
console.log(response);
GET /_shard_stores?status=green

API возвращает следующий ответ:

{
   "indices": {
       "my-index-000001": {
           "shards": {
              "0": { 
                "stores": [ 
                    {
                        "sPa3OgxLSYGvQ4oPs-Tajw": { 
                            "name": "node_t0",
                            "ephemeral_id" : "9NlXRFGCT1m8tkvYCMK-8A",
                            "transport_address": "local[1]",
                            "external_id": "node_t0",
                            "attributes": {},
                            "roles": [...],
                            "version": "8.10.0",
                            "min_index_version": 7000099,
                            "max_index_version": 8100099
                        },
                        "allocation_id": "2iNySv_OQVePRX-yaRH_lQ", 
                        "allocation" : "primary|replica|unused" 
                        "store_exception": ... 
                    }
                ]
              }
           }
       }
   }
}

Ключ — соответствующий идентификатор фрагмента для информации о хранилище

Список информации о хранилищах для всех копий фрагмента

Информация о узле, который содержит копию хранилища, ключ — уникальный идентификатор узла.

Идентификатор распределения копии хранилища

Статус копии хранилища, является ли она первичной, репликой или не используется вообще

Любые исключения, возникшие при открытии индекса фрагмента или ранее при возникновении ошибки двигателя

© 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-shards-stores.html

Spec-Zone.ru

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