EXPLAINER

Hybrid Search and Reranking

techniquefreshness: evolvingsources not yet verified

Hybrid search combines keyword (lexical) and vector (semantic) retrieval; reranking then reorders the top candidates with a more precise model. Together they improve RAG retrieval quality.

Short answer: Run BM25 keyword search and vector search, merge results (for example by reciprocal rank fusion), then rerank the top-N with a cross-encoder or LLM. This catches exact terms and meaning, and boosts precision before context goes to the model.

What is it?

Keyword search is great at exact words like product codes; vector search is great at meaning. Using both and then having a stronger model re-sort the best candidates gives better results than either alone.

Also known as: hybrid search, BM25 plus vectors, reranker, cross-encoder reranking, reciprocal rank fusion, RRF, ColBERT, rerank RAG results.

Technical definition

Lexical retrieval (BM25; Robertson & Zaragoza, 2009) and dense retrieval (What are Embeddings in AI?, e.g. DPR, Karpukhin et al., 2020) have complementary strengths. Fusion options include reciprocal rank fusion (Cormack et al., 2009) and weighted score combination after normalisation. Rerankers: cross-encoders (e.g. monoBERT-style, Nogueira & Cho, 2019), late-interaction models (ColBERT, Khattab & Zaharia, 2020) or LLM-based rerankers; they add latency proportional to candidates scored. Evaluate with recall@k and nDCG on labelled queries (RAG Evaluation (Retrieval and Answer Quality)).

Entity type: technique · Freshness class: evolving.

When should I use it?

Use once simple vector retrieval misses exact terms or returns noisy top results.

Implementation patterns

  • Retrieve 50–100 candidates by both methods, fuse, rerank to top 5–10.
  • Metadata filters before scoring.
  • Query rewriting for ambiguous questions.
  • Cache embeddings and rerank results where sensible.

Technologies and frameworks

Commonly associated: BM25 (Elasticsearch/OpenSearch/Lucene), pgvector + full-text search, cross-encoder rerankers, ColBERT, rerank APIs. Names are examples of what exists, not recommendations, and projects change quickly.

Practical guide

  1. Build a labelled retrieval set.
  2. Measure vector-only baseline.
  3. Add BM25 + fusion.
  4. Add a reranker.
  5. Track recall@k and latency.

Common failure modes

  • Unnormalised score mixing.
  • Reranker latency exceeding budget.
  • Retrieving too many candidates.
  • No evaluation to prove the gain.

Troubleshooting

  • Exact IDs/names not found — Add lexical search or boost exact matches.
  • Latency too high — Reduce candidates reranked or use a smaller reranker.

Contrasted with

Questions this page answers

  • What is hybrid search?
  • What is a reranker in RAG?
  • How do I combine BM25 and vector search?
  • How do I improve RAG retrieval accuracy?
  • What is reciprocal rank fusion?

Typical goals: improve retrieval quality; handle exact-match terms in RAG.

Sources and verification

Status: not independently verified. This entry was authored on 2026-10-06 from general technical knowledge, without live checking of the sources below. Treat every source as a lead to confirm (identifier, title, authorship, current version) before publication or citation.

Freshness class: evolving — Established techniques whose best practice shifts as research and tooling move. Re-review every 6 months.

Canonical sources (unverified leads):

  • Karpukhin et al., Dense Passage Retrieval for Open-Domain QA (2020) — arXiv:2004.04906
  • Khattab & Zaharia, ColBERT (2020) — arXiv:2004.12832
  • Cormack, Clarke & Büttcher, Reciprocal rank fusion outperforms Condorcet and individual rank learning methods, SIGIR (2009) — locator to be identified
  • Nogueira & Cho, Passage Re-ranking with BERT (2019) — arXiv:1901.04085