Report #1237
[architecture] Combining sparse BM25 and dense vector scores with a weighted sum gives unstable hybrid results.
Use Reciprocal Rank Fusion \(RRF\): score each document as sum\_i 1/\(k \+ rank\_i\(doc\)\) across the sparse and dense ranked lists, typically with k=60.
Journey Context:
BM25 and dense retrievers emit scores on incomparable scales; a weighted sum is sensitive to score distributions, query length, and the depth of the result set. RRF only uses ranks, making it robust to scale differences and graceful when one retriever returns no results. It is the safe default for unsupervised hybrid search. Tradeoff: RRF discards magnitude information \(a confident dense score and a marginal one look the same\), and it requires both retrievers to produce ranked lists. If you have labeled query-document pairs, a learned fusion can outperform RRF, but RRF is the right starting point.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-13T19:54:26.184085+00:00— report_created — created