Hybrid Search

How hybrid search combines keyword (BM25) and vector (semantic) retrieval, fuses the two rankings with Reciprocal Rank Fusion, and reranks the top results — the retrieval pattern behind modern search and AI answers.

First published: Jul 3, 2026 · Last updated: Jul 18, 2026 · Advanced

Hybrid search runs two retrieval methods at once — keyword/lexical search (BM25 over an inverted index, which matches exact terms) and vector/semantic search (embedding similarity, which matches meaning) — then merges the two result lists into a single ranking. Because the two produce differently-scaled scores, the merge is usually done with Reciprocal Rank Fusion (RRF), which fuses by rank position rather than raw score using a constant and candidate depth that are configurable system parameters, not fixed values; many stacks then rerank the fused top-k with a cross-encoder. The reason it wins: each method catches recall the other misses — keyword nails exact strings (SKUs, error codes, proper nouns), vector catches synonyms and paraphrase — though the size of that gain is corpus- and query-dependent, not a guaranteed win on every benchmark. It's the standard production retrieval pattern (Microsoft, Google, Weaviate, and Elastic all ship it) and the retrieval layer inside modern RAG. For SEO there's no hybrid-search knob: keyword presence still matters for exact-match recall AND topically coherent, self-contained passages matter for semantic recall — you need both, which is exactly what hybrid retrieval rewards.

TL;DR — Hybrid searchHybrid search runs keyword (lexical/BM25) search and vector (semantic) search together, then merges the two result lists into one ranking — commonly with Reciprocal Rank Fusion — so it catches both exact-term matches and meaning-based matches that either method alone would miss. runs lexical retrieval (BM25Semantic search is meaning-based retrieval — matching what a user means, not just the words they typed. Search engines detect entities, expand synonyms, infer intent, and rank by conceptual relevance, which is why keyword stuffing lost its power and topical depth gained it. over an inverted indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. — exact-term matching, sparse representations) alongside dense vector retrieval (embeddingEmbeddings are dense numerical vectors — lists of floating-point numbers — that represent the meaning of text in a high-dimensional space. Semantically similar content lands close together, so search and AI systems can match by meaning, not just keywords. similarity via ANN — semantic matching), typically in parallel though exact orchestration is product-specific, then fuses the two result lists into one ranking. Because the two produce incompatibly-scaled scores, fusion is usually rank-basedReciprocal Rank Fusion (RRF), with its constant and candidate depth set as configurable system parameters, not universal values — rather than score-based, though normalized weighted fusion (Weaviate, OpenSearch) is a documented alternative; many stacks then rerank the fused top-k with a cross-encoder for precision. It wins because the two methods have complementary recall: lexical nails exact strings (SKUs, codes, proper nouns), dense catches paraphrase and synonymy — but that gain is corpus- and query-dependent, not a guaranteed win over either method alone on every benchmark. It’s the standard production retrieval pattern (Microsoft, Google, Weaviate, Elastic all ship it) and the retrieval layer of modern RAGRAG is the retrieve-then-generate pattern behind AI search: the system retrieves relevant passages from an external index at query time, injects them into the model's context, and generates an answer grounded in those sources — without changing the model's weights.. There’s no “hybrid-search optimization” — keyword presence still drives exact-match recall and topical, self-contained passages drive semantic recall. You need both.

Where hybrid search sits

Official implementations document several hybrid patterns, so the term does not identify one fixed architecture. Evidence for this claim Hybrid search can combine lexical and vector retrieval in one search workflow. Scope: Elastic's documented implementation; available retrievers and scoring controls vary by engine. Confidence: high · Verified: Elastic: Hybrid search Claims about a particular consumer search product require product-specific evidence. Evidence for this claim Reciprocal rank fusion can merge separately ranked text and vector result lists without requiring their raw scores to share a scale. Scope: Azure AI Search's documented hybrid ranking implementation; fusion choices differ across systems. Confidence: high · Verified: Microsoft: Hybrid search scoring

Keyword search and vector searchVector search finds content by comparing the meaning of a query against stored content as numerical vectors, retrieving the closest ones in a high-dimensional embedding space. At scale it uses approximate nearest neighbor (ANN) algorithms — not exact comparison — to search billions of vectors in milliseconds. are usually presented as rivals — the “old way” vs. the “new way.” In production they’re not rivals; they’re teammates. Hybrid search is the arrangement that puts them on the same team.

