搜索查询 V2
功能介绍
从指定服务实例中进行搜索。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /v2/{project_id}/mms/{service_name}/search
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
project_id |
是 |
String |
用户的项目ID。获取方法请参见获取项目ID和名称。 |
|
service_name |
是 |
String |
服务实例的名称,用户创建服务实例时指定。 |
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
search_type |
是 |
String |
搜索类型,必须为服务实例支持的搜索类型,服务实例的搜索类型列表可在创建服务实例时进行配置。
说明:
可以使用枚举名或者枚举值(例如IMAGE/0),枚举值可能会变动,建议使用枚举名。 枚举值:
|
|
limit |
否 |
Integer |
返回搜索结果的数量,默认为10,取值范围为[1, 1000]。 |
|
offset |
否 |
Integer |
返回搜索结果的偏移量,即返回序号在[offset, offset+limit]内的搜索结果。默认为0,取值范围为[0, N]。
|
|
last_item |
否 |
SearchAfterParam object |
前一次搜索的最后一个搜索结果的排序信息。仅对全量召回场景生效,可将上一次搜索返回结果中的last_item字段直接用于此处。
|
|
min_score |
否 |
Double |
返回搜索结果的最小得分,用于对搜索结果进行score过滤,取值范围为[0, 1]。
说明:
目前仅对IMAGE/CATEGORY搜索类型生效。 |
|
custom_tags |
否 |
Map<String,Array<String>> |
自定义字符标签,用于对搜索结果进行条件过滤。格式为键值对{key:value}。
|
|
custom_num_tags |
否 |
Map<String,RangeParam> |
自定义数值标签,用于对搜索结果进行条件过滤。格式为键值对{key:value}。
|
|
image_base64 |
否 |
String |
图像文件的base64字符串,基于图像搜索时,与image_url二选一。要求如下:
|
|
image_url |
否 |
String |
图片的URL路径,目前支持公网http:/https url,图像入库时,与image_base64二选一。
说明:
接口响应时间依赖于图片的下载时间,如果图片下载时间过长,会返回接口调用失败。 |
|
keywords |
否 |
Array of strings |
关键词列表,搜索时关键词数量范围为[1, 10],关键词字符长度范围为[1, 64]。使用KEYWORD搜索类型进行搜索时,必须提供该参数。 |
|
text |
否 |
String |
文本字符串,字符长度范围为[1, 512]。 |
|
optional_params |
否 |
SearchOptionalParam object |
搜索的可选参数,其中每个参数仅对部分服务类型生效,具体可参见服务类型说明。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
do_det |
否 |
Boolean |
是否进行目标检测,默认为true。 |
|
box |
否 |
String |
目标矩形框坐标,如给定则不进行目标检测,直接使用该box作为目标。格式为“x1,y1,x2,y2”(无空格),x1/y1为目标左上角坐标,x2/y2为目标右下角坐标,具体要求如下:
|
|
do_cls |
否 |
Boolean |
是否进行对象分类,默认为true。 |
|
category |
否 |
Integer |
对象类目,如给定则不进行对象分类,直接使用该category作为类目。具体类目信息可参见对应的服务类型说明。 |
|
collapse_key |
否 |
String |
去重标签名,必须为服务实例custom_tags中已存在的key。
|
|
max_scan_num |
否 |
Integer |
查询考察中心点的数目。值越大精度越高,查询速度变慢。取值范围:1-100000,默认值为10000。 |
|
nprobe |
否 |
Integer |
扫描节点上限。值越大精度越高,查询速度变慢。取值范围:1-100000,默认值为100。 |
|
text_lang |
否 |
String |
文本字符串的语言类型枚举值,默认值:zh。 可选值:
|
响应参数
状态码: 200
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
result |
String |
搜索完成返回success。 |
|
data |
SearchRestInfo object |
搜索的相关信息。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
items |
Array of SearchItem objects |
搜索结果列表。 |
|
search_info |
SearchInfo object |
搜索结果的相关信息。 |
|
image_info |
image_info object |
搜索图像的相关信息,不同服务类型返回信息不同,具体可参见服务类型说明。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
id |
String |
数据唯一ID。 |
|
score |
Double |
数据匹配分数。 |
|
source |
ItemSource object |
数据的元信息,不同数据包含的字段可能不同。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
desc |
String |
数据描述信息。 |
|
custom_tags |
Map<String,String> |
数据自定义字符标签。 |
|
custom_num_tags |
Map<String,Number> |
数据自定义数值标签。 |
|
keywords |
Array of strings |
数据关键词列表。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
total_num |
Integer |
搜索结果总数。 |
|
return_num |
Integer |
返回结果总数。 |
|
search_time |
Integer |
搜索过程耗时,单位为毫秒。 |
|
last_item |
SearchAfterParam object |
最后一个搜索结果的排序信息。仅对全量召回生效,非全量召回场景返回null。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
box |
String |
用于搜索的主体目标框。 |
|
category |
Integer |
用于搜索的主体类目序号。 |
|
category_name |
String |
用于搜索的主体类目名称。 |
|
objects |
Array of objects objects |
搜索图像中的所有主体列表。 |
状态码: 400
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 |
|
error_msg |
String |
调用失败时的错误信息。 调用成功时无此字段。 |
请求示例
搜索商品图像,使用图像BASE64编码
POST https://{endpoint}/v2/{project_id}/mms/{service_name}/search
{
"search_type" : "CATEGORY",
"image_base64" : "/9j/4AAQSkZJRgABAgEASABIAAD/4RFZRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAA...",
"custom_tags" : {
"brand" : [ "HUAWEI" ]
},
"custom_num_tags" : {
"year" : {
"from" : 2020,
"to" : 2022
}
}
}
响应示例
状态码: 200
成功响应示例
{
"result" : "success",
"data" : {
"items" : [ {
"id" : "electronics_01",
"score" : 1,
"source" : {
"desc" : "天地纵横自然",
"custom_tags" : {
"brand" : "HUAWEI"
},
"custom_num_tags" : {
"year" : 2022
}
}
} ],
"search_info" : {
"total_num" : 10,
"return_num" : 1,
"search_time" : 512
},
"image_info" : {
"box" : "26,223,771,704",
"category" : 11,
"category_name" : "electronics",
"objects" : [ {
"box" : "26,223,771,704",
"category" : 11,
"category_name" : "electronics"
}, {
"box" : "55,66,420,315",
"category" : 0,
"category_name" : "others"
} ]
}
}
}
状态码: 400
失败响应示例
{
"error_code" : "MMS.0003",
"error_msg" : "Invalid parameter: custom_tags"
}
状态码
|
状态码 |
描述 |
|---|---|
|
200 |
成功响应示例。 |
|
400 |
失败响应示例。 |
错误码
请参见错误码。