Fleet API

edit

有关Kibana Fleet API的信息,请参阅 Fleet API 文档

以下API支持Fleet将Elasticsearch用作内部代理和操作数据的数据存储。这些API是实验性的,仅供Fleet内部使用。

获取全局检查点 API

edit

get global checkpoints api 的目的是返回索引的当前全局检查点。此 API 允许用户了解哪些序列号已在 Elasticsearch 中安全地持久化。

轮询全局检查点推进

edit

该API有一个可选的轮询模式,通过wait_for_advance查询参数启用。在轮询模式下,API只有在全局检查点超过提供的checkpoints后才会返回。默认情况下,checkpoints是一个空数组,这将导致API立即返回。

如果在全局检查点超过提供的检查点之前发生超时,Elasticsearch将返回当前的全局检查点和一个布尔值,指示请求已超时。

目前,wait_for_advance 参数仅支持单分片索引。

在索引就绪时轮询

edit

在轮询模式下,默认情况下,如果索引不存在或所有主分片未处于活动状态,将返回异常。在轮询模式下,可以使用wait_for_index参数来修改此行为。如果wait_for_index设置为true,API将等待索引创建并使所有主分片处于活动状态。

如果在这些条件满足之前发生超时,将返回相关的异常。

目前,仅当 wait_for_advance 为 true 时,才支持 wait_for_index 参数。

请求

edit

GET //_fleet/global_checkpoints

路径参数

edit
<index>
(必需,字符串) 单个索引或索引别名,解析为单个索引。

查询参数

edit
wait_for_advance
(可选, 布尔值) 一个布尔值,用于控制是否等待(直到超时)全局检查点超过提供的检查点。默认为false
wait_for_index
(可选, 布尔值) 一个布尔值,用于控制是否等待(直到timeout)目标索引存在且所有主分片处于活动状态。仅当wait_for_advancetrue时,才能为true。默认为false
checkpoints
(可选,列表) 一个以逗号分隔的先前全局检查点的列表。 当与 wait_for_advance 一起使用时,API 将仅在全局检查点超过 checkpoints 时返回。默认为一个空列表,这将导致 Elasticsearch 立即返回当前的全局检查点。
timeout
(可选, 时间单位) 等待全局检查点超过 checkpoints 的时间段。 默认为 30s

响应体

edit
global_checkpoints
(整数数组) 索引的全局检查点。
timed_out
(布尔值) 如果 false,全局检查点没有在指定的 timeout 内超过 checkpoints

车队搜索 API

edit

fleet search api 的目的是提供一个搜索 api,该搜索仅在提供的检查点已被处理并在 Elasticsearch 内部可用于搜索时执行。

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

等待检查点功能

edit

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

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

舰队搜索API仅支持对单个目标进行搜索。如果提供的搜索目标是索引别名,则它必须解析为单个具体索引。

允许部分结果

edit

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

请求

edit

GET //_fleet/_fleet_search

路径参数

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

查询参数

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

Fleet 多搜索 API

edit

通过单个API请求执行多个fleet搜索

该API遵循与multi search API相同的结构。然而,类似于fleet search API,它支持wait_for_checkpoints参数。

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

请求

edit

GET /_fleet/_fleet_msearch

GET //_fleet/_fleet_msearch

路径参数

edit
<target>
(可选, 字符串) 一个单一的目标进行搜索。如果目标是索引别名,它必须解析为单个索引。

查询参数

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