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