マッピングAPIの取得
mapping definitionsを1つ以上のインデックスのために取得します。データストリームの場合、APIはストリームのバックインデックスのマッピングを取得します。
Python
resp = client.indices.get_mapping(
index="my-index-000001",
)
print(resp)
Ruby
response = client.indices.get_mapping(
index: 'my-index-000001'
)
puts response
Go
res, err := es.Indices.GetMapping(es.Indices.GetMapping.WithIndex("my-index-000001"))
fmt.Println(res, err)
Js
const response = await client.indices.getMapping({
index: "my-index-000001",
});
console.log(response);
コンソール
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
- 隠れたデータストリームと隠れたインデックスに一致します。
open
、closed
、またはその両方と組み合わせる必要があります。 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
resp = client.indices.get_mapping(
index="my-index-000001,my-index-000002",
)
print(resp)
Ruby
response = client.indices.get_mapping(
index: 'my-index-000001,my-index-000002'
)
puts response
Js
const response = await client.indices.getMapping({
index: "my-index-000001,my-index-000002",
});
console.log(response);
コンソール
GET /my-index-000001,my-index-000002/_mapping
クラスター内のすべてのインデックスのマッピングを取得したい場合、以下の例は同等です:
Php
$params = [
'index' => '*',
];
$response = $client->indices()->getMapping($params);
$params = [
'index' => '_all',
];
$response = $client->indices()->getMapping($params);
$response = $client->indices()->getMapping();
Python
resp = client.indices.get_mapping(
index="*",
)
print(resp)
resp1 = client.indices.get_mapping(
index="_all",
)
print(resp1)
resp2 = client.indices.get_mapping()
print(resp2)
Ruby
response = client.indices.get_mapping(
index: '*'
)
puts response
response = client.indices.get_mapping(
index: '_all'
)
puts response
response = client.indices.get_mapping
puts response
Go
{
res, err := es.Indices.GetMapping(es.Indices.GetMapping.WithIndex("*"))
fmt.Println(res, err)
}
{
res, err := es.Indices.GetMapping(es.Indices.GetMapping.WithIndex("_all"))
fmt.Println(res, err)
}
{
res, err := es.Indices.GetMapping()
fmt.Println(res, err)
}
Js
const response = await client.indices.getMapping({
index: "*",
});
console.log(response);
const response1 = await client.indices.getMapping({
index: "_all",
});
console.log(response1);
const response2 = await client.indices.getMapping();
console.log(response2);
コンソール
GET /*/_mapping
GET /_all/_mapping
GET /_mapping