Reciprocal rank fusion (RRF)
RRF is the standard way to combine multiple retrieval rankings (e.g., BM25 + vector) into one final score — sum `1 / (k + rank)` across all rankings for each document, sort by total.
Reciprocal rank fusion solves a real problem: hybrid search returns two ranked lists (BM25 + vector) with incompatible scores (BM25 is unbounded TF-IDF, vector is cosine in [-1, 1]). You can't just average them. RRF normalizes by rank position only: each document gets `Σ 1/(k + rank_i)` where k is a constant (typically 60) and rank_i is its position in the i-th ranking. Documents appearing high in multiple rankings rise to the top. Production RAG: every major framework (LlamaIndex, LangChain, Vercel AI SDK, Haystack) ships RRF as the default fusion strategy. It's parameter-free, deterministic, and beats most learned combiners.
When to use reciprocal rank fusion (rrf)
- Combining BM25 + vector ranks.
- Combining multiple embedding model rankings.
Common mistakes
- Trying to average raw scores instead — incompatible score scales make the result garbage.
- Picking k too small — typical k=60 is well-validated; smaller k overweights the top result.
FAQ
What is reciprocal rank fusion (rrf)?
RRF is the standard way to combine multiple retrieval rankings (e.g., BM25 + vector) into one final score — sum `1 / (k + rank)` across all rankings for each document, sort by total.
When should I use reciprocal rank fusion (rrf)?
Combining BM25 + vector ranks. Combining multiple embedding model rankings.
What are the most common mistakes with reciprocal rank fusion (rrf)?
Trying to average raw scores instead — incompatible score scales make the result garbage. Picking k too small — typical k=60 is well-validated; smaller k overweights the top result.
Related terms
- BM25 — BM25 is the classic lexical retrieval algorithm — a tuned TF-IDF variant that scores documents by query-term frequency and inverse document frequency, still essential as part of [[hybrid-search]] in 2026.
- Hybrid search (retrieval) — Hybrid search combines dense vector retrieval with sparse keyword (BM25) retrieval, then fuses the two ranked lists — the production retrieval default for RAG in 2026.
- RAG fusion — RAG fusion runs multiple query rewrites in parallel against the retrieval index and fuses the ranked results — improving recall on ambiguous or multi-aspect queries.
Last updated: 2026-06-01. Raw markdown: https://promtable.com/glossary/rrf.md.