---
title: "Reciprocal Rank Fusion: How Hybrid Search Really Works"
url: https://daily.dev/posts/reciprocal-rank-fusion-how-hybrid-search-really-works-ry5peb2yj
source_url: https://redis.io/blog/reciprocal-rank-fusion
type: article
source: "Redis"
published: 2026-08-13T01:01:26.285Z
updated: 2026-08-13T01:01:54.230Z
tags: ["rag", "redis", "vector-search"]
reading_time: 9
upvotes: 0
comments: 0
language: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Reciprocal Rank Fusion: How Hybrid Search Really Works

**[Redis](https://daily.dev/sources/redislabs)** · 9 min read · 0 upvotes · 0 comments

## Summary

Reciprocal rank fusion (RRF) merges ranked lists from different retrieval systems, like BM25 keyword search and vector similarity search, using only document rank positions rather than raw scores. This sidesteps the problem that BM25 and cosine similarity scores live on incompatible, drifting scales that make naive score-addition unreliable. The formula (1/(k+rank), summed across lists, with k typically 60) is unsupervised, cheap to compute, and used in hybrid search, recommendation systems, and any pipeline combining recency, popularity, or personalization signals. The piece argues retrieval speed matters far more than fusion cost, since fusion is trivial arithmetic while keyword and vector retrieval scale with corpus size and dominate latency budgets, especially for agentic workflows that retrieve repeatedly. Redis positions its Redis Search and Redis Iris products as the fast retrieval layer that runs hybrid queries with RRF in a single query.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://redis.io/blog/reciprocal-rank-fusion>

## Questions this post answers

### Why shouldn't I just add BM25 and cosine similarity scores together for hybrid search?

BM25 scores have no fixed universal range and vary by implementation, query, and corpus, while cosine similarity is fixed between -1 and 1, so summing them lets BM25 dominate since its values are often an order of magnitude larger. Normalization helps but is fragile: outlier scores compress the rest, the ideal keyword/vector blend shifts per query, and score distributions drift over time as indexes and embedding models change.

_Weighing keyword versus vector scoring tradeoffs is easier with search engineering discussions curated on daily.dev._

### What is the formula for reciprocal rank fusion and what does the k constant do?

Reciprocal rank fusion scores each document as the sum of 1/(k plus its rank) across every ranked list it appears in, using only rank position and ignoring raw scores entirely. The constant k is typically set to 60, a value found to work well without being especially sensitive; it softens the effect of one retriever ranking a document unusually high and prevents lower-ranked documents from being ignored entirely.

_Developers tuning retrieval pipelines can follow more hybrid search techniques on daily.dev._

### Why does retrieval speed matter more than the fusion algorithm in a hybrid search pipeline?

Fusion arithmetic like reciprocal rank fusion is cheap addition over a few dozen or hundred already-retrieved candidates, with no model inference or index lookups involved, so it barely affects latency. The expensive part is retrieval itself: keyword search walks an inverted index and vector search walks a graph like HNSW, both growing costlier as the index grows, and agentic workflows that retrieve repeatedly multiply every millisecond of retrieval latency.

_Engineers optimizing RAG latency budgets can track retrieval architecture patterns on daily.dev._

## Similar posts on daily.dev

- [Reciprocal Rank Fusion \(RRF\): How It Works and When to Use It](https://daily.dev/posts/reciprocal-rank-fusion-rrf-how-it-works-and-when-to-use-it-a3k0jthng) · BigData Boutique blog · 1 upvotes · 0 comments
- [Hybrid search and reranking: a deeper look at RAG](https://daily.dev/posts/hybrid-search-and-reranking-a-deeper-look-at-rag-9ibfhxn0o) · Ubuntu · 0 upvotes · 0 comments

---

Tags: [#rag](https://daily.dev/tags/rag), [#redis](https://daily.dev/tags/redis), [#vector-search](https://daily.dev/tags/vector-search)

[View this post on daily.dev](https://daily.dev/posts/reciprocal-rank-fusion-how-hybrid-search-really-works-ry5peb2yj)