To be precise about the pieces:

  • Lexical (keyword) retrieval — the classic inverted index, scored with BM25 (the probabilistic ranking function that’s been the retrieval baseline since 1994). It matches terms. Its representation of a document is sparse — a huge vector that’s mostly zeros, with weights on the specific words present.
  • Dense (vector) retrieval — the vector-searchVector search finds content by comparing the meaning of a query against stored content as numerical vectors, retrieving the closest ones in a high-dimensional embedding space. At scale it uses approximate nearest neighbor (ANN) algorithms — not exact comparison — to search billions of vectors in milliseconds. side. It compares embeddingEmbeddings are dense numerical vectors — lists of floating-point numbers — that represent the meaning of text in a high-dimensional space. Semantically similar content lands close together, so search and AI systems can match by meaning, not just keywords. vectors with a distance metric (usually cosine similarity), finding the nearest neighbors in a high-dimensional space using approximate nearest neighbor (ANN) algorithms. Its representation is dense — every dimension carries meaning. This is the mechanism most people mean when they say semantic searchSemantic search is meaning-based retrieval — matching what a user means, not just the words they typed. Search engines detect entities, expand synonyms, infer intent, and rank by conceptual relevance, which is why keyword stuffing lost its power and topical depth gained it., though semantic searchSemantic search is meaning-based retrieval — matching what a user means, not just the words they typed. Search engines detect entities, expand synonyms, infer intent, and rank by conceptual relevance, which is why keyword stuffing lost its power and topical depth gained it. is the goal and vector searchVector search finds content by comparing the meaning of a query against stored content as numerical vectors, retrieving the closest ones in a high-dimensional embedding space. At scale it uses approximate nearest neighbor (ANN) algorithms — not exact comparison — to search billions of vectors in milliseconds. is one method for it.

Hybrid search runs both and reconciles them. (Some systems generalize the idea: Google’s Vertex AI Vector Search, for instance, supports dense, sparse, and hybrid embeddingsEmbeddings are dense numerical vectors — lists of floating-point numbers — that represent the meaning of text in a high-dimensional space. Semantically similar content lands close together, so search and AI systems can match by meaning, not just keywords. — hybrid being the two combined.)

Hybrid retrieval keeps both exact-match and semantic recall, merges ranks, then reranks for precision. Source: /ai-search/how-search-works/hybrid-search/

Lexical search retrieves exact words with BM25 while dense search retrieves semantic matches with vectors. Reciprocal Rank Fusion combines the two rank lists rather than adding incompatible raw scores. A reranker then makes a final precision pass over the merged candidates. Implementations vary, so this is a common production pattern rather than a universal fixed architecture.

© Patrick Stox LLC · CC BY 4.0 ·

Why hybrid beats either method alone

The argument is about complementary recall. Each retriever fails in a way the other doesn’t:

  • Pure keyword search misses semantic variants. “How to fix a leaky faucet” and “repairing a dripping tap” share almost no words but mean the same thing — BM25 scores them as unrelated; a vector model scores them as near-identical.
  • Pure vector search misses exact literals. Ask for a specific error code, a part number, a rare proper noun, or a precise phrase, and dense retrieval — which is built to generalize meaning — can smear right past the exact tokenA token is the smallest unit of text (or image/audio/video) an LLM processes — roughly 4 characters, or about ¾ of an English word. A context window is the maximum number of tokens (input plus output) a model can hold at once, like its short-term memory. you needed. This is a well-known failure mode: dense retrievers are weak on out-of-vocabulary terms and exact-match queries.

Combine them and the blind spots cover each other — for a mixed query workload, on a corpus where both exact terms and paraphrase matter. Microsoft’s Azure AI SearchAI search uses large language models and retrieval-augmented generation (RAG) to synthesize an answer from multiple sources rather than returning a ranked list of links. Examples include Google AI Overviews, ChatGPT Search, and Perplexity. team frames hybrid as the default because “vector and keyword retrieval methods… are combined so that you get the best of both approaches.” On the research side, the paper that kicked off the dense-retrieval era — Dense Passage RetrievalChunking is splitting a document into smaller passages so AI systems can embed, index, and retrieve the single most relevant piece — not the whole page — in response to a query. It's a foundational step in RAG pipelines and the conceptual cousin of Google's passage ranking. (DPR, Karpukhin et al., EMNLP 2020) — beat a strong Lucene-BM25 baseline by 9–19% absolute on top-20 passage retrieval accuracy, and the same literature repeatedly finds that combining dense with BM25 beats either alone on mixed query workloads.

