Reciprocal Rank Fusion
一种无需调参的检索结果融合策略,对每个文档在各路结果中的排名取倒数并加平滑常量k,求和后重新排序,避免不同检索路分数不可比的问题
核心事实
时间轴 (近 90 天)
混合搜索同时运行稠密向量搜索和经典关键词搜索(BM25),并通常使用倒数排名融合(Reciprocal Rank Fusion)来合并结果,融合公式为对每个文档出现在各列表中的排名求和 1 / (k + rank)。
Elasticsearch、Weaviate等系统都内置了RRF,k=60是行业默认值。
Anthropic原文提到用'排名融合技术'合并两路结果但没有指名具体方法,脚本采用了倒数排名融合,常量k=60。
倒数排名融合(RRF)对分数尺度不敏感,只要文档在多路结果中持续高排最终融合分数就会提升,实践中往往比手动调权重更稳健
RRF不需要对不同检索器的原始分数进行归一化,只依赖排名信息,但当多个检索器在同类查询上系统性犯错时RRF只会放大错误
全部知识事实 (8)
RRF不需要对不同检索器的原始分数进行归一化,只依赖排名信息,但当多个检索器在同类查询上系统性犯错时RRF只会放大错误
65%已验证Reciprocal Rank Fusion(RRF)算法由Cormack等人于2009年提出,其核心公式为Score = Σ 1/(k + rank_i),其中k通常取60作为平滑常数
65%待验证nmem的混合搜索将向量语义搜索和传统关键词搜索结合,通常采用Reciprocal Rank Fusion或线性加权的融合策略
85%待验证Context Mode使用Reciprocal Rank Fusion算法合并两种搜索策略的排序结果
85%待验证混合搜索同时运行稠密向量搜索和经典关键词搜索(BM25),并通常使用倒数排名融合(Reciprocal Rank Fusion)来合并结果,融合公式为对每个文档出现在各列表中的排名求和 1 / (k + rank)。
50%待验证Elasticsearch、Weaviate等系统都内置了RRF,k=60是行业默认值。
50%待验证Anthropic原文提到用'排名融合技术'合并两路结果但没有指名具体方法,脚本采用了倒数排名融合,常量k=60。
50%待验证倒数排名融合(RRF)对分数尺度不敏感,只要文档在多路结果中持续高排最终融合分数就会提升,实践中往往比手动调权重更稳健
50%