刷新 API
编辑刷新 API编辑
刷新操作会使自上次刷新后在一个或多个索引上执行的最新操作可用于搜索。对于数据流,API 会在流的底层索引上运行刷新操作。有关刷新操作的更多信息,请参阅近实时搜索。
response = client.indices.refresh( index: 'my-index-000001' ) puts response
POST /my-index-000001/_refresh
描述编辑
使用刷新 API 可以显式地使自上次刷新后在一个或多个索引上执行的所有操作都可用于搜索。如果请求的目标是数据流,则会刷新流的底层索引。
默认情况下,Elasticsearch 每秒定期刷新索引,但仅刷新在过去 30 秒内收到过一个或多个搜索请求的索引。您可以使用 index.refresh_interval
设置更改此默认间隔。
刷新请求是同步的,在刷新操作完成之前不会返回响应。
刷新操作非常消耗资源。为了确保良好的集群性能,我们建议等待 Elasticsearch 的定期刷新,而不是在可能的情况下执行显式刷新。
如果您的应用程序工作流索引文档,然后运行搜索以检索索引文档,我们建议使用 索引 API 的 refresh=wait_for
查询参数选项。此选项可确保索引操作在运行搜索之前等待定期刷新。
路径参数编辑
-
<target>
- (可选,字符串)用于限制请求的数据流、索引和别名的逗号分隔列表。支持通配符 (
*
)。要定位所有数据流和索引,请省略此参数或使用*
或_all
。
查询参数编辑
-
allow_no_indices
-
(可选,布尔值)如果为
false
,则如果任何通配符表达式、索引别名 或_all
值仅定位到缺失或关闭的索引,则请求将返回错误。即使请求定位到其他打开的索引,此行为也适用。例如,如果索引以foo
开头但没有索引以bar
开头,则定位到foo*,bar*
的请求将返回错误。默认为
true
。 -
expand_wildcards
-
(可选,字符串)通配符模式可以匹配的索引类型。如果请求可以定位数据流,则此参数确定通配符表达式是否匹配隐藏数据流。支持逗号分隔值,例如
open,hidden
。有效值为-
all
- 匹配任何数据流或索引,包括隐藏的数据流或索引。
-
open
- 匹配打开的、非隐藏的索引。也匹配任何非隐藏的数据流。
-
closed
- 匹配关闭的、非隐藏的索引。也匹配任何非隐藏的数据流。数据流不能关闭。
-
hidden
- 匹配隐藏的数据流和隐藏的索引。必须与
open
、closed
或两者结合使用。 -
none
- 不接受通配符模式。
默认为
open
。 -
-
ignore_unavailable
- (可选,布尔值)如果为
false
,则如果请求定位到缺失或关闭的索引,则请求将返回错误。默认为false
。