Two caveats keep that from becoming a universal claim. First, those figures are bounded by the datasets, retrievers, candidate depths, metrics, and tuning protocol each paper tested — evidence that combining methods can help, not a guarantee it beats every lexical or vector baseline on every corpus and metric. Second, the heterogeneous-benchmark literature (BEIR, for one) shows lexical and dense models trading places across datasets — no single architecture wins every task. The direction of the field settled on evaluating and usually shipping both, not on hybrid being an automatic win: measure it on your own corpus and query mix before assuming published gains transfer.

The merge problem: why you can’t just add the scores

This is the part that makes hybrid search genuinely tricky, and it’s worth getting right.

BM25 and vector similarity produce scores on completely different scales. A BM25 score might be 14.7; a cosine similarity is between −1 and 1. You can’t add them, and naive normalization (min-max scaling each list, then summing) is fragile — it’s sensitive to outliers and to how many results each retriever returns. So the robust, widely-adopted answer is to fuse by rank, not by score.

Reciprocal Rank Fusion (RRF)

Reciprocal Rank Fusion takes each result’s position in each list and scores it as the sum, across lists, of 1 / (k + rank) — where rank is the position (1, 2, 3…) and k is a constant (commonly 60) that dampens the influence of very low-ranked results. A document that appears near the top of both the keyword list and the vector list accumulates the highest fused score and wins. A document that’s #1 in one list but absent from the other still does well, but not as well as one both retrievers agree on.

k, along with how many candidates each retriever contributes to the fusion before it runs, are system parameters you or your search vendor set — not universal optimal values. Elastic’s implementation, for example, exposes both a configurable rank_constant and a rank_window_size rather than fixing them; a wider candidate window can improve recall but costs more compute. If you’re tuning a hybrid stack, treat 60 as a sane default to start from, not a number to leave unquestioned.

Why RRF caught on: it needs no score normalization and no tuning of relative weights between the two retrievers — it only needs the rank orders, which are always comparable. Microsoft describes its hybrid ranking exactly this way — “Azure AI Search uses Reciprocal Rank Fusion (RRF) to rank the results of the hybrid query” — and Elastic, Weaviate, and OpenSearch ship RRF as a first-class fusion option too. (Weaviate also offers a relativeScoreFusion alternative that does normalize and add the scores, for cases where you’d rather weight by score magnitude, and OpenSearch ships its own score normalization and combination processors for the same weighted approach — so RRF is a common default, not the only fusion method in production use.)

Reranking: the precision pass

Fusion gives you a good candidate set fast. Many production stacks add one more stage: take the fused top-k (say, top 50–100) and rerank them with a cross-encoder — a heavier model that reads the query and each candidate together and scores true relevance, rather than comparing two independent vectors. It’s too slow to run over the whole corpus, which is exactly why it runs after retrieval, on a small fused set. Microsoft’s semantic ranker is described as capabilities that “improve the quality of an initial BM25-ranked or RRF-ranked search result” — i.e., rerank what hybrid retrieval already narrowed down. So the full production shape is often: retrieve (BM25) + retrieve (vector) → fuse (RRF) → rerank (cross-encoder) → top results.

Sparse, dense, and “learned sparse”

A useful nuance: the “keyword” half doesn’t have to be plain BM25. There’s a middle category — learned sparse retrieval (e.g., SPLADE) — where a model produces a sparse, term-weighted vector that includes expanded terms the document didn’t literally contain, giving you some semantic reach while staying in the exact-match, invertible-index world. Many “hybrid” systems are really combining a dense retriever with either BM25 or a learned-sparse retriever. For SEO purposes the distinction rarely matters, but it’s why you’ll see “sparse vs. dense” language: sparse = term-based (BM25 or learned-sparse), dense = embedding-based. Hybrid = both.

How Google and Bing use it

