Flush API
编辑Flush API
编辑刷新一个或多个数据流或索引。
resp = client.indices.flush( index="my-index-000001", ) print(resp)
response = client.indices.flush( index: 'my-index-000001' ) puts response
const response = await client.indices.flush({ index: "my-index-000001", }); console.log(response);
POST /my-index-000001/_flush
描述
编辑刷新数据流或索引是将当前仅存储在事务日志中的任何数据永久存储到 Lucene 索引中的过程。重新启动时,Elasticsearch 会将事务日志中任何未刷新的操作重放到 Lucene 索引中,使其恢复到重新启动之前的状态。Elasticsearch 会根据需要自动触发刷新,使用启发式方法来权衡未刷新的事务日志大小与执行每次刷新的成本。
一旦每个操作被刷新,它就会永久存储在 Lucene 索引中。这可能意味着不需要在事务日志中维护额外的副本。事务日志由多个文件组成,称为代,Elasticsearch 会在不再需要时删除任何代文件,从而释放磁盘空间。
也可以使用 flush API 触发对一个或多个索引的刷新,尽管用户很少需要直接调用此 API。如果在索引一些文档后调用 flush API,则成功的响应表示 Elasticsearch 已刷新在调用 flush API 之前索引的所有文档。
路径参数
编辑-
<target>
- (可选,字符串)要刷新的数据流、索引和别名的逗号分隔列表。支持通配符 (
*
)。要刷新所有数据流和索引,请省略此参数或使用*
或_all
。
查询参数
编辑-
allow_no_indices
-
(可选,布尔值)如果为
false
,则如果任何通配符表达式、索引别名或_all
值仅针对丢失或关闭的索引,则请求会返回错误。即使请求针对其他打开的索引,此行为也适用。例如,如果索引以foo
开头,但没有索引以bar
开头,则针对foo*,bar*
的请求会返回错误。默认为
true
。 -
expand_wildcards
-
(可选,字符串)通配符模式可以匹配的索引类型。如果请求可以针对数据流,则此参数确定通配符表达式是否匹配隐藏数据流。支持逗号分隔的值,例如
open,hidden
。有效值为-
all
- 匹配任何数据流或索引,包括隐藏的。
-
open
- 匹配打开的、非隐藏的索引。还匹配任何非隐藏的数据流。
-
closed
- 匹配关闭的、非隐藏的索引。还匹配任何非隐藏的数据流。数据流无法关闭。
-
hidden
- 匹配隐藏的数据流和隐藏的索引。必须与
open
、closed
或两者结合使用。 -
none
- 不接受通配符模式。
默认为
open
。 -
-
force
-
(可选,布尔值)如果为
true
,则即使没有要提交到索引的更改,请求也会强制刷新。默认为false
。您可以使用此参数来递增事务日志的代号。
此参数被认为是内部参数。
-
ignore_unavailable
- (可选,布尔值)如果为
false
,则如果请求针对丢失或关闭的索引,则会返回错误。默认为false
。 -
wait_if_ongoing
-
(可选,布尔值)如果为
true
,则当另一个刷新操作正在运行时,刷新操作会阻塞直到执行。如果为
false
,则当另一个刷新操作正在运行时,如果您请求刷新,Elasticsearch 会返回错误。默认为
true
。
示例
编辑刷新特定的数据流或索引
编辑resp = client.indices.flush( index="my-index-000001", ) print(resp)
response = client.indices.flush( index: 'my-index-000001' ) puts response
const response = await client.indices.flush({ index: "my-index-000001", }); console.log(response);
POST /my-index-000001/_flush
刷新多个数据流和索引
编辑resp = client.indices.flush( index="my-index-000001,my-index-000002", ) print(resp)
response = client.indices.flush( index: 'my-index-000001,my-index-000002' ) puts response
const response = await client.indices.flush({ index: "my-index-000001,my-index-000002", }); console.log(response);
POST /my-index-000001,my-index-000002/_flush
刷新集群中的所有数据流和索引
编辑resp = client.indices.flush() print(resp)
response = client.indices.flush puts response
const response = await client.indices.flush(); console.log(response);
POST /_flush