Link Search Menu Expand Document Documentation Menu

刷新

1.0 版引入

Flush API 将所有内存中的操作存储到磁盘上的段中。刷新到索引段的操作在集群重启期间不再需要事务日志,因为这些操作现在已存储在 Lucene 索引中。

OpenSearch 会根据事务日志大小等条件在后台自动执行 Flush 操作,这由 index.translog.flush_threshold_size 设置控制。请谨慎使用 Flush API,例如用于手动重启或释放内存。

端点

Flush API 支持以下路径

GET /_flush
POST /_flush
GET /{index}/_flush
POST /{index}/_flush

路径参数

下表列出了可用的路径参数。所有路径参数均为可选。

参数 数据类型 描述
<index> 字符串 一个逗号分隔的索引、数据流或索引别名列表,操作将应用于这些对象。支持通配符表达式 (*)。使用 _all* 指定集群中的所有索引和数据流。

查询参数

所有参数都是可选的。

参数 数据类型 描述
allow_no_indices 布尔型 当为 false 时,如果任何通配符表达式或索引别名指向任何已关闭或缺失的索引,请求将返回错误。默认为 true
expand_wildcards 字符串 指定通配符表达式可以扩展到的索引类型。支持逗号分隔的值。有效值为
- all:扩展到所有开放和关闭的索引,包括隐藏索引。
- open:扩展到开放索引。
- closed:扩展到关闭索引。
- hidden: 展开时包含隐藏索引。必须与 openclosed 或两者结合使用。
- none:不接受通配符表达式。
默认值为 open
force 布尔型 当为 true 时,即使内存中没有索引更改,也会强制执行 Flush 操作。默认为 true
ignore_unavailable 布尔型 当为 true 时,OpenSearch 会忽略缺失或已关闭的索引。如果为 false,如果强制合并操作遇到缺失或已关闭的索引,OpenSearch 将返回错误。默认为 false
wait_if_ongoing 布尔型 当为 true 时,Flush API 在另一个 Flush 请求处于活动状态时不会运行。当为 false 时,如果另一个 Flush 请求处于活动状态,OpenSearch 将返回错误。默认为 true

示例请求

刷新特定索引

以下示例刷新名为 shakespeare 的索引

POST /shakespeare/_flush

刷新所有索引

以下示例刷新集群中的所有索引

POST /_flush

示例响应

OpenSearch 将响应已确认 Flush 请求的分片数量、已完成请求的分片数量以及失败的分片数量

{
  "_shards": {
    "total": 10,
    "successful": 10,
    "failed": 0
  }
}
剩余 350 字符

有问题?

想做贡献?