索引分片存储 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
描述
编辑索引分片存储 API 返回以下信息
- 每个副本分片所在的节点
- 每个副本分片的分配 ID
- 每个副本分片的唯一 ID
- 打开分片索引时或从较早的失败中遇到的任何错误
默认情况下,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": ... } ] } } } } }