人脸检索服务的数据库管理层支持对管理的数据库进行增加、删除、查询及保存操作。本文介绍各操作接口的详细信息,包括POST内容示例、输入参数、输出参数及输出示例。
人脸检索服务部署后,数据库管理层支持对管理的数据库信息进行增加、删除、查询及保存操作,具体的接口列表如下:
下文详细介绍数据库管理层提供的接口,此处仅介绍每个接口的特有参数,关于接口中的通用参数说明请参见接口格式及调用说明(必读)。
增加数据库(add)
您可以通过该接口添加特征数据库,以下介绍该接口的调用示例及参数说明:
- POST内容示例
{ "function_name": "add", "function_params": { "database_name" : "libai", }, }
- 输入参数说明
参数 是否必选 描述 示例值 类型 database_name 是 待添加的检索数据库名称。 [] STRING search_algorithm 否 Elasticsearch后端限定参数,取值包括: - "hnsw":近邻召回,速度快,但是不能保证全部召回。
- "linear":线性召回,能够保证召回结果的正确性。
"hnsw" STRING number_of_replicas 否 Elasticsearch后端限定参数,表示备份的数量。 1 INT number_of_shards 否 Elasticsearch后端限定参数,表示分片的数量。 1 INT - 输出参数说明
参数 描述 示例值 类型 request_id 请求的唯一标识。 "08f786fa-da3e-4d3a-9d50-280d9afd****" STRING success 请求是否成功,取值包括: - true:请求成功。
- false:请求失败。
true BOOL status 数据库是否添加成功,取值包括: - true:添加成功。
- false:添加失败。
true BOOL name 添加成功后,返回数据库名称。 "test" STRING info 状态提示。例如重复添加数据库,接口返回提示信息。 "" STRING error_code 请求失败时,返回的错误码。 None INT error_msg 请求失败时,返回的错误信息。 None STRING - 输出示例
{ "request_id": "08f786fa-da3e-4d3a-9d50-280d9afd****", "success": true, "name": "test", "status": true, "info": "" }
删除数据库(delete)
对于公共用户和已经开通OSS的用户,需要遵守如下不同的调用规则:
您可以通过该接口删除指定的特征数据库,以下介绍该接口的调用示例及参数说明:
- POST内容示例
{ "function_name": "delete", "function_params": { "database_name":"test", #删除的数据库名称。 } }
- 输入参数说明
参数 是否必选 描述 示例值 类型 database_name 是 待删除的检索数据库名称。 "test" STRING - 输出参数说明
参数 描述 示例值 类型 request_id 请求的唯一标识。 "bbaf1cbd-490c-4397-9c62-ad89de20****"
STRING success 请求是否成功,取值包括: - true:请求成功。
- false:请求失败。
true BOOL status 删除是否成功,取值包括: - true:删除成功。
- false:删除失败。
true BOOL name 删除的数据库的名称。 "test" STRING info 状态提示。例如重复删除数据库,接口返回提示信息。 {"acknowledged": true}
DICT/STRING error_code 请求失败时,返回的错误码。 None INT error_msg 请求失败时,返回的错误信息。 None STRING - 输出示例
{ "request_id": "bbaf1cbd-490c-4397-9c62-ad89de20****", "success": true, "name": "test_0421", "status": true, "info": {"acknowledged": true} }
查询数据库(get)
您可以通过该接口查询当前服务下的所有特征数据库的信息,也可以指定数据库名称,查询特定数据库的信息。以下介绍该接口的调用示例及参数说明:
- POST内容示例
{ # "uid": "1234567", # Public OSS 用户必须填写。 # "uid_key" : "bb9b71aa193b0610cb1add304443ed4b", # Public OSS 用户必须填写。 "function_name": "get", "function_params": { "database_name" : "libai", # 指定返回某个数据库的信息。 "get_all":False, # 是否返回所有数据库信息。如果是,则可以不指定database_name。 "verbose":False # 是否返回详细信息。否则只返回数据库包含的记录数目。 }, }
- 输入参数说明
参数 是否必选 描述 示例值 类型 database_name 否 需要查询的检索数据库的名称。 "test" STRING verbose 是 返回的数据库信息是否包含详细信息,取值包括: - True:返回详细信息。
- False:仅返回数据库包含的record _num数目。
False BOOL get_all 是 是否查询服务的所有数据库,取值包括: - True:返回所有数据库信息,此时无需指定database_name。
- False:仅查询database_name指定的数据库信息。
False BOOL - 输出参数说明
参数 描述 示例值 Type request_id 请求的唯一标识。 ff9b5bef-53ae-4508-8f46-e72790e9****
STRING success 请求是否成功,取值包括: - true:请求成功。
- false:请求失败。
true BOOL info 查询所有数据库,返回的内容列表。 [{"name": "libai", "status": true, "record_num": 0}]
LIST error_code 请求失败时,返回的错误码。 None INT error_msg 请求失败时,返回的错误信息。 None STRING - 输出示例
{ "request_id": "ff9b5bef-53ae-4508-8f46-e72790e9****", "success": true, "info": [{"name": "libai", "status": true, "record_num": 0}] }
保存数据库(save)
- 对于Elasticsearch用户,每一个特征数据库对应Elasticsearch服务中的同名Index,无需手动保存。
- 对于OSS用户,每一个特征数据库需要在添加特征后手动保存,相关特征数据库会保存在初始化时设置的root_path中。
以下介绍该接口的调用示例及参数说明:
- POST内容示例
{ "function_name": "save", "function_params": { "database_name" : "test" } }
- 输入参数说明
参数 是否必选 描述 示例值 类型 database_name 否 待保存的检索数据库名称。 如果不填写该参数,或填写的数据库不存在,则默认保存服务中所有的特征数据库。
"test" STRING - 输出参数说明
参数 描述 示例值 类型 request_id 请求的唯一标识。 "5374acd4-7fa4-4cb2-935e-08ec3995****"
STRING success 请求是否成功,取值包括: - true:请求成功。
- false:请求失败。
true BOOL info 保存是否成功,取值包括: - true:保存成功。
- false:保存失败。
true BOOL error_code 请求失败时,返回的错误码。 None INT error_msg 请求失败时,返回的错误信息。 None STRING - 输出示例
{ "request_id": "6c95b76f-f9ce-446a-b890-7f76fe75****", "success": true, "save" : true }