キャッシュクリアAPI

1つ以上のインデックスのキャッシュをクリアします。データストリームの場合、APIはストリームのバックインデックスのキャッシュをクリアします。

Python

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

Ruby

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

Js

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

コンソール

  1. 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
    • 隠れたデータストリームと隠れたインデックスに一致します。openclosed、またはその両方と組み合わせる必要があります。
    • none
    • ワイルドカードパターンは受け入れられません。
      デフォルトはopenです。
  • fielddata
  • (オプション、ブール値)trueの場合、フィールドキャッシュをクリアします。
    特定のフィールドのキャッシュをクリアするには、fieldsパラメータを使用します。
  • fields
  • (オプション、文字列)fielddataパラメータを制限するために使用されるフィールド名のカンマ区切りリスト。
    すべてのフィールドがデフォルトです。
    このパラメータはオブジェクトやフィールドエイリアスをサポートしていません。
  • index
  • (オプション、文字列)リクエストを制限するために使用されるインデックス名のカンマ区切りリスト。
  • ignore_unavailable
  • (オプション、ブール値)falseの場合、リクエストは欠落または閉じたインデックスをターゲットにする場合にエラーを返します。デフォルトはfalseです。
  • query
  • (オプション、ブール値)trueの場合、クエリキャッシュをクリアします。
  • request
  • (オプション、ブール値)trueの場合、リクエストキャッシュをクリアします。

特定のキャッシュをクリア

デフォルトでは、キャッシュクリアAPIはすべてのキャッシュをクリアします。次のクエリパラメータをtrueに設定することで、特定のキャッシュのみをクリアできます:

  • fielddata
  • query
  • request

Python

  1. resp = client.indices.clear_cache(
  2. index="my-index-000001",
  3. fielddata=True,
  4. )
  5. print(resp)
  6. resp1 = client.indices.clear_cache(
  7. index="my-index-000001",
  8. query=True,
  9. )
  10. print(resp1)
  11. resp2 = client.indices.clear_cache(
  12. index="my-index-000001",
  13. request=True,
  14. )
  15. print(resp2)

Ruby

  1. response = client.indices.clear_cache(
  2. index: 'my-index-000001',
  3. fielddata: true
  4. )
  5. puts response
  6. response = client.indices.clear_cache(
  7. index: 'my-index-000001',
  8. query: true
  9. )
  10. puts response
  11. response = client.indices.clear_cache(
  12. index: 'my-index-000001',
  13. request: true
  14. )
  15. puts response

Js

  1. const response = await client.indices.clearCache({
  2. index: "my-index-000001",
  3. fielddata: "true",
  4. });
  5. console.log(response);
  6. const response1 = await client.indices.clearCache({
  7. index: "my-index-000001",
  8. query: "true",
  9. });
  10. console.log(response1);
  11. const response2 = await client.indices.clearCache({
  12. index: "my-index-000001",
  13. request: "true",
  14. });
  15. console.log(response2);

コンソール

  1. POST /my-index-000001/_cache/clear?fielddata=true
  2. POST /my-index-000001/_cache/clear?query=true
  3. POST /my-index-000001/_cache/clear?request=true
フィールドキャッシュのみをクリア
クエリキャッシュのみをクリア
リクエストキャッシュのみをクリア

特定のフィールドのキャッシュをクリア

特定のフィールドのキャッシュのみをクリアするには、fieldsクエリパラメータを使用します。

Python

  1. resp = client.indices.clear_cache(
  2. index="my-index-000001",
  3. fields="foo,bar",
  4. )
  5. print(resp)

Ruby

  1. response = client.indices.clear_cache(
  2. index: 'my-index-000001',
  3. fields: 'foo,bar'
  4. )
  5. puts response

Js

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

コンソール

  1. POST /my-index-000001/_cache/clear?fields=foo,bar
fooおよびbarフィールドのキャッシュをクリア

複数のデータストリームとインデックスのキャッシュをクリア

Python

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

Ruby

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

Js

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

コンソール

  1. POST /my-index-000001,my-index-000002/_cache/clear

すべてのデータストリームとインデックスのキャッシュをクリア

Python

  1. resp = client.indices.clear_cache()
  2. print(resp)

Ruby

  1. response = client.indices.clear_cache
  2. puts response

Js

  1. const response = await client.indices.clearCache();
  2. console.log(response);

コンソール

  1. POST /_cache/clear