Hybrid Search

Hybrid Search is the retrieval strategy that combines keyword-based search (BM25) with semantic vector search (dense embeddings) to achieve superior recall and precision across all query types — becoming the industry standard for production RAG systems, enterprise search, and AI-powered knowledge retrieval platforms.

What Is Hybrid Search?

  • Definition: A retrieval system that simultaneously executes BM25 keyword search and dense vector similarity search on the same corpus, then fuses the ranked results from both systems into a single combined ranking.
  • Motivation: Each retrieval method has distinct failure modes — keyword search misses semantic matches while dense search misses exact-match specifics. Combining them covers both cases.
  • Fusion Method: Reciprocal Rank Fusion (RRF) is the dominant combination strategy — a parameter-free, robust method that works across diverse query types without query-specific tuning.
  • Standard: Adopted by Elasticsearch (8.x), Weaviate, Pinecone, Milvus, pgvector, and all major production RAG frameworks.

Why Hybrid Search Matters

  • Complementary Strengths: Keyword search excels at exact term matching (error codes, product SKUs, technical jargon); dense search excels at semantic understanding (synonyms, paraphrases, intent).
  • Consistent Performance: Hybrid search degrades gracefully — when one method fails on an unusual query type, the other compensates, maintaining acceptable performance across all query categories.
  • RAG Accuracy: Higher retrieval recall means more relevant passages reach the LLM — directly reducing hallucinations and improving answer quality.
  • No Retraining Required: BM25 component needs no training; dense component uses a pre-trained embedding model — hybrid systems are deployable without custom training data.
  • Industry Proven: BEIR benchmark consistently shows hybrid outperforming either method alone by 3–8 NDCG@10 points across diverse retrieval tasks.

Why Each Method Alone Is Insufficient

Vector Search Alone Fails When:
- Query: "Error code E1047" — vector search maps to semantically similar errors, not the exact code.
- Query: "TSMC N3E process node" — abbreviations and model names may not embed correctly.
- Query: Rare technical terms not well-represented in embedding training data.

BM25 Alone Fails When:
- Query: "How does semiconductor lithography work?" — synonyms like "photolithography" or "optical patterning" won't match.
- Query uses paraphrases different from document vocabulary — retrieves nothing relevant.
- Conceptual questions with no overlap in specific terminology between query and answer.

Reciprocal Rank Fusion (RRF)

The dominant fusion algorithm — combines ranked lists without requiring score normalization:

RRF_Score(document) = 1/(k + rank_keyword) + 1/(k + rank_vector)

Where:
- rank_keyword = document's rank in BM25 results (1 = top result)
- rank_vector = document's rank in dense retrieval results
- k = 60 (constant preventing top-ranked documents from dominating; robust default)

Key Property: Documents appearing high in both lists get a strong boost. Documents in only one list still contribute. Order-based, not score-based — avoids scaling issues between BM25 scores and cosine similarity.

Hybrid Search Implementation

Step 1 — Dual Indexing:
- BM25 index: Elasticsearch, OpenSearch, or BM25Okapi (Python) for keyword retrieval.
- Vector index: FAISS, pgvector, Pinecone, Weaviate, Chroma for ANN search.

Step 2 — Parallel Retrieval:
- Query both indexes simultaneously (async/parallel execution).
- Retrieve top-100 candidates from each (broader is better before fusion).

Step 3 — RRF Fusion:
- Merge ranked lists using RRF formula.
- Output unified top-K ranking (typically top-20 before optional reranking).

Step 4 — Optional Reranking:
- Cross-encoder reranker on top-20 hybrid results for maximum precision.

Vector Database Hybrid Search Support

PlatformBM25 Built-inVector SearchRRF SupportManaged
ElasticsearchYes (native)Yes (8.x)YesYes (Elastic Cloud)
WeaviateYes (BM25)YesYesYes
PineconeNoYesPartialYes
pgvector + PostgresVia tsvectorYesManualSelf-hosted
MilvusPlannedYesYes (Milvus 2.4)Yes
ChromaNoYesNoSelf-hosted

Performance Comparison on BEIR

MethodAvg. NDCG@10Best For
BM25 only43.5Keyword-heavy queries
Dense only47.2Semantic queries
Hybrid (RRF)50.8All query types
Hybrid + rerank56.8High-precision RAG

Hybrid search is the retrieval architecture that makes production RAG systems reliable across the full spectrum of real-world query types — combining the precision of keyword matching with the semantic understanding of neural embeddings to deliver the best possible context to downstream LLM generation.

Take hybrid search further

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