Be careful here — this is where confident-sounding claims outrun what’s been confirmed. What’s on the record:

  • Google’s ranking is a hybrid, not a pure-semantic system. Embedding-based retrieval (Neural Matching / RankEmbed, and RankEmbedBERT) supplements the classic inverted index rather than replacing it. Pandu Nayak’s DOJ-testimony framing was that “RankEmbed identifies a few more documents to add to those identified by the traditional retrieval” — that’s lexical-plus-semantic in spirit, which is the hybrid idea. Google’s Vertex AI Vector Search product explicitly supports dense, sparse, and hybrid modes.
  • Bing / Azure AI SearchAI search uses large language models and retrieval-augmented generation (RAG) to synthesize an answer from multiple sources rather than returning a ranked list of links. Examples include Google AI Overviews, ChatGPT Search, and Perplexity. ship hybrid + RRF as a documented product feature — the cleanest first-party confirmation of the exact pattern, even if it’s the cloud product rather than the consumer engine internals.
  • The AI-answer stacks are hybrid. Perplexity’s retrieval is built on hybrid (BM25 + dense) via Vespa; production RAG guidance from every major vendor recommends hybrid over vector-only.

What’s industry theory, not confirmed fact: the exact fusion method, weights, and whether consumer Google Search specifically uses RRF internally. Google has confirmed it blends lexical and embedding retrieval; it has not published “we use RRF with k=60 in web ranking.” Treat the RRF specifics as how the tooling works and a reasonable model for the concept — not as a disclosed detail of Google’s core ranking.

What hybrid search means for SEO

Strip away the mechanics and the guidance is refreshingly non-exotic — because hybrid retrieval rewards being good at both halves, and there’s no third trick.

  • Keyword presence still matters — for the exact-match half. The lexical retriever is still there, still running BM25, still catching literal terms. If your page never contains the actual words, phrases, product names, or entities people search, you forfeit the recall the keyword side would have given you. “Keywords are dead” is wrong; hybrid search is why they’re not.
  • Semantic coherence matters — for the meaning half. The dense retriever finds you by meaning, and it operates on chunksChunking is splitting a document into smaller passages so AI systems can embed, index, and retrieve the single most relevant piece — not the whole page — in response to a query. It's a foundational step in RAG pipelines and the conceptual cousin of Google's passage ranking., not whole pages. Self-contained, topically coherent passages embed cleanly near the queries they should answer; thin, scattered, keyword-stuffed content embeds into a fuzzy nowhere.
  • You can’t optimize the fusion. RRF and rerankingReranking is the second stage of a retrieval pipeline: after a cheap, broad first pass pulls a candidate set of documents or passages, a slower, more precise model re-scores and reorders that shortlist by true relevance before the results are served or handed to an LLM. happen inside the engine. There’s no markup, no tag, no signal you send to influence how the two lists get merged. Your only levers are the two inputs: be findable by exact term and be findable by meaning.
  • The upshot is “do both well.” Old-school on-page keyword hygiene (the words are actually on the page) plus modern topical depth and clear structure (the meaning is unmistakable) is precisely the content hybrid retrieval is built to surface. As the embeddingsEmbeddings are dense numerical vectors — lists of floating-point numbers — that represent the meaning of text in a high-dimensional space. Semantically similar content lands close together, so search and AI systems can match by meaning, not just keywords. and vector-searchVector search finds content by comparing the meaning of a query against stored content as numerical vectors, retrieving the closest ones in a high-dimensional embedding space. At scale it uses approximate nearest neighbor (ANN) algorithms — not exact comparison — to search billions of vectors in milliseconds. pieces put it: there’s largely nothing to “optimize for” beyond making genuinely clear, comprehensive content — hybrid search just means you can’t lean only on keywords or only on vibes.

Hybrid search is the retrieval engine underneath RAGRAG is the retrieve-then-generate pattern behind AI search: the system retrieves relevant passages from an external index at query time, injects them into the model's context, and generates an answer grounded in those sources — without changing the model's weights. and AI answers, the reconciliation of semantic searchSemantic search is meaning-based retrieval — matching what a user means, not just the words they typed. Search engines detect entities, expand synonyms, infer intent, and rank by conceptual relevance, which is why keyword stuffing lost its power and topical depth gained it. with old-fashioned keyword matching, and the stage before passage rankingPassage ranking is a Google AI system that scores individual sections ('passages') of a page so a single page can earn multiple relevance scores for different queries. Google still indexes whole pages — only the ranking changed. does its final scoring. And none of it happens if a page can’t be crawledSearch works in three stages — crawling, indexing, and serving (ranking). A page has to clear each one to appear in results: getting crawled doesn't mean you're indexed, and getting indexed doesn't mean you rank. and indexed first — retrieval only ever sees what made it into the index. For the wider pipeline, see How Search WorksSearch works in three stages — crawling, indexing, and serving (ranking). A page has to clear each one to appear in results: getting crawled doesn't mean you're indexed, and getting indexed doesn't mean you rank..

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.