RRF 融合排序是什么?为什么混合检索不能直接相加 BM25 和向量分数?
下面是一段教学模拟,不是真实面试记录。
🧑💻 面试官:BM25 和向量检索各返回一批结果,你怎么合并?
🙋♂️ 我:把同一篇文档的两个分数相加,再从高到低排序。
🧑💻 面试官:一边分数是 12,另一边只有 0.8,你确定它们可以直接比较吗?
🙋♂️ 我:那先做归一化。
🧑💻 面试官:如果我们暂时不依赖原始分数,RRF 是怎么排序的?公式里的常数和检索 Top-k 是一回事吗?
RRF 换了一种比较方法:不直接问“得了多少分”,而是问「在每一路排第几名」。
面试速答(60 秒版)
RRF 是倒数排名融合。它按照文档在各路检索中的名次计算贡献,再把贡献相加。常见形式是每一路贡献 1 除以“排名常数加名次”。
这样就不需要直接比较 BM25 和向量相似度的原始分数,适合融合不同量纲的排序结果。一篇文档如果在两路都靠前,通常会得到较高的融合分。
需要分清两个参数:排名常数控制头部名次之间的差距,候选窗口决定每一路有多少结果参与融合,它们都不等于最终返回条数。
RRF 只负责融合已有候选,不能找回两路都没检索到的资料,也不会判断资料本身是否正确。还要单独检查候选覆盖、重复文档和最终排序效果。

知识点详解:从两张排名表,算出一张融合表
为什么相加原始分数不稳妥?
BM25 分数来自词项匹配等计算,向量分数则取决于模型、向量度量和检索系统的返回约定。它们没有天然统一的刻度。
简单相加会让数值范围较大的一路占优势。归一化是一类方案,但还需要考虑分布变化和权重选择。
RRF 选择绕开原始分数,只使用各路排名。代价是它也舍弃了“第一名比第二名好多少”的原始分数信息。所以它容易使用,不代表任何场景下都最好。RRF 官方说明
用四篇文档手算一次
下面是假设的检索结果,名次从 1 开始:
- BM25:A、B、C。
- 向量检索:B、D、A。
采用排名常数 k = 60。文档 d 的分数为:
RRF(d) = 各路 1 / (k + rank(d)) 的总和。
某篇文档不在某一路候选里,那一路就不给它贡献,不是随便补一个“最后名次”。
| 文档 | BM25 贡献 | 向量贡献 | 融合分,约值 |
|---|---|---|---|
| A | 1/61 | 1/63 | 0.032266 |
| B | 1/62 | 1/61 | 0.032522 |
| C | 1/63 | 0 | 0.015873 |
| D | 0 | 1/62 | 0.016129 |
因此,这个算例的结果是 B、A、D、C。
B 虽然没有拿到 BM25 第一名,但两路排名都是前两名;A 的向量排名稍低,融合后排在 B 后面。这里没有使用原来的 BM25 分数或向量分数。
三个数量,控制的是三件事
先说排名常数。k 越大,同一路相邻名次之间的贡献差距越小;k 越小,头部名次的优势越明显。它不是要检索多少篇文档。
再说候选窗口。如果每一路只拿前三名,排在第四名的文档就无法参与这一轮融合。扩大窗口可能提高覆盖,也会增加后续处理量,不能只改公式就认为召回已经提高。
最后才是返回条数。融合了两百个候选,完全可以只把前十个交给重排器,或选出少量片段进入模型上下文。
在 Elasticsearch 中,这些概念对应具体实现参数,但默认值和参数限制要按照使用版本确认,不能把本文的教学值直接当成生产配置。版本化实现说明

融合前,先统一“同一篇文档”的身份
两路结果如果使用不同 ID,明明是同一个片段,也可能被当成两个候选。
反过来,若把同一文件所有片段都按文件 ID 合成一个,某个片段在一路的名次可能被错误地加到另一个片段上。
因此,参与融合的单位要一致:按文档排序,就统一文档 ID;按 Chunk 排序,就统一 Chunk ID。最终拼上下文时是否再做同文件去重,是后面的事情。
还要注意,各路候选如果来自同一种高度相似的方法,多路“投票”未必提供多少新信息。评测时既看排序,也看资料覆盖和答案证据,不能只看融合分变高了。
面试官继续追问
两路都没找到正确片段,调小 k 有用吗?
没有。k 只改变已有候选之间的分差。需要先检查查询、索引、过滤条件和召回窗口,解决正确资料没有进入候选的问题。
某一路比其他路可靠,可以加权吗?
可以设计加权融合,但那是带权变体,需要说明权重含义并做评测,不能把所有带权公式都说成最基本的等权 RRF。
RRF 排第一,能说明答案有依据吗?
不能。它说明候选在多路排名融合中占优,不证明内容准确或足以回答问题。还需要查看资料来源、适用条件和与问题的对应关系。
面试速记卡
- 基本计算:同一文档各路 1 / (排名常数 + 名次) 相加。
- 名次:通常从 1 开始;没有进入某一路候选,那一路贡献为 0。
- 排名常数:控制头部名次之间的贡献差距,不是 Top-k。
- 候选窗口:控制哪些结果有资格参与融合。
- 能力边界:RRF 不能补回漏检资料,也不负责验证资料真实性。
公司面试真题
这道题暂未收录可核验的公司真题来源。你可以先阅读本文解析,或浏览已收录的公司面试真题。
浏览公司面试真题 →