根据用户输入的查询词或图片,在应用所绑定的物品数据源中搜索与用户输入相关联的内容。
{application_id}/search{application_id}:在控制台创建应用后系统指定的应用唯一标识,可在控制台查看
可使用API Key或Access Key鉴权,详情参考API 鉴权机制说明
参数 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
query | 是 |
| ||
dataset_id | String | 是 | "106265704" | 数据集 id,可在数据集列表或数据集详情页中查看。调用直接搜索功能时,必须在每次请求中明确指定所要搜索的数据集 ID。 |
page_number | Int | 是 | 1 | 搜索页码,可用于列表分页功能,从 1 开始。例如:"page_number": 1,即返回第一页的搜索结果。 |
page_size | Int | 是 | 20 | 每页搜索结果的数量,可以传入1~您在控制台设置的最大返回数量。 |
user | 否 |
| 用户信息,可上传用户pseudo ID,用于明确是哪一位具体的用户触发了本次 API 调用。 | |
filter | 否 | 见下方数据结构 - Filter | 搜索过滤条件,可根据应用数据源配置中支持过滤的字段对检索内容进行过滤。
| |
sort_by | String | 否 | "create_at" | 排序字段,字段值必须包含在数据集字段中。支持的类型有:
对于复杂类型,字段格式为:"object.field",例如"product.price" |
sort_order | String | 否 | "desc" | 排序顺序,支持枚举值:"desc"
|
output_fields | Array | 否 | ["title", "price", "category"] | 指定搜索列表的'display_fields'返回中,选择物品数据集数据中的哪些字段来返回展示,如果不传则返回所有字段。
|
context | Object<Context> | 否 | 见下方数据结构 - 见下:Context | 支持配置请求上下文(context),影响搜索物品召回处理逻辑和返回物品的结果 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
text | String | 至少一个必选 | "女鞋 春夏" "三体" | 文本查询词 |
image_url | String | "data:image/jpeg;base64,iVBUAAAA..." | 图片搜索,当前仅支持输入图片base64。 | |
image_query_instruction | String | 传入 | “基于图片的整体内容召回相似的图片,而不是仅关注图片中的局部信息“ | 图片搜索指令,该字段用于以图搜图场景下增强搜图效果 |
Query上传图片格式说明:
在query.image_url中传入base64格式的图片文件,图片文件的格式和条件限制详见说明:
说明
传入图片需要满足以下条件:
支持格式:jpeg、png、 webp、bmp、tiff、ico、dib、icns、sgi、jpeg2000。其中,tiff、sgi、icns、jpeg2000 格式图片,需要保证和元数据对齐,如在对象存储中正确设置文件元数据,否则会解析失败。
宽高比(宽/高):在范围[1/100, 100] 。
边长: [10, 6000] px,即短边像素需大于 10 px,长边像素需小于6000 px。
请确保Base64编码符合标准格式,包含**数据头(Data URI Scheme)**与 Base64 编码正文两部分:
data:[<MIME类型>];base64,<Base64编码字符串>
组成部分 | 格式要求 | 说明 | 示例 |
|---|---|---|---|
数据头前缀 | 固定为 | 标识该字符串为 Data URI 格式,不可省略或修改 | |
MIME 类型 | 需与图片实际格式严格匹配 | 用于服务端识别图片类型,禁止随意填写(如 JPG 图填 PNG 的 MIME) | JPG/JPEG: |
分隔符 | 固定为 | 连接 MIME 类型与 Base64 编码正文,分号、“base64”、逗号均不可省略或替换 | |
Base64 编码正文 | 符合 RFC 4648 标准的 Base64 编码字符串 | 由图片文件二进制数据直接编码生成,禁止包含空格、换行符、特殊字符,需为连续的 ASCII 字符串 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
_user_id | String | 否 | "ldy_199432" | 代表最终用户的唯一标识符。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
op | String | 是 | "must" | 算子类型,支持: |
field | String | 条件必选 | "status" | 需要应用过滤条件的字段。
|
gte | Float | 否 | 100.0 | "range" 算子的过滤范围,语义为过滤"field"字段值 |
gt | Float | 否 | 100.0 | "range" 算子的过滤范围,语义为过滤"field"字段值 |
lte | Float | 否 | 500.0 | "range" 算子的过滤范围,语义为过滤"field"字段值 |
lt | Float | 否 | 500.0 | "range" 算子的过滤范围,语义为过滤"field"字段值 |
conds | Array | 条件必选 | 见下方示例 | 除 "range" 算子之外,其余算子均需指定conds条件。
|
Filter各算子示例
算子 | 支持字段类型 | 算子说明 | 示例 |
|---|---|---|---|
must |
| 目标的字段值必须在 [...] 之中,即 "must in"。 | 示例一:地区必须属于"cn"或"sg"其中之一
示例二:status值必须属于1,2,3其中之一
|
must_not |
| 目标字段值必须不在 [...] 之中,即 "must not in"。 | status值必须不能为1,2,3其中任何一个
|
range |
| 目标数值字段值必须在指定范围内。 | price >= 100.0
price 在100.0到500.0之间
|
and | 不涉及 | 逻辑算子,针对逻辑查询需求,对多个条件取交集。 |
|
or | 不涉及 | 逻辑算子,针对逻辑查询需求,对多个条件取并集。 |
|
参数 | 示例值 | 描述 |
|---|---|---|
location |
|
|
参数 | 类型 | 示例值 | 描述 |
|---|---|---|---|
request_id | String | 25ee998a-5462-9385-9f18-035f1da7a6e5 | 用于唯一标识一次请求,可根据request_id快速定位一次请求的执行。 |
spell_correction | SpellCorrection | 触发搜索词纠正时,返回搜索纠正的模式配置和纠正后的搜索词建议。 | |
result | Result | 搜索结果。 | |
total_items | Int | 200 | 返回的搜索结果总数 |
参数 | 类型 | 示例值 | 描述 |
|---|---|---|---|
mode | String | "suggestion_only" | 在控制台配置的纠错模式,返回2个枚举值:
|
corrected_query | String | "4K显示屏电视" | 纠正后的搜索query,返回空时代表没有需要纠错的搜索词 |
参数 | 类型 | 示例值 | 描述 |
|---|---|---|---|
search_results | Array<SearchResult> | 搜索结果列表。 | |
total_items | Int | 300 | 搜索结果总量,即候选数量。可在应用配置中调整最大召回物品量,但最终的数量取决于数据源中相关数据的总量。 |
参数 | 类型 | 示例值 | 描述 |
|---|---|---|---|
_id | String | "WSHOE001" | 该数据在数据存储中的主键,源于您上传内容中字段属性为唯一标识的字段的值。 |
display_fields | Object | 图文数据:
视频数据:
| 数据集其他字段,与数据导入时的字段一致。 |
score | Float | 0.852 | 多路召回合并后的分数 |
recall_info | Array |
| 记录每一路召回的信息。 |
rerank_info | Object |
| 召回数据重排信息,表示该数据是否是否重排以及重排得分;未重排的数据不存在rerank_score字段。 |
curl -X POST 'https://aisearch.cn-beijing.volces.com/api/v1/application/${application_id}/search' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer <API Key>' \ -d '{ "query": { "text": "女鞋 春夏" }, "page_number": 1, "page_size": 5, "user": { "_user_id": "ldy_199432" }, "filter": { "op": "must", "field": "status", "conds": [1, 2] }, "dataset_id": "106265704", "context": { "location":{ "latitude": "12.12", "longitude": "-13.43" } } }'
{ "request_id": "25ee998a-5462-9385-9f18-035f1da7a6e5", "result": { "search_results": [ { "_id": "WSHOE001", "display_fields": { "item_id": "WSHOE001", "title": "舒适通勤 尖头浅口高跟鞋 - 黑色", "category": "女士高跟鞋", "status": 1, "images": [ { "image_url": "https://example.com/images/womens_pump_black.jpg" } ] } }, { "_id": "WSHOE002", "display_fields": { "item_id": "WSHOE002", "title": "轻便网面 跑步运动鞋 - 粉色拼灰色", "category": "女士运动鞋", "status": 1, "images": [ { "image_url": "https://example.com/images/womens_sneaker_pink.jpg" } ] } }, { "_id": "WSHOE003", "display_fields": { "item_id": "WSHOE003", "title": "波西米亚风格 坡跟凉鞋 - 米色", "category": "女士凉鞋", "status": 2, "images": [ { "image_url": "https://example.com/images/womens_sandal_beige.jpg" } ] } } ], "spell_correction": { "mode":"off" } "total_items": 300 } }
curl -X POST 'https://aisearch.cn-beijing.volces.com/api/v1/application/${application_id}/search' \ -H 'Content-Type: application/json' \ -H 'Authorization: <火山鉴权的一系列相关header>' \ -d '{ "query": { "text": "科幻片" }, "page_number": 1, "page_size": 5, "user": { "_user_id": "ldy_199432" }, "filter": { "op": "must", "field": "director", "conds": ["郭帆"] }, "dataset_id": "106265704", "context": { "location":{ "latitude": "12.12", "longitude": "-13.43" } } }'
{ "request_id": "25ee998a-5462-9385-9f18-035f1da7a6e5", "result": { "search_results": [ { "_id": "video_900026", "display_fields": { "content_id": "video_900026", "content_type": "video", "parent_content_id": "collection_342534", "sequence_index": 26, "video_url": [ "http://xxxx.mp4" ], "my_title": "三体第二十六集" } }, { "_id": "video_900027", "display_fields": { "content_id": "video_900027", "content_type": "video", "parent_content_id": "collection_342534", "sequence_index": 27, "video_url": [ "http://xxxx.mp4" ], "my_title": "三体第二十七集" } }, { "_id": "video_900028", "display_fields": { "content_id": "video_900028", "content_type": "video", "parent_content_id": "collection_342534", "sequence_index": 28, "video_url": [ "http://xxxx.mp4" ], "my_title": "三体第二十八集" } } ], "spell_correction": { "mode":"auto", "corrected_query":"三体电视剧集" } "total_items": 300 } }
本接口错误码请参见公共错误码文档。