インデックス設定API
1つ以上のインデックスの設定情報を返します。データストリームの場合、APIはストリームのバックインデックスの設定情報を返します。
Python
resp = client.indices.get_settings(
index="my-index-000001",
)
print(resp)
Ruby
response = client.indices.get_settings(
index: 'my-index-000001'
)
puts response
Js
const response = await client.indices.getSettings({
index: "my-index-000001",
});
console.log(response);
コンソール
GET /my-index-000001/_settings
リクエスト
GET /<target>/_settings
GET /<target>/_settings/<setting>
前提条件
- Elasticsearchのセキュリティ機能が有効になっている場合、ターゲットデータストリーム、インデックス、またはエイリアスに対して
view_index_metadata
、monitor
、またはmanage
インデックス権限を持っている必要があります。
パスパラメータ
<target>
- (オプション、文字列)リクエストを制限するために使用されるデータストリーム、インデックス、およびエイリアスのカンマ区切りリスト。ワイルドカード(
*
)をサポートします。すべてのデータストリームとインデックスを対象とするには、このパラメータを省略するか、*
または_all
を使用します。 <setting>
- (オプション、文字列)リクエストを制限するために使用される設定名のカンマ区切りリストまたはワイルドカード式。
クエリパラメータ
allow_no_indices
- (オプション、ブール値)
false
の場合、リクエストは、ワイルドカード式、インデックスエイリアス、または_all
の値が欠落または閉じたインデックスのみを対象とする場合にエラーを返します。この動作は、リクエストが他のオープンインデックスを対象としている場合でも適用されます。たとえば、foo*,bar*
を対象とするリクエストは、foo
で始まるインデックスがあるが、bar
で始まるインデックスがない場合にエラーを返します。
デフォルトはtrue
です。 expand_wildcards
- (オプション、文字列)ワイルドカードパターンが一致できるインデックスのタイプ。リクエストがデータストリームを対象とできる場合、この引数はワイルドカード式が隠れたデータストリームに一致するかどうかを決定します。カンマ区切りの値(
open,hidden
など)をサポートします。有効な値は:all
- すべてのデータストリームまたはインデックスに一致し、隠れたものも含まれます。
open
- オープンで非隠れたインデックスに一致します。また、非隠れたデータストリームにも一致します。
closed
- クローズドで非隠れたインデックスに一致します。また、非隠れたデータストリームにも一致します。データストリームはクローズできません。
hidden
- 隠れたデータストリームと隠れたインデックスに一致します。
open
、closed
、またはその両方と組み合わせる必要があります。 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
resp = client.indices.get_settings(
index="my-index-000001,my-index-000002",
)
print(resp)
resp1 = client.indices.get_settings(
index="_all",
)
print(resp1)
resp2 = client.indices.get_settings(
index="log_2099_*",
)
print(resp2)
Ruby
response = client.indices.get_settings(
index: 'my-index-000001,my-index-000002'
)
puts response
response = client.indices.get_settings(
index: '_all'
)
puts response
response = client.indices.get_settings(
index: 'log_2099_*'
)
puts response
Js
const response = await client.indices.getSettings({
index: "my-index-000001,my-index-000002",
});
console.log(response);
const response1 = await client.indices.getSettings({
index: "_all",
});
console.log(response1);
const response2 = await client.indices.getSettings({
index: "log_2099_*",
});
console.log(response2);
コンソール
GET /my-index-000001,my-index-000002/_settings
GET /_all/_settings
GET /log_2099_*/_settings
名前による設定のフィルタリング
返される設定は、次のようにワイルドカードマッチングでフィルタリングできます:
Python
resp = client.indices.get_settings(
index="log_2099_-*",
name="index.number_*",
)
print(resp)
Ruby
response = client.indices.get_settings(
index: 'log_2099_-*',
name: 'index.number_*'
)
puts response
Js
const response = await client.indices.getSettings({
index: "log_2099_-*",
name: "index.number_*",
});
console.log(response);
コンソール
GET /log_2099_-*/_settings/index.number_*