インデックスシャードストアAPI
1つ以上のインデックスにおけるレプリカシャードのストア情報を取得します。データストリームの場合、APIはストリームのバックインデックスに対するストア情報を取得します。
Python
resp = client.indices.shard_stores(
index="my-index-000001",
)
print(resp)
Ruby
response = client.indices.shard_stores(
index: 'my-index-000001'
)
puts response
Js
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は以下の情報を返します:
- 各レプリカシャードが存在するノード
- 各レプリカシャードの割り当てID
- 各レプリカシャードのユニークID
- シャードインデックスを開く際に遭遇したエラーや以前の失敗によるエラー
デフォルトでは、APIは未割り当てのプライマリシャードまたは1つ以上の未割り当てのレプリカシャードに対するストア情報のみを返します。
パスパラメータ
<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
- 1つ以上のレプリカシャードが未割り当てです。
red
- プライマリシャードが未割り当てです。
all
- 健康状態に関係なくすべてのシャードを返します。
デフォルトはyellow,red
です。
max_concurrent_shard_requests
- (オプション、整数)コーディネーティングノードによって送信される同時シャードレベルリクエストの最大数。デフォルトは
100
です。大きな値は、多くのシャードを対象とするリクエストに対して迅速な応答をもたらす可能性がありますが、他のクラスター操作に対しても大きな影響を与える可能性があります。
例
特定のデータストリームまたはインデックスのシャードストア情報を取得
Python
resp = client.indices.shard_stores(
index="test",
)
print(resp)
Ruby
response = client.indices.shard_stores(
index: 'test'
)
puts response
Js
const response = await client.indices.shardStores({
index: "test",
});
console.log(response);
コンソール
GET /test/_shard_stores
複数のデータストリームとインデックスのシャードストア情報を取得
Python
resp = client.indices.shard_stores(
index="test1,test2",
)
print(resp)
Ruby
response = client.indices.shard_stores(
index: 'test1,test2'
)
puts response
Js
const response = await client.indices.shardStores({
index: "test1,test2",
});
console.log(response);
コンソール
GET /test1,test2/_shard_stores
すべてのデータストリームとインデックスのシャードストア情報を取得
Python
resp = client.indices.shard_stores()
print(resp)
Ruby
response = client.indices.shard_stores
puts response
Js
const response = await client.indices.shardStores();
console.log(response);
コンソール
GET /_shard_stores
クラスターの健康に基づいてシャードストア情報を取得
シャードの健康に基づいて返される情報を制限するためにstatus
クエリパラメータを使用できます。
以下のリクエストは、割り当てられたプライマリおよびレプリカシャードに関する情報のみを返します。
Python
resp = client.indices.shard_stores(
status="green",
)
print(resp)
Ruby
response = client.indices.shard_stores(
status: 'green'
)
puts response
Js
const response = await client.indices.shardStores({
status: "green",
});
console.log(response);
コンソール
GET /_shard_stores?status=green
コンソール-結果
console-result
{
"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"<br> "store_exception": ...<br> }<br> ]<br> }<br> }<br> }<br> }<br>}<br>
| | |
| —- | —- |
| | ストア情報に対応するシャードIDのキー |
| | シャードのすべてのコピーのストア情報のリスト |
| | ストアのコピーをホストするノード情報、キーはユニークなノードIDです。 |
| | ストアコピーの割り当てID |
| | ストアコピーのステータス、プライマリ、レプリカ、またはまったく使用されていないかどうか |
| | シャードインデックスを開く際に遭遇した例外や以前のエンジンの失敗によるもの |