Lead · Core path · 8 chapters
Hybrid search
Dense + sparse, Reciprocal Rank Fusion, weighted fusion, learned sparse retrieval
Hybrid is a strong default, not a universal win; without per-query evaluation it can add latency and duplicate noise while hiding which retriever failed.
Read these first
What you will know
Combine lexical and dense results with RRF and measure the gain
Reciprocal rank fusion combines rankings without needing scores to be comparable.
Run an ablation on a judged query set comparing dense, lexical, learned-sparse, RRF, and weighted fusion
Use identical candidate and evaluation budgets across variants, because aggregate recall can hide regressions on rare terms, identifiers, or long-tail queries.
Tune the weighting, or justify leaving it at the default
Tune the weighting only after establishing that fusion helps at all.
Show a query each half gets right and the other gets wrong
The useful evidence is a concrete complementarity example, not an average score that could be driven by one query class.
Choose a fusion strategy and rollout guardrails for a stated quality, latency, and cost budget, then defend it from evaluation results and production traces
Score distributions, candidate overlap, tail latency, and retriever outages can change the right choice after deployment even when offline averages look favorable.
Chapters
- 1
Lexical and dense retrievers fail on different queries, which is the whole premise
Fusion is only worth anything where the two halves disagree usefully. Find the concrete pair: a part number, error code or rare surname that BM25 nails and the embedding smears into a neighbourhood of similar-looking strings, and a paraphrased question with no shared vocabulary that the dense retriever answers and the inverted index cannot see. Those two queries are the argument; an average is not.
- 2
RRF fuses rankings because BM25 and cosine scores share no scale
A BM25 score of 14.2 and a cosine similarity of 0.83 are not commensurable, and no fixed constant makes them so. Reciprocal rank fusion sidesteps the problem entirely by summing 1/(k + rank) across lists, using position only. Raising k from 60 flattens the gap between rank one and rank twenty, which shifts the balance toward documents both retrievers agreed on rather than either one's favourite.
- 3
Weighted score fusion buys magnitude and pays in calibration
Ranks throw away how far ahead the top document was; weighted fusion keeps that, which matters when one retriever is emphatically certain and the other is merely ordering noise. The bill is that the two score distributions must be made comparable and then kept comparable as the corpus, the analyser and the embedding model change — and stale weights degrade silently, with no error to catch.
- 4
Comparable scores are made per query, and the weight is fitted rather than chosen
Making two score distributions comparable is an operation, not an aspiration. Min-max or z-score each retriever's candidate list per query rather than over the corpus, because a global normalisation is fitted to a distribution that shifts with every query's difficulty and with every reindex. With the scales aligned the weight is swept on a held-out split and validated there, and you will see how few judged queries it takes for a swept optimum to be fitting noise rather than expressing a preference. The honest ending is that when one retriever's certainty really does carry information, reconciling two scales is rarely the best instrument for using it: scoring the query and document together with a reranker, or routing by query class instead of blending at all, usually beats a tuned weight.
- 5
Learned sparse retrieval predicts weights for terms the document never used
A model reads the passage and emits weights over the vocabulary, including words absent from the text, producing a sparse vector that an ordinary inverted index can serve. It occupies the middle ground: term-level interpretability and exact-match behaviour, plus some of the vocabulary bridging that made dense retrieval attractive. Treat it as a third retriever in your comparison, not as a variant of one of the other two.
- 6
Equal candidate budgets are what make a fusion ablation honest
Dense-only at k=10 against hybrid that pulled fifty candidates from each retriever before fusing is not a comparison of fusion; part of that gain is simply having looked at more documents. Fix the candidate budget and the evaluation depth across every arm — dense, lexical, learned sparse, RRF, weighted — and only then ask whether the weighting is worth tuning at all.
- 7
Aggregate recall hides the query class where fusion actively hurts
Recall@10 rising from 0.71 to 0.78 can coexist with a regression on queries where one retriever was right and the other confidently wrong, because fusion averages away a correct rank-one result. Break results down by query class — identifiers, rare terms, long-tail phrasings — before believing the headline. A per-class regression on exactly the queries lexical search existed to serve is grounds to decline the rollout.
- 8
In production a fused query costs the slower retriever plus the outage risk of both
Tail latency is the max of two systems, not the mean, and candidate overlap that was 60% offline can drift as the corpus grows. Price the other half of the budget too: a second index to build, store and keep in sync with the first, and a learned-sparse arm that adds an encoder forward pass to every query at serving time. Decide up front what happens when one retriever times out — degrade to the survivor, or fail the query — and re-check score distributions and per-class quality on live traces, because the offline winner is not always the deployed one.
External resources
- Grounding Large Language Models in Clinical Evidence: A Retrieval-Augmented Generation System for Querying UKarxiv.org
Compares sparse, dense and hybrid retrieval for querying UK clinical evidence with RAG.
- Hybrid Search: BM25, Vector & Reranking Reference 2026digitalapplied.com
This is a substantive hybrid-search explainer covering BM25, dense retrieval, RRF mechanics, reranking architecture, benchmarks, and implementation considerations across vendors.
- Hybrid search — Weaviate documentationdocs.weaviate.io
Working hybrid queries with alpha, fusion type and per-property BM25 weighting
- Unlocking the Power of Hybrid Search: Weaviate's Fusion Algorithmsweaviate.io
RRF vs relative-score fusion, with worked examples of when each wins
- Understanding Reciprocal Rank Fusion in Hybrid Search [Advanced RAG]TechViz - The Data Science Guy
The RRF math done by hand, so you can implement it in ten lines
- The Complete Guide to Hybrid Search in RAG (BM25 + Embeddings + Reranker)Dave Ebbelaar
Full sparse+dense+rerank stack assembled end to end