该功能通过API接口实现动态加、降权配置功能,允许用户在请求中直接指定字段、操作符、值及权重强度(-1 到1之间),从而实时调整搜索结果的排序权重。其解决了此前仅能通过控制台手工进行权重调整的问题。
说明
需要已经成功集成 AI 搜索引擎 搜索接口能力,请参考 Search - 搜索。
在搜索请求时,添加相关的提权、降权参数。平台会自动融合控制台和接口的提权、降权规则配置。
参数 | 类型 | 是否必选 | 示例值 |
|---|---|---|---|
conditional_boost | Array <Conds> |
| 见下: Conds |
说明
如果某个配置不合法,服务将会自动忽略单一提权、降权规则,来确保其他合法规则照常生效。
参数名 | 数据格式 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
conds | Array <BoostConfig> |
| 见: BoostConfig | 提权、降权配置 |
boost | Float |
| 0.3、-0.3 | 提权、降权强度 |
参数名 | 数据格式 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
field | String |
|
| 条件字段 说明 字段可以利用 |
op | String |
|
| 算子 |
conds | 根据 field 字段 |
| 条件值 |
字段类型 (field) | 字段属性 | 支持算子 (op) | 条件值输入 (conds) |
|---|---|---|---|
Int32 | 没有属性,其他属性 |
| Int32 格式数据 |
Int64 | 没有属性,其他属性 |
| Int64 格式数据 |
时间戳 |
| UNIX 时间戳 | |
|
| ||
Float | 不支持属性 |
| Float 格式数据 |
String | 没有属性,其他属性 |
| Array |
| String 格式数据 | ||
上新时间 |
| UNIX 时间戳 | |
|
| ||
Array(String) | 没有特殊属性 |
| Array |
Array(Int) | 没有特殊属性 |
| Array |
Array(Float) | 暂时不支持 | ||
Array(Object) | 暂时不支持 | ||
Boolean | 暂时不支持 | ||
系统会返回经过权重调整后的搜索排结果,同时通过 extra_info字段,返回动态提、降权规则的执行状态。
了解更多,请查看搜索接口: Search - 搜索
参数 | 类型 | 示例值 | 描述 |
|---|---|---|---|
boost_status | Array |
| 提权、降权规则的执行状态。 状态含义,见下:Status 说明 **严格遵守 **Conds 参数内的 BoostConfig 顺序; |
状态值 | 执行状态 | 含义 |
|---|---|---|
success | ✅ 成功 | 规则配置符合预期 |
field not found | ❌ 失败 | 字段 ( |
invalid field type | ❌ 失败 | 字段( |
invalid date field | ❌ 失败 | 字段( |
invalid operator | ❌ 失败 | 字段( |
invalid conds | ❌ 失败 | 字段(
确保条件值输入符合预期,详情见: 字段—算子—条件值配置 |
invalid boost | ❌ 失败 | 提权、降权强度配置不合法 |
诉求: 当用户搜索时,
"conditional_boost": [ { "conds": [ { "field": "brand", "op":"must", "conds":["apple", "samsung", "huawei"], } ], "boost": 0.8 }, { "conds": [ { "field": "seller_id", "op":"must", "conds":["123"], } ], "boost": 0.5 }, { "conds": [ { "field": "available_qty", "op":"lte", "conds":0, } ], "boost": -0.8 } ]
问: 若某一提、降权配置不合法,会发生什么情况?
答:系统会自动忽略不合法的提、降权规则,其他合法规则照常生效。
问: 用户如何知晓动态提、降权规则的执行效果?
答: 系统会按照请求体参数中的动态提、降权规则顺序,返回其执行效果,包括成功、字段未找到、无效字段类型等信息。详情请查看 Status。