You need to enable JavaScript to run this app.
向量数据库VikingDB

向量数据库VikingDB

复制全文
常见问题
检索参数常见问题
复制全文
检索参数常见问题

检索后处理算子

检索后处理算子详细参数说明可参考文档:检索后处理算子-PostProcess

  1. score_fusion 与ElasticSearch 的function score query能力的区别?

(https://www.elastic.co/docs/reference/query-languages/query-dsl/query-dsl-function-score-query)

VikingDB
score_fusion

ElasticSearch
function score query

定位

向量检索的后处理算子。

通用检索。

执行机制

score计算与ANN流程解耦。只对预召回的数据计算score,减少了计算量。

query命中的所有文档都要参与计算score。

易用性

高。有清晰的JSON DSL框架,参数相对更少,用户理解成本和心智负担低。

中。参数和模式组合繁多,需要深入理解才能用好,配置复杂。

归一化

默认开启且推荐,自动处理尺度问题。降低了使用门槛,避免了因分数尺度差异导致融合结果失真。

无内置自动归一化,需用户自行处理

  1. 如何选择合适的 addition_score_weight 值?

addition_score_weight 的选择取决于您的业务目标。
如果更看重向量检索的语义相关性,希望业务指标只作为微调,建议设置一个较小的值(如 0.1 - 0.3)。
如果认为业务指标(如时效性、热度)与语义相关性同等重要,可以设置一个中间值(如 0.4 - 0.6)。
如果业务场景中,自定义的业务规则是排序的主要依据,则可以设置一个较大的值(如 0.7 - 0.9)。

  1. factor 参数的用途是什么?它可以是负数吗?

factor 参数主要有两个用途:
缩放:调整不同业务指标的相对重要性。例如,您有两个加分项“点赞数”和“收藏数”,如果您认为“收藏数”的重要性是“点赞数”的两倍,可以将它们的 factor 分别设置为 1 和 2。
反转/惩罚:factor 可以是负数。当您希望对某些特征进行惩罚时,可以设置一个负的 factor。例如,对“投诉量”字段设置一个负的 factor,可以使投诉越多的项目排名越靠后。

  1. base_value_from参数可以有哪些取值?具体的含义?

目前支持的取值有 scalar_fielddecay_func。如何选择,取决于业务指标的性质:
使用 scalar_field:当指标本身就可以直接、线性地反映业务价值时。例如:商品销量、视频点赞数、文章阅读量。这些值越高,通常代表业务排序越靠前。
使用 decay_func:当指标的业务价值取决于它与某个“中心点”的“距离”时。这在以下场景中非常有用:

  • 时效性: field 是时间戳,origin 是当前时间。距离当前时间越近,得分越高。
  • 价格匹配: field 是商品价格,origin 是用户的目标预算。价格越接近预算,得分越高。
  1. 是否应该开启归一化(normed)?有什么好处?

建议开启归一化,尤其是在不确定 origin_scoreaddition_score的分布范围时。好处如下:
可预测的范围:归一化操作会将 origin_scoreaddition_score任意取值范围的数值稳定在 (0,1) 区间内。这使得 addition_score_weight 的作用更加直观和可控。
公平融合:addition_score 中的衰减函数得分和直接取值的标量,其数值范围可能千差万别。将origin_score 归一化后,可以更公平地与这些不同来源、不同尺度的业务分数进行加权融合,避免某一类分数因其数值范围过大而主导了最终结果。

最近更新时间:2026.01.27 21:50:42
这个页面对您有帮助吗?
有用
有用
无用
无用