人脸检索服务的数据库管理层支持对管理的数据库进行增加、删除、查询及保存操作。本文介绍各操作接口的详细信息,包括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
    }