Fleet 搜索 API

编辑

Fleet 搜索 API 的目的是提供一个搜索 API,该 API 仅在提供的检查点被处理且在 Elasticsearch 中对搜索可见后才会执行搜索。

Fleet 搜索 API 旨在通过 fleet 服务器间接使用。不支持直接使用。Elastic 保留在未来版本中更改或删除此功能而不事先通知的权利。

等待检查点功能

编辑

Fleet 搜索 API 支持可选参数 wait_for_checkpoints。此参数是序列号检查点的列表。当此参数存在时,搜索将仅在所有操作(包括提供的序列号检查点)对搜索可见后才会在本地分片上执行。索引操作在刷新后变得可见。检查点按分片索引。

如果在检查点刷新到 Elasticsearch 之前发生超时,搜索请求将超时。

Fleet 搜索 API 仅支持针对单个目标的搜索。如果将索引别名作为搜索目标提供,则它必须解析为单个具体的索引。

允许部分结果

编辑

默认情况下,Elasticsearch 搜索 API 将允许部分搜索结果。使用此 fleet API,通常将其配置为 false 或在响应中进行检查以确保每个分片搜索都成功。如果未采取这些预防措施,即使一个或多个分片超时,也可能会成功返回搜索结果。

请求

编辑

GET /<target>/_fleet/_fleet_search

路径参数

编辑
<target>
(必需,字符串)要搜索的单个目标。如果目标是索引别名,则它必须解析为单个索引。

查询参数

编辑
wait_for_checkpoints
(可选,列表)以逗号分隔的检查点列表。配置后,搜索 API 仅在相关检查点对搜索可见后才会在分片上执行。默认为空列表,这将导致 Elasticsearch 立即执行搜索。
allow_partial_search_results
(可选,布尔值)如果为 true,则在存在分片请求超时或分片故障时返回部分结果。如果为 false,则返回错误,不返回部分结果。默认为配置的集群设置 search.default_allow_partial_results,默认情况下为 true