丰富API
edit丰富API
edit以下是用于管理丰富策略的丰富API:
创建丰富策略 API
edit创建一个富化策略。
PUT /_enrich/policy/my-policy
{
"match": {
"indices": "users",
"match_field": "email",
"enrich_fields": ["first_name", "last_name", "city", "zip", "state"]
}
}
请求
editPUT /_enrich/policy/
描述
edit使用创建丰富策略 API 来创建一个 丰富策略。
一旦创建,您无法更新或更改一个富化策略。 相反,您可以:
- 创建并执行一个新的丰富策略。
- 用新的丰富策略替换之前使用的丰富策略, 在任何正在使用的丰富处理器或ES|QL查询中。
- 使用删除丰富策略 API 或 Kibana中的索引管理 删除之前的丰富策略。
路径参数
edit-
<enrich-policy> - (必需,字符串) 要创建或更新的丰富策略的名称。
请求体
edit-
<policy-type> -
(必需,对象) 配置富化策略。字段键是富化策略类型。有效的键值包括:
-
geo_match -
基于
geo_shape查询,将富化数据与传入文档匹配。有关示例,请参见 示例:基于地理位置丰富您的数据。 -
match -
基于
term查询,将富化数据与传入文档匹配。有关示例,请参见 示例:基于精确值丰富您的数据。 -
range -
将传入文档中的数字、日期或IP地址与富化索引中的范围匹配,基于
term查询。有关示例, 请参见示例:通过将值与范围匹配来丰富您的数据。
-
删除丰富策略 API
edit删除现有的enrich policy及其 enrich index。
DELETE /_enrich/policy/my-policy
请求
editDELETE /_enrich/policy/
路径参数
edit-
<enrich-policy> - (必需,字符串) 要删除的充实策略。
获取丰富策略 API
edit返回有关enrich policy的信息。
GET /_enrich/policy/my-policy
路径参数
edit-
<name> -
(可选, 字符串) 逗号分隔的丰富策略名称列表 用于限制请求。
要返回所有丰富策略的信息,请省略此参数。
示例
edit获取单个策略
editGET /_enrich/policy/my-policy
API返回以下响应:
{
"policies": [
{
"config": {
"match": {
"name": "my-policy",
"indices": [ "users" ],
"match_field": "email",
"enrich_fields": [
"first_name",
"last_name",
"city",
"zip",
"state"
]
}
}
}
]
}
获取多个策略
editGET /_enrich/policy/my-policy,other-policy
API返回以下响应:
{
"policies": [
{
"config": {
"match": {
"name": "my-policy",
"indices": [ "users" ],
"match_field": "email",
"enrich_fields": [
"first_name",
"last_name",
"city",
"zip",
"state"
]
}
}
},
{
"config": {
"match": {
"name": "other-policy",
"indices": [ "users" ],
"match_field": "email",
"enrich_fields": [
"first_name",
"last_name",
"city",
"zip",
"state"
]
}
}
}
]
}
获取所有策略
editGET /_enrich/policy
API返回以下响应:
{
"policies": [
{
"config": {
"match": {
"name": "my-policy",
"indices": [ "users" ],
"match_field": "email",
"enrich_fields": [
"first_name",
"last_name",
"city",
"zip",
"state"
]
}
}
},
{
"config": {
"match": {
"name": "other-policy",
"indices": [ "users" ],
"match_field": "email",
"enrich_fields": [
"first_name",
"last_name",
"city",
"zip",
"state"
]
}
}
}
]
}
执行丰富策略 API
edit执行现有的 enrich policy。
PUT /_enrich/policy/my-policy/_execute?wait_for_completion=false
描述
edit使用执行丰富策略 API 为现有丰富策略创建丰富索引。
该丰富索引包含来自策略源索引的文档。
丰富索引始终以.enrich-*开头,
是只读的,
并且会进行强制合并。
Enrich 索引应仅由 enrich 处理器
或 ES|QL ENRICH 命令使用。避免将 enrich 索引用于其他目的。
一旦创建,您无法更新或将文档索引到扩展索引中。 相反,请更新您的源索引并执行扩展策略。 这将使用您更新的源索引创建一个新的扩展索引。 之前的扩展索引将通过延迟维护作业删除。 默认情况下,这是每15分钟执行一次。
默认情况下,此API是同步的:它在策略执行完毕后返回。由于执行策略会执行多个操作,因此可能需要一些时间才能返回响应,尤其是在源索引较大的情况下。这可能导致超时。为了防止超时,请将wait_for_completion参数设置为false。这将请求在后台异步运行,并返回一个任务ID。您可以使用任务ID通过任务管理API来管理请求。
路径参数
edit-
<enrich-policy> - (必需,字符串) 要执行的丰富策略。
查询参数
edit-
wait_for_completion -
(可选,布尔值)
如果
true,请求会阻塞直到执行完成。如果false,请求会立即返回,执行在后台异步运行。 默认为true。
丰富统计 API
edit返回富集协调器统计信息 以及关于当前正在执行的富集策略的信息。
GET /_enrich/_stats
请求
editGET /_enrich/_stats
响应体
edit-
executing_policies -
(对象数组) 包含有关每个正在执行的 丰富策略的信息的对象。
返回的参数包括:
-
name - (字符串) 丰富策略的名称。
-
task - (任务对象) 包含有关策略执行任务的详细信息的对象。
-
-
coordinator_stats -
(对象数组) 包含有关每个协调摄取节点 的配置信息的对象。
返回的参数包括:
-
node_id - (字符串) 协调搜索请求的摄取节点的ID,用于配置的丰富处理器。
-
queue_size - (整数) 队列中的搜索请求数量。
-
remote_requests_current - (整数) 当前未完成的远程请求数量。
-
remote_requests_total -
(整数) 自节点启动以来执行的未完成的远程请求数量。
在大多数情况下, 远程请求包括多个搜索请求。 这取决于远程请求执行时队列中的搜索请求数量。
-
executed_searches_total - (整数) 自节点启动以来,丰富处理器执行的搜索请求数量。
-
-
cache_stats -
(对象数组) 包含有关每个摄取节点上的丰富缓存统计信息的对象。
返回的参数包括:
-
node_id - (字符串) 具有丰富缓存的摄取节点的ID。
-
count - (整数) 缓存条目的数量。
-
hits - (整数) 从缓存中提供服务的丰富查找次数。
-
misses - (整数) 无法从缓存中提供服务的丰富查找次数。
-
evictions - (整数) 从缓存中驱逐的缓存条目数量。
-
hits_time_in_millis - (长整型) 仅在成功缓存命中时,从缓存中获取数据所花费的时间(以毫秒为单位)。
-
misses_time_in_millis - (长整型) 仅在缓存未命中时,从丰富索引中获取数据并更新缓存所花费的时间(以毫秒为单位)。
-
size_in_bytes - (长整型) 丰富缓存在堆上占用的大小的近似值(以字节为单位)。
-
示例
editGET /_enrich/_stats
API返回以下响应:
{
"executing_policies": [
{
"name": "my-policy",
"task": {
"id": 124,
"type": "direct",
"action": "cluster:admin/xpack/enrich/execute",
"start_time_in_millis": 1458585884904,
"running_time_in_nanos": 47402,
"cancellable": false,
"parent_task_id": "oTUltX4IQMOUUVeiohTt8A:123",
"headers": {
"X-Opaque-Id": "123456"
}
}
}
],
"coordinator_stats": [
{
"node_id": "1sFM8cmSROZYhPxVsiWew",
"queue_size": 0,
"remote_requests_current": 0,
"remote_requests_total": 0,
"executed_searches_total": 0
}
],
"cache_stats": [
{
"node_id": "1sFM8cmSROZYhPxVsiWew",
"count": 0,
"hits": 0,
"misses": 0,
"evictions": 0,
"hits_time_in_millis": 0,
"misses_time_in_millis": 0,
"size_in_bytes": 0
}
]
}