建议用户配置文件 API
编辑建议用户配置文件 API编辑
用户配置文件功能仅供 Kibana 和 Elastic 的可观测性、企业搜索和 Elastic 安全解决方案使用。个人用户和外部应用程序不应直接调用此 API。Elastic 保留将来在不事先通知的情况下更改或删除此功能的权利。
获取与指定搜索条件匹配的用户配置文件的建议。
查询参数编辑
-
data
- (可选,字符串)配置文件文档的
data
字段的逗号分隔过滤器列表。要返回所有内容,请使用data=*
。要返回内容的子集,请使用data=<key>
检索嵌套在指定<key>
下的内容。默认为不返回任何内容。
请求正文编辑
将 data
同时指定为查询参数和请求正文字段是一个错误。
-
hint
-
(可选,对象)额外的搜索条件,用于提高建议结果的相关性。匹配指定提示的配置文件在响应中排名更高。但只要与
name
字段查询匹配,不匹配提示不会将配置文件排除在响应之外。hint
的属性-
uids
- (可选,字符串列表)要匹配的配置文件 UID 列表。
-
labels
- (可选,对象)要与配置文件的
labels
部分匹配的单个键值对。键必须是字符串,值必须是字符串或字符串列表。如果配置文件匹配至少一个字符串,则认为它匹配。
-
响应正文编辑
-
total
- (对象)有关匹配配置文件数量的元数据。
-
took
- (整数)Elasticsearch 执行请求所花费的毫秒数。
-
profiles
- (对象数组)与搜索条件匹配的配置文件文档列表,按相关性排序。
示例编辑
以下请求获取与名称相关字段匹配 jack
的配置文件文档的建议。它同时指定了 uids
和 labels
提示以获得更好的相关性
POST /_security/profile/_suggest { "name": "jack", "hint": { "uids": [ "u_8RKO7AKfEbSiIHZkZZ2LJy2MUSDPWDr3tMI_CkIGApU_0", "u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0" ], "labels": { "direction": ["north", "east"] } } }
配置文件的与名称相关的字段必须匹配 |
|
|
|
|
API 返回
{ "took": 30, "total": { "value": 3, "relation": "eq" }, "profiles": [ { "uid": "u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0", "user": { "username": "jacknich", "roles": [ "admin", "other_role1" ], "realm_name": "native", "email" : "[email protected]", "full_name": "Jack Nicholson" }, "labels": { "direction": "north" }, "data": {} }, { "uid": "u_8RKO7AKfEbSiIHZkZZ2LJy2MUSDPWDr3tMI_CkIGApU_0", "user": { "username": "jackspa", "roles": [ "user" ], "realm_name": "native", "email" : "[email protected]", "full_name": "Jack Sparrow" }, "labels": { "direction": "south" }, "data": {} }, { "uid": "u_P_0BMHgaOK3p7k-PFWUCbw9dQ-UFjt01oWJ_Dp2PmPc_0", "user": { "username": "jackrea", "roles": [ "admin" ], "realm_name": "native", "email" : "[email protected]", "full_name": "Jack Reacher" }, "labels": { "direction": "west" }, "data": {} } ] }