清除缓存 API
编辑清除缓存 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
路径参数
编辑-
<目标>
- (可选,字符串)用逗号分隔的数据流、索引和别名列表,用于限制请求。支持通配符 (
*
)。要将所有数据流和索引作为目标,请省略此参数或使用*
或_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);
清除特定字段的缓存
编辑要仅清除特定字段的缓存,请使用 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);
清除多个数据流和索引的缓存
编辑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