You need to enable JavaScript to run this app.
文档中心
Viking AI 搜索

Viking AI 搜索

复制全文
下载 pdf
配置 AI 搜索
搜索 API 提权、降权配置(V2)
复制全文
下载 pdf
搜索 API 提权、降权配置(V2)
Viking AI 搜索是一款基于生成式 AI 的企业级 AI 搜索产品,基于大模型的多模态语义表征和理解能力,结合字节跳动信息检索领域多年最佳实践,为客户提供开箱即用的 AI 搜索搭建平台服务,帮助客户轻松搭建和集成端到端的多模态图文搜索和推荐能力。 想要体验更多 Viking AI 搜索能力,点击前往:Viking AI 搜索引擎,企业搜推问一体化智能引擎​
​​
功能概述​
该功能支持通过 API 动态配置提权与降权规则。您可在请求中直接指定字段、算子、条件值及权重强度(区间 -1 ~ 1),从而实时调整搜索结果的排序权重。相较于以往仅能通过控制台手动调整权重的方式,本方案显著提升了运维效率与灵活性。​
核心价值​
  • 降低维护成本:减少人工操作,避免权重调整过程中的遗漏。​
  • 业务系统联动:可将提权 / 降权逻辑与自有系统(库存、营销、风控等)集成,实现动态调整。​
  • 精细化个性搜索:支持用户粒度的权重配置,增强个性化搜索效果。​
典型场景​
  • 电商平台:用户点击某电子产品主页后,下次搜索可通过 API 动态提升同品牌商品权重,优先触达用户。​
  • 内容平台:用户新关注某作者后,下次搜索可提升同作者文章权重,满足短期阅读兴趣。​
  • 营销活动:促销期间可通过 API 动态提升促销商品权重,提高其曝光度。​
​​
API 配置​
前置条件​
已成功集成 Viking AI 搜索引擎搜索接口。详见 Search - 搜索。​
请求说明​
在搜索请求的请求体中添加顶层字段 boost_bury_rules。平台会自动融合控制台配置与接口配置的提权 / 降权规则。​
请求参数​
​
参数​
类型​
是否必选​
示例值​
描述​
boost_bury_rules​
Array <Config>​
必选​
见下 Config​
提权 / 降权规则列表​
​
Config​
自动止损能力​
若某条规则配置非法,系统将自动忽略该条规则,不影响其他合法规则生效。​
​
参数名​
数据格式​
是否必选​
示例值​
描述​
conds​
Array<BoostConfig>​
必选​
见下 BoostConfig​
提权 / 降权的条件配置,仅对符合条件的物品生效​
boost​
Float​
必选​
0.3、-0.3​
提权 / 降权强度,取值范围 -1 ~ 1​
​
BoostConfig​
一个 conds 支持多个 BoostConfig Object 字段。若需要嵌套规则,可以通过多个 BoostConfig 实现​
​
参数名​
数据格式​
是否必选​
示例值​
描述​
field​
String​
必选​
"author"​
条件字段。支持通过 . 访问嵌套字段,例如 category.name​
op​
String​
必选​
"must"​
算子。逻辑算子(and/or)的子条件放在 conds 数组中。不同字段类型支持的算子。​
conds​
根据 field 字段​
必选​
​
条件值集合,或 and/or 的子表达式数组​
gt/gte/lt/lte​
String / Int​
部分必选​
​
范围边界值,使用区间算子时,必须要有至少一个。​
​
​
​
​​
返回参数​
系统会返回经过权重调整后的搜索排序结果,同时通过 extra_info字段,返回动态提、降权规则的执行状态。​
ExtraInfo​
​
参数​
类型​
示例值​
描述​
boost_status​
Array<string>​
["success", "field not found", "invalid operator"]​
提权、降权规则的执行状态​
状态含义,见下 Status​
说明​
顺序严格遵守 Conds 参数内的 BoostConfig 顺序;​
例如:第一个 BoostConfig 配置执行成功,boost_status内的第一个状态会是 "success"​
​
Status​
​
状态值​
执行状态​
含义​
success​
✅ 成功​
规则配置符合预期​
提权、降权规则成功在当次请求中生效。​
field not found​
❌ 失败​
字段(field)校验失败。 ​
确保配置字段存在物品数据集中​
invalid field type​
❌ 失败​
字段(field)数据格式不支持提、降权。​
目前 Array <Float> 、Array <Object>、Boolean 字段不支持提、降权规则。确保字段类型符合预期​
invalid date field​
❌ 失败​
字段(field)不是时间属性​
条件值输入 (conds)利用了时间属性配置格式,但是字段(field)没有配置为「时间戳」或「上新时间」。​
invalid operator​
❌ 失败​
字段(field)合法但是配置的算子(op)不合法。​
确保算子配置符合预期​
invalid conds​
❌ 失败​
字段(field)和算子(op)合法,但是条件值输入(conds)不合法。​
以下是可能原因: ​
  1. 数据格式错误​
  1. 字段配置了「时间戳」或「上新时间」属性​
确保条件值输入符合预期​
invalid boost​
❌ 失败​
提权、降权强度配置不合法。​
确保输入在 -1 到 1 的区间内的数字。​
​
​​
字段—算子—条件值配置​
​
字段类型 (field)​
支持算子 (op)​
条件值输入 (conds)​
示例配置​
Int32​
Int64​
  • equal:等于​
  • not_equal:不等于​
