マッピングAPIの取得

mapping definitionsを1つ以上のインデックスのために取得します。データストリームの場合、APIはストリームのバックインデックスのマッピングを取得します。

Python

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

Ruby

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

Go

  1. res, err := es.Indices.GetMapping(es.Indices.GetMapping.WithIndex("my-index-000001"))
  2. fmt.Println(res, err)

Js

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

コンソール

  1. GET /my-index-000001/_mapping

リクエスト

GET /_mapping

GET /<target>/_mapping

前提条件

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

パスパラメータ

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

クエリパラメータ

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

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

get mapping APIは、1回の呼び出しで複数のデータストリームまたはインデックスを取得するために使用できます。APIの一般的な使用法は、次の構文に従います:host:port/<target>/_mapping、ここで<target>はカンマ区切りの名前のリストを受け入れることができます。クラスター内のすべてのデータストリームとインデックスのマッピングを取得するには、_allまたは*<target>に使用するか、<target>パラメータを省略します。以下はいくつかの例です:

Python

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

Ruby

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

Js

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

コンソール

  1. GET /my-index-000001,my-index-000002/_mapping

クラスター内のすべてのインデックスのマッピングを取得したい場合、以下の例は同等です:

Php

  1. $params = [
  2. 'index' => '*',
  3. ];
  4. $response = $client->indices()->getMapping($params);
  5. $params = [
  6. 'index' => '_all',
  7. ];
  8. $response = $client->indices()->getMapping($params);
  9. $response = $client->indices()->getMapping();

Python

  1. resp = client.indices.get_mapping(
  2. index="*",
  3. )
  4. print(resp)
  5. resp1 = client.indices.get_mapping(
  6. index="_all",
  7. )
  8. print(resp1)
  9. resp2 = client.indices.get_mapping()
  10. print(resp2)

Ruby

  1. response = client.indices.get_mapping(
  2. index: '*'
  3. )
  4. puts response
  5. response = client.indices.get_mapping(
  6. index: '_all'
  7. )
  8. puts response
  9. response = client.indices.get_mapping
  10. puts response

Go

  1. {
  2. res, err := es.Indices.GetMapping(es.Indices.GetMapping.WithIndex("*"))
  3. fmt.Println(res, err)
  4. }
  5. {
  6. res, err := es.Indices.GetMapping(es.Indices.GetMapping.WithIndex("_all"))
  7. fmt.Println(res, err)
  8. }
  9. {
  10. res, err := es.Indices.GetMapping()
  11. fmt.Println(res, err)
  12. }

Js

  1. const response = await client.indices.getMapping({
  2. index: "*",
  3. });
  4. console.log(response);
  5. const response1 = await client.indices.getMapping({
  6. index: "_all",
  7. });
  8. console.log(response1);
  9. const response2 = await client.indices.getMapping();
  10. console.log(response2);

コンソール

  1. GET /*/_mapping
  2. GET /_all/_mapping
  3. GET /_mapping