API очистки кэша
Очищает кэш одного или нескольких индексов. Для потоков данных API очищает кэш индексов, которые лежат в основе потока.
resp = client.indices.clear_cache(
index="my-index-000001",
)
print(resp) response = client.indices.clear_cache( index: 'my-index-000001' ) puts response
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, у вас должны быть разрешения
manageindex на целевой поток данных, индекс или псевдоним.
Параметры пути
-
<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
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) 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
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.
resp = client.indices.clear_cache(
index="my-index-000001",
fields="foo,bar",
)
print(resp) response = client.indices.clear_cache( index: 'my-index-000001', fields: 'foo,bar' ) puts response
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
| Очистка кэша для полей |
Очистка кэша для нескольких потоков данных и индексов
resp = client.indices.clear_cache(
index="my-index-000001,my-index-000002",
)
print(resp) response = client.indices.clear_cache( index: 'my-index-000001,my-index-000002' ) puts response
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
Очистка кэша для всех потоков данных и индексов
resp = client.indices.clear_cache() print(resp)
response = client.indices.clear_cache puts response
const response = await client.indices.clearCache(); console.log(response);
POST /_cache/clear
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/indices-clearcache.html