Viking AI 搜索
服务 | 区域 | URL |
服务 | 区域 | URL |
火山引擎 | 华北(北京) | https://aisearch.cn-beijing.volces.com/api/v1/application/{application_id}/browse_index |
火山引擎 | 东南亚(柔佛) | https://aisearch.ap-southeast-1.volces.com/api/v1/application/{application_id}/browse_index |
BytePlus | 东南亚(柔佛) | https://aisearch.ap-southeast-1.bytepluses.com/api/v1/application/{application_id}/browse_index |
参数 | 类型 | 是否必选 | 示例 | 描述 |
参数 | 类型 | 是否必选 | 示例 | 描述 |
application_id | String | 必选 | 76414365027 | 您的应用唯一标识符。 |
参数 | 类型 | 是否必选 | 示例 | 描述 |
参数 | 类型 | 是否必选 | 示例 | 描述 |
dataset_id | String | 必选 | "14365027" | 数据集的唯一 ID。您可以在平台的“数据集管理”页面找到此 ID。每次请求都必须明确指定要浏览的数据集。 |
page_number | Integer | 必选 | 1 | 分页页码,用于获取指定页的数据。该值从 1 开始计算。 |
page_size | Integer | 必选 | 20 | 每页返回的物品数量。默认值为 10,最大值 1000,最小值 1 |
filter | 可选 | 参考请求示例 | 搜索过滤条件对象。您可以使用在数据源中已配置为“可筛选”的字段来过滤结果。关于 Filter 对象的详细结构和用法,请参考相关文档。 | |
sort_by | String | 可选 | metrics.score | 用于排序的字段名称。该字段必须存在于数据集中,且在应用中已勾选“用于过滤”,支持以下类型:
|
sort_order | String | 可选 | desc | 排序顺序。支持以下枚举值:
|
output_fields | Array<String> | 可选 | ["item_id", "title", "image_url"] | 指定在响应的 display_fields 中需要返回哪些字段。如果留空或不传此参数,将默认返回数据源中的所有字段。 注意:对于嵌套对象(如 object 或 array<object>),目前仅支持传入顶层字段名。传入不存在的字段或嵌套对象内部的字段将被忽略。 |
facet | 可选 | 用于指定结果分类统计字段,以及分类筛选条件,可根据指定的字段条件对接口返回结果进行分类筛选过滤。
|
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
op | string | 是 | "must" | 算子类型,支持: "must"、"must_not"、"range"、"and"、"or" 算子使用方式详见下方:Filter算子说明 |
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条件。
|
算子 | 被过滤字段(field)类型 | 算子含义说明 | 示例 |
算子 | 被过滤字段(field)类型 | 算子含义说明 | 示例 |
must |
| 条件表达式参数写法:
当field为整数、字符串的单个元素,含义为“属于”,即“字段中的值属于传入的过滤列表”。 当field为整数、字符串列表,含义为“有交集”,即“目标字段和过滤列表中的元素有重叠” | 示例一:地区必须属于"cn"或"sg"其中之一 { "op": "must", "field": "region", "conds": ["cn", "sg"] } 示例二:status值必须属于1,2,3其中之一 { "op": "must", "field": "status", "conds": [1, 2, 3] } |
must_not |
| 条件表达式参数写法:
当field为整数、字符串的单个元素,含义为“不属于”,即“目标字段值不在过滤列表中” 当field为整数、字符串列表,其含义为“没有交集”,即“目标字段和过滤列表中的元素不重叠” | status值必须不能为1,2,3其中任何一个 { "op": "must_not", "field": "status", "conds": [1, 2, 3] } |
range |
| 条件表达式参数写法:
含义为目标数值字段值必须在指定范围内。 配置使用gte(大于等于), gt(大于), lte(小于等于), lt(小于),用以圈选数值范围。 | price >= 100.0 { "op": "range", "field": "price", "gte": 100.0 } price 在100.0到500.0之间 { "op": "range", "field": "price", "gte": 100.0, "lt": 500.0 } |
time_range | 被过滤字段需要上传标注为“上新时间”属性的字段,支持:
| 条件表达式参数写法:
目标过滤字段必须满足在一个时间段内。gt 和 lt 传入值支持:
| 发布时间在2026年之后 { "op": "time_range", "field": "publish_time", "gt": 1767196800000, } 发布时间在最近前一个月内 { "op": "time_range", "field": "publish_time", "gt": "now-30d", } |
and | 不涉及 | 逻辑算子,针对逻辑查询需求,对多个条件取交集。 | { "op": "and", "conds": [ // 条件列表,支持嵌套and/or/must/must_not/range 算子 { "op": "must", "field": "status", "conds": [1, 2, 3] }, { ... // 支持>=1的任意数量的条件进行组合 } ] } |
or | 不涉及 | 逻辑算子,针对逻辑查询需求,对多个条件取并集。 | { "op": "or", "conds": [ // 条件列表,支持嵌套and/or/must/must_not/range 算子 { "op": "must", "field": "status", "conds": [1, 2, 3] }, { ... // 支持>=1的任意数量的条件进行组合 } ] } |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
facets | Array <facets> | 否 | "facets": [ { "field": "tags", // 指定字符串类型字段用于分类聚合统计 "max_facet_buckets": 10 // 取统计值最大的N个,默认10,[1, 50] }, { "field": "price", // 指定数值类型字段用于分类聚合统计 "number_ranges": [ { "gte": 0, "lt": 19},{ "gte": 10, "lt": 100},{"gte": 200, "lt": 999} // 可自定义数值区间 ] } ] | |
facet_filter | facet_filter | 否 | "facet_filter":{ { "op": "must", "field": "region", "conds": ["cn", "sg"] }, { "op": "must_not", "field": "status", "conds": [1, 2, 3] } } |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
facets | Array <facets> | 否 | "facets": [ { "field": "tags", // 指定字符串类型字段用于分类聚合统计 "max_facet_buckets": 10 // 取统计值最大的N个,默认10,[1, 50] }, { "field": "price", // 指定数值类型字段用于分类聚合统计 "number_ranges": [ { "gte": 0, "lt": 19},{ "gte": 10, "lt": 100},{"gte": 200, "lt": 999} // 可自定义数值区间 ] } ] | |
facet_filter | facet_filter | 否 | "facet_filter":{ { "op": "must", "field": "region", "conds": ["cn", "sg"] }, { "op": "must_not", "field": "status", "conds": [1, 2, 3] } } |
参数 | 类型 | 描述 |
参数 | 类型 | 描述 |
request_id | String | 唯一标识本次请求的 ID。在排查问题时,可使用此 ID 快速定位请求日志。 |
result | Object | 请求成功时返回的结果对象。详细结构见下文。 |
参数 | 类型 | 描述 |
参数 | 类型 | 描述 |
result | Object | 包含内容的对象 |
| Integer | 满足当前过滤条件的总物品数量。 |
| Array<Object> | 本次分页返回的物品列表。这是一个对象数组,每个对象代表一个物品。 |
参数 | 类型 | 描述 |
参数 | 类型 | 描述 |
_id | String | 物品在数据存储中的主键,通常源自您上传数据时标记为“唯一标识”的字段值。 |
display_fields | Object | 包含物品其他字段的键值对集合。返回哪些字段由请求参数 output_fields 控制。如果 output_fields 未指定,则返回所有字段。 |
HTTP 状态码 | 错误码 | 错误信息 | 含义 |
HTTP 状态码 | 错误码 | 错误信息 | 含义 |
400 | MissingParameter | The request is missing the following parameter: {parameters} | 请求参数缺失错误,如未传入必填参数。 |
400 | InvalidParameter | A parameter in the request is not valid: {parameters} | 参数不合法,如参数类型错误、长度不合法、枚举值不合法、不满足正则规则等。 |
400 | InvalidRequestFormat | The request cannot be parsed in JSON format. | 请求体解析失败,通常是请求体格式异常,是非法的 json 格式或与请求定义的结构不符。请参考对应的 API 文档检查请求结构。 |
400 | InvalidAction | The specified action is invalid: {Action} | 当请求路径中的 Action 不存在或暂时无法请求:
|