インデックス設定API

1つ以上のインデックスの設定情報を返します。データストリームの場合、APIはストリームのバックインデックスの設定情報を返します。

Python

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

Ruby

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

Js

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

コンソール

  1. GET /my-index-000001/_settings

リクエスト

GET /<target>/_settings

GET /<target>/_settings/<setting>

前提条件

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

パスパラメータ

  • <target>
  • (オプション、文字列)リクエストを制限するために使用されるデータストリーム、インデックス、およびエイリアスのカンマ区切りリスト。ワイルドカード(*)をサポートします。すべてのデータストリームとインデックスを対象とするには、このパラメータを省略するか、*または_allを使用します。
  • <setting>
  • (オプション、文字列)リクエストを制限するために使用される設定名のカンマ区切りリストまたはワイルドカード式。

クエリパラメータ

  • allow_no_indices
  • (オプション、ブール値)falseの場合、リクエストは、ワイルドカード式、インデックスエイリアス、または_allの値が欠落または閉じたインデックスのみを対象とする場合にエラーを返します。この動作は、リクエストが他のオープンインデックスを対象としている場合でも適用されます。たとえば、foo*,bar*を対象とするリクエストは、fooで始まるインデックスがあるが、barで始まるインデックスがない場合にエラーを返します。
    デフォルトはtrueです。
  • expand_wildcards
  • (オプション、文字列)ワイルドカードパターンが一致できるインデックスのタイプ。リクエストがデータストリームを対象とできる場合、この引数はワイルドカード式が隠れたデータストリームに一致するかどうかを決定します。カンマ区切りの値(open,hiddenなど)をサポートします。有効な値は:
    • all
    • すべてのデータストリームまたはインデックスに一致し、隠れたものも含まれます。
    • open
    • オープンで非隠れたインデックスに一致します。また、非隠れたデータストリームにも一致します。
    • closed
    • クローズドで非隠れたインデックスに一致します。また、非隠れたデータストリームにも一致します。データストリームはクローズできません。
    • hidden
    • 隠れたデータストリームと隠れたインデックスに一致します。openclosed、またはその両方と組み合わせる必要があります。
    • none
    • ワイルドカードパターンは受け付けられません。
      デフォルトはopenです。
  • flat_settings
  • (オプション、ブール値)trueの場合、設定をフラット形式で返します。デフォルトはfalseです。
  • include_defaults
  • (オプション、ブール値)trueの場合、レスポンスにすべてのデフォルト設定を返します。デフォルトはfalseです。
  • ignore_unavailable
  • (オプション、ブール値)falseの場合、リクエストは欠落またはクローズドインデックスを対象とする場合にエラーを返します。デフォルトはfalseです。
  • local
  • (オプション、ブール値)trueの場合、リクエストはローカルノードからのみ情報を取得します。デフォルトはfalseで、マスターノードから情報を取得します。
  • master_timeout
  • (オプション、時間単位)マスターノードを待機する期間。タイムアウトが切れる前にマスターノードが利用できない場合、リクエストは失敗し、エラーを返します。デフォルトは30sです。リクエストがタイムアウトしないことを示すために-1に設定することもできます。

複数のデータストリームとインデックス

設定取得APIを使用して、1回の呼び出しで複数のデータストリームまたはインデックスの設定を取得できます。クラスター内のすべてのインデックスの設定を取得するには、_allまたは*<target>に使用できます。ワイルドカード式もサポートされています。以下はいくつかの例です:

Python

  1. resp = client.indices.get_settings(
  2. index="my-index-000001,my-index-000002",
  3. )
  4. print(resp)
  5. resp1 = client.indices.get_settings(
  6. index="_all",
  7. )
  8. print(resp1)
  9. resp2 = client.indices.get_settings(
  10. index="log_2099_*",
  11. )
  12. print(resp2)

Ruby

  1. response = client.indices.get_settings(
  2. index: 'my-index-000001,my-index-000002'
  3. )
  4. puts response
  5. response = client.indices.get_settings(
  6. index: '_all'
  7. )
  8. puts response
  9. response = client.indices.get_settings(
  10. index: 'log_2099_*'
  11. )
  12. puts response

Js

  1. const response = await client.indices.getSettings({
  2. index: "my-index-000001,my-index-000002",
  3. });
  4. console.log(response);
  5. const response1 = await client.indices.getSettings({
  6. index: "_all",
  7. });
  8. console.log(response1);
  9. const response2 = await client.indices.getSettings({
  10. index: "log_2099_*",
  11. });
  12. console.log(response2);

コンソール

  1. GET /my-index-000001,my-index-000002/_settings
  2. GET /_all/_settings
  3. GET /log_2099_*/_settings

名前による設定のフィルタリング

返される設定は、次のようにワイルドカードマッチングでフィルタリングできます:

Python

  1. resp = client.indices.get_settings(
  2. index="log_2099_-*",
  3. name="index.number_*",
  4. )
  5. print(resp)

Ruby

  1. response = client.indices.get_settings(
  2. index: 'log_2099_-*',
  3. name: 'index.number_*'
  4. )
  5. puts response

Js

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

コンソール

  1. GET /log_2099_-*/_settings/index.number_*