インデックス API の解決

指定された名前またはインデックスパターンをインデックス、エイリアス、およびデータストリームに対して解決します。複数のパターンとリモートクラスターがサポートされています。

Python

  1. resp = client.indices.resolve_index(
  2. name="my-index-*",
  3. )
  4. print(resp)

Ruby

  1. response = client.indices.resolve_index(
  2. name: 'my-index-*'
  3. )
  4. puts response

Js

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

コンソール

  1. GET /_resolve/index/my-index-*

リクエスト

GET /_resolve/index/<name>

前提条件

  • Elasticsearch のセキュリティ機能が有効になっている場合、ターゲットデータストリーム、インデックス、またはインデックスエイリアスに対して view_index_metadata または manage インデックス特権 を持っている必要があります。

パスパラメータ

  • <name>
  • (必須、文字列) 解決するインデックス、エイリアス、およびデータストリームのカンマ区切りの名前またはインデックスパターン。 マルチターゲット構文を使用します。 リモートクラスターのリソースは、<cluster>:<name> 構文を使用して指定できます。

クエリパラメータ

  • expand_wildcards
  • (オプション、文字列) ワイルドカードパターンが一致できるインデックスのタイプ。リクエストがデータストリームをターゲットにできる場合、この引数はワイルドカード式が隠しデータストリームに一致するかどうかを決定します。カンマ区切りの値をサポートします。例: open,hidden。有効な値は次のとおりです:
    • all
    • すべてのデータストリームまたはインデックスに一致します。 隠しのものも含まれます。
    • open
    • 開いている非隠しインデックスに一致します。隠されていないデータストリームにも一致します。
    • closed
    • 閉じた非隠しインデックスに一致します。隠されていないデータストリームにも一致します。データストリームは閉じることができません。
    • hidden
    • 隠しデータストリームおよび隠しインデックスに一致します。openclosed、またはその両方と組み合わせる必要があります。
    • 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 で非推奨。

Python

  1. resp = client.indices.resolve_index(
  2. name="f*,remoteCluster1:bar*",
  3. expand_wildcards="all",
  4. )
  5. print(resp)

Ruby

  1. response = client.indices.resolve_index(
  2. name: 'f*,remoteCluster1:bar*',
  3. expand_wildcards: 'all'
  4. )
  5. puts response

Js

  1. const response = await client.indices.resolveIndex({
  2. name: "f*,remoteCluster1:bar*",
  3. expand_wildcards: "all",
  4. });
  5. console.log(response);

コンソール

  1. GET /_resolve/index/f*,remoteCluster1:bar*?expand_wildcards=all

API は次の応答を返します:

コンソール-結果

  1. {
  2. "indices": [
  3. {
  4. "name": "foo_closed",
  5. "attributes": [
  6. "closed"
  7. ]
  8. },
  9. {
  10. "name": "freeze-index",
  11. "aliases": [
  12. "f-alias"
  13. ],
  14. "attributes": [
  15. "open"
  16. ]
  17. },
  18. {
  19. "name": "remoteCluster1:bar-01",
  20. "attributes": [
  21. "open"
  22. ]
  23. }
  24. ],
  25. "aliases": [
  26. {
  27. "name": "f-alias",
  28. "indices": [
  29. "freeze-index",
  30. "my-index-000001"
  31. ]
  32. }
  33. ],
  34. "data_streams": [
  35. {
  36. "name": "foo",
  37. "backing_indices": [
  38. ".ds-foo-2099.03.07-000001"
  39. ],
  40. "timestamp_field": "@timestamp"
  41. }
  42. ]
  43. }
提供された名前または式に一致するすべてのインデックス
可能なインデックス属性は openclosedhiddensystem、および frozen です
提供された名前または式に一致するすべてのエイリアス
提供された名前または式に一致するすべてのデータストリーム