建议用户配置文件 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
提示以获得更好的相关性
resp = client.security.suggest_user_profiles( name="jack", hint={ "uids": [ "u_8RKO7AKfEbSiIHZkZZ2LJy2MUSDPWDr3tMI_CkIGApU_0", "u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0" ], "labels": { "direction": [ "north", "east" ] } }, ) print(resp)
const response = await client.security.suggestUserProfiles({ name: "jack", hint: { uids: [ "u_8RKO7AKfEbSiIHZkZZ2LJy2MUSDPWDr3tMI_CkIGApU_0", "u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0", ], labels: { direction: ["north", "east"], }, }, }); console.log(response);
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": {} } ] }