Int32​
Int64​
​
​
​
{​
"config": {​
"field": "in_stock", ​
"op": "equal", ​
"conds": 1​
},​
"boost": 0.5​
}​
​
​
  • lt:小于​
  • gt:大于​
  • lte: 小于等于​
  • gte:大于等于​
​
​
​
{​
"config": {​
"field": "sales_count", ​
"op": "gte", ​
"conds": 1000​
},​
"boost": 0.5​
}​
​
​
​
  • range:区间,需要结合 gt/gte/lt/lte 组合​
​
​
​
{​
"config": {​
"field": "sales_count", ​
"op": "range", ​
"gte": 0,​
"lt": 10​
},​
"boost": 0.5​
}​
​
​
Float​
  • lt:小于​
  • gt:大于​
Float、Int​
​
​
{​
"config": {​
"field": "price", ​
"op": "gt", ​
"conds": 1000.20​
},​
"boost": 0.5​
}​
​
​
  • range:开区间,需要结合 gt/lt 组合​
​
​
​
{​
"config": {​
"field": "price", ​
"op": "range", ​
"gt": 1000.20,​
"lt": 10000.50,​
},​
"boost": 0.5​
}​
​
String​
  • must:包含​
  • must_not:不包含​
Array 格式​
​
​
{​
"config": {​
"field": "item_type", ​
"op": "must", ​
"conds": ["sneakers","tennis shoes"]​
},​
"boost": 0.5​
}​
​
​
  • equal:等于​
  • not_equal:不等于​
String 格式​
​
​
{​
"config": {​
"field": "item_type", ​
"op": "equal", ​
"conds": "sneakers"​
},​
"boost": 0.5​
}​
​
Array(String)​
Array(Int)​
  • must:包含​
  • must_not:不包含​
Array 格式数据​
​
​
{​
"config": {​
"field": "item_type", ​
"op": "must", ​
"conds": ["sneakers","tennis shoes"]​
},​
"boost": 0.5​
}​
​
Array(Object)​
  • must:全部元素包含​
  • must_not:全部元素不包含​
  • any_must:至少一个元素包含​
  • any_must_not:至少一个元素不包含​
Array 格式数据​
​
​
{​
"config": {​
"field": "item.type", ​
"op": "must", ​
"conds": ["sneakers","tennis shoes"]​
},​
"boost": 0.5​
}​
​
时间戳​
上新时间​
  • time_range:动态时间​
  • now() +/- d/h/m 单位​
  • 需要结合gt/gte/lt/lte 组合​
相对时间表达式​
  1. 早于某个时间​
​
{​
"config": {​
"field": "publish_time", ​
"op": "time_range", ​
"lte": "now()-7d"​
},​
"boost": 0.8​
}​
​
​
  1. 晚于某个时间​
​
{​
"config": {​
"field": "publish_time", ​
"op": "time_range", ​
"gte": "now()-1m"​
},​
"boost": 0.8​
}​
​
​
  1. 某个时间区间​
​
{​
"config": {​
"field": "publish_time", ​
"op": "time_range", ​
"gte": "now()-1h",​
"lte": "now()+1h"​
},​
"boost": 0.8​
}​
​
​
  • time_range:静态时间​
  • UNIX 时间戳​
UNIX 时间戳 ​
  1. 早于某个时间​
​
{​
"config": {​
"field": "publish_time", ​
"op": "time_range", ​
"lte": 1781107279​
},​
"boost": 0.8​
}​
​
​
  1. 晚于某个时间​
​
{​
"config": {​
"field": "publish_time", ​
"op": "time_range", ​
"gte": 1781107279​
},​
"boost": 0.8​
}​
​
​
  1. 某个时间区间​
​
{​
"config": {​
"field": "publish_time", ​
"op": "time_range", ​
"gte": 1781106000,​
"lte": 1781107200​
},​
"boost": 0.8​
}​
​
Array(Float)​
Boolean​
暂不支持​
—​
—​
​
逻辑嵌套​
在 op 中使用逻辑运算符 and 和 or 来组合多个条件。将子条件放入 conds 数组中。使用 and 时,一个项必须满足所有子条件;使用 or 时,只需满足其中一个即可。请参见下方的示例 4 —— 嵌套规则。​
​​
示例​
​
示例 1 - 电商
示例 2 - 内容社区
示例 3 - 时间提权、降权
示例 4 - 嵌套规则
​
诉求: 提升相关品牌与商家权重,降低无库存物品权重。​
​
{​
"boost_bury_rules": [​
{​
"config": {​
"field": "brand", ​
"op": "must", ​
"conds": ["apple", "samsung", "huawei"]​
},​
"boost": 0.8​
},​
{​
"config": {​
"field": "available_qty", ​
"op": "lte", ​
"conds": 0​
},​
"boost": -0.8​
}​
]​
}​
​
​
​
​​
常见问题 (FAQ)​
问: 若某一提、降权配置不合法,会发生什么情况?​
答:系统会自动忽略不合法的提、降权规则,其他合法规则照常生效。​
​
问: 用户如何知晓动态提、降权规则的执行效果?​
答: 系统会按照请求体参数中的动态提、降权规则顺序,返回其执行效果,包括成功、字段未找到、无效字段类型等信息。详情请查看 Status。​
最近更新时间:2026.08.09 01:06:07
这个页面对您有帮助吗?
有用
有用
无用
无用