インデックスシャードストアAPI

1つ以上のインデックスにおけるレプリカシャードのストア情報を取得します。データストリームの場合、APIはストリームのバックインデックスに対するストア情報を取得します。

Python

  1. resp = client.indices.shard_stores(
  2. index="my-index-000001",
  3. )
  4. print(resp)

Ruby

  1. response = client.indices.shard_stores(
  2. index: 'my-index-000001'
  3. )
  4. puts response

Js

  1. const response = await client.indices.shardStores({
  2. index: "my-index-000001",
  3. });
  4. console.log(response);

コンソール

  1. 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
    • 隠れたデータストリームと隠れたインデックスに一致します。openclosed、またはその両方と組み合わせる必要があります。
    • none
    • ワイルドカードパターンは受け付けられません。
      デフォルトはopenです。
  • ignore_unavailable
  • (オプション、ブール値)falseの場合、リクエストは欠落または閉じたインデックスを対象とする場合にエラーを返します。デフォルトはfalseです。
  • status
  • (オプション、文字列)リクエストを制限するために使用されるシャードの健康状態のカンマ区切りリスト。
    有効な値には次が含まれます:
    • green
    • プライマリシャードとすべてのレプリカシャードが割り当てられています。
    • yellow
    • 1つ以上のレプリカシャードが未割り当てです。
    • red
    • プライマリシャードが未割り当てです。
    • all
    • 健康状態に関係なくすべてのシャードを返します。
      デフォルトはyellow,redです。
  • max_concurrent_shard_requests
  • (オプション、整数)コーディネーティングノードによって送信される同時シャードレベルリクエストの最大数。デフォルトは100です。大きな値は、多くのシャードを対象とするリクエストに対して迅速な応答をもたらす可能性がありますが、他のクラスター操作に対しても大きな影響を与える可能性があります。

特定のデータストリームまたはインデックスのシャードストア情報を取得

Python

  1. resp = client.indices.shard_stores(
  2. index="test",
  3. )
  4. print(resp)

Ruby

  1. response = client.indices.shard_stores(
  2. index: 'test'
  3. )
  4. puts response

Js

  1. const response = await client.indices.shardStores({
  2. index: "test",
  3. });
  4. console.log(response);

コンソール

  1. GET /test/_shard_stores

複数のデータストリームとインデックスのシャードストア情報を取得

Python

  1. resp = client.indices.shard_stores(
  2. index="test1,test2",
  3. )
  4. print(resp)

Ruby

  1. response = client.indices.shard_stores(
  2. index: 'test1,test2'
  3. )
  4. puts response

Js

  1. const response = await client.indices.shardStores({
  2. index: "test1,test2",
  3. });
  4. console.log(response);

コンソール

  1. GET /test1,test2/_shard_stores

すべてのデータストリームとインデックスのシャードストア情報を取得

Python

  1. resp = client.indices.shard_stores()
  2. print(resp)

Ruby

  1. response = client.indices.shard_stores
  2. puts response

Js

  1. const response = await client.indices.shardStores();
  2. console.log(response);

コンソール

  1. GET /_shard_stores

クラスターの健康に基づいてシャードストア情報を取得

シャードの健康に基づいて返される情報を制限するためにstatusクエリパラメータを使用できます。

以下のリクエストは、割り当てられたプライマリおよびレプリカシャードに関する情報のみを返します。

Python

  1. resp = client.indices.shard_stores(
  2. status="green",
  3. )
  4. print(resp)

Ruby

  1. response = client.indices.shard_stores(
  2. status: 'green'
  3. )
  4. puts response

Js

  1. const response = await client.indices.shardStores({
  2. status: "green",
  3. });
  4. console.log(response);

コンソール

  1. GET /_shard_stores?status=green

APIは以下の応答を返します:

コンソール-結果

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 |
| | ストアコピーのステータス、プライマリ、レプリカ、またはまったく使用されていないかどうか |
| | シャードインデックスを開く際に遭遇した例外や以前のエンジンの失敗によるもの |