Reciprocal Rank Fusion (Rrf)

Reciprocal Rank Fusion (RRF) is a simple but highly effective technique for combining ranked result lists from multiple retrieval systems into a single, unified ranking. It is widely used in hybrid search and RAG pipelines where you want to merge results from different retrieval methods (e.g., vector search + keyword search).

The RRF Formula

$$\text{RRF}(d) = \sum_{r \in R} \frac{1}{k + \text{rank}_r(d)}$$

Where:
- d is a document
- R is the set of rankers being fused
- rank_r(d) is the rank of document d in ranker r's list
- k is a constant (typically 60) that prevents high-ranked items from dominating excessively

Key Properties

  • Score-Agnostic: RRF only uses rank positions, not raw scores. This makes it robust to different score scales and distributions across retrievers.
  • No Training Required: Unlike learned fusion methods, RRF needs no training data or parameter tuning — just set k and go.
  • Handles Missing Documents: If a document only appears in one ranker's list, it still gets a score from that ranker and zero contribution from others.

Why RRF Works So Well

  • Complementary Strengths: Vector (dense) retrieval excels at semantic similarity while keyword (sparse) retrieval excels at exact term matching. RRF captures the best of both.
  • Robustness: By aggregating across multiple signals, RRF smooths out individual retriever failures.
  • Simplicity: Despite its simplicity, RRF often matches or outperforms more complex learned fusion methods.

Practical Usage

RRF is the default fusion strategy in Elasticsearch (hybrid search), Weaviate, and many production RAG systems. It's a go-to technique when combining any set of ranked retrieval results.

Take reciprocal rank fusion (rrf) further

Ask the copilot about this term, or have our engineers assess it against your process.