---
title: "What is hybrid search | RAG hybrid search | Len P. van der Hof"
description: Hybrid search runs a lexical index and a vector index over the same corpus and fuses the two rankings before the model writes. A vector store alone is not…
image: "https://lenvanderhof.com/media/generated/blog-hero-hybrid-search-v1.7e6cc3c0813a.wide.webp"
---

[AI Systems](https://lenvanderhof.com/en/blog/category/ai-systems/) Research guide

# What is hybrid search? Two indexes, one inspectable hit

Keywords catch the name. Vectors catch the paraphrase. You still have to open the hit.

Len P. van der HofPublished 29 September 20263 min read

Two indexes. One lamp. You still have to look.

Direct answer

Hybrid search is retrieval that runs two signals over the same corpus, a sparse lexical index such as BM25 and a dense vector index, computes each independently, and fuses the two rankings before the model writes. Lexical search catches exact identifiers, error codes, and rare names. Vector search catches paraphrase. Either alone drops a class of honest questions, and 'we added embeddings' is not hybrid. In GRAIN, the loop from The RAG Engineer, hybrid retrieval lives in Rank, and it does not excuse Inspect: if you cannot open the passage that was supplied, the fused score is decoration. The RAG Engineer is live. This page is the split, not the full loop.

## Key takeaways

- Hybrid means two retrieval signals fused, not a vector store with a marketing name.
- Lexical wins on identifiers. Vectors win on paraphrase. Production corpora need both.
- A fused hit you cannot open is still a fluent guess.
- This page is the Rank split. What is RAG owns the method. GRAIN owns the honesty check.

Search “hybrid search RAG” and the first page is vendors who renamed embeddings. The operator version is smaller.

**Hybrid search** runs two indexes over the same corpus. A lexical index, BM25 or a learned sparse model, scores exact terms. A vector index scores meaning. Each returns its own ranked list. You fuse the two lists, and only then is the model allowed to write from the hits. The RAG Engineer calls the same thing hybrid retrieval.

Lexical search is still how you find an error code, a SKU, a proper name, a clause number. Those tokens are rare on purpose, and an embedding model tends to blur them. Vector search is still how you find the paragraph that never used your words. Honest questions come in both shapes. One index picks a side and loses the other.

## Not “we added a vector store”, not magic fusion

A vector store without a lexical path is dense retrieval with a budget. Useful, and not hybrid.

A keyword search with an embedding rerank of the same keyword hits is a rerank, not a second index. Also useful. Also different.

Fusion is plumbing. Reciprocal rank fusion ignores the raw scores and adds up each document’s reciprocal rank across the two lists. Score normalisation squashes the scores onto one scale first. The RAG Engineer treats RRF as the safer default. Neither proves that the passage on screen is the passage you would accept in a dispute.

## Where it sits in GRAIN

[GRAIN](https://lenvanderhof.com/glossary/grain/) is Gather corpora, Rank and rerank, Assemble context, Inspect failures, Navigate freshness. Hybrid retrieval is the first half of Rank: two signals in, one fused candidate list out, reranker after.

It does not replace Assemble, which decides what actually fits in the window. It does not replace Inspect, which asks whether the right chunk was fetched and used. It does not replace Navigate, which asks whether the passage is still current. Skip Inspect because the fused score looked confident and you have built a fluent miss with more maths.

## A test for this week

Pull twenty real queries from your logs. Mark the ones where you would expect exact-term matching to win: identifiers, names, codes. Run them against your current retriever and count how many of those land in the top ten. That count is your case for hybrid, before anyone argues about fusion parameters. If the exact-term queries already land, hybrid is not your first problem. If they miss, no reranker will recover a chunk that never entered the candidate list.

## Two pages

[What is RAG?](https://lenvanderhof.com/en/blog/what-is-rag/) owns the method. [What is GRAIN?](https://lenvanderhof.com/en/blog/what-is-grain/) owns the loop. This page is the Rank split.

[The RAG Engineer](https://lenvanderhof.com/books/the-rag-engineer/) is live. You do not need the hardcover to stop shipping a vector-only demo as “hybrid”.

Cite this:What is hybrid search? Two indexes, one inspectable hit.Len P. van der Hof. [https://lenvanderhof.com/en/blog/what-is-hybrid-search/](https://lenvanderhof.com/en/blog/what-is-hybrid-search/) · Published 29 September 2026.

## Terminology

- [GRAIN](https://lenvanderhof.com/glossary/grain/)

## Sources

1. [GRAIN (glossary)](https://lenvanderhof.com/glossary/grain/)
2. [What is RAG?](https://lenvanderhof.com/en/blog/what-is-rag/)
3. [What is GRAIN?](https://lenvanderhof.com/en/blog/what-is-grain/)
4. [The RAG Engineer](https://lenvanderhof.com/books/the-rag-engineer/)

## Further reading

- [GRAIN](https://lenvanderhof.com/glossary/grain/)
- [What is RAG?](https://lenvanderhof.com/en/blog/what-is-rag/)
- [What is GRAIN?](https://lenvanderhof.com/en/blog/what-is-grain/)
- [The RAG Engineer](https://lenvanderhof.com/books/the-rag-engineer/)

About the author

## [Len P. van der Hof](https://lenvanderhof.com/en/authors/len-p-van-der-hof/)

Entrepreneur, AI Innovator and Venture Builder

Len P. van der Hof builds practical AI systems, digital ventures and evidence-informed tools for founders.

```json
{
	"@context": "https://schema.org",
	"@graph": [
		{
			"@type": "Person",
			"@id": "https://lenvanderhof.com/#person",
			"name": "Len P. van der Hof",
			"alternateName": [
				"Len van der Hof",
				"L.P. van der Hof",
				"Leendert Pieter van der Hof"
			],
			"honorificSuffix": "MSc",
			"url": "https://lenvanderhof.com/",
			"image": [
				"https://lenvanderhof.com/photos/len-portrait-1.jpg",
				"https://lenvanderhof.com/photos/len-portrait-2.jpg",
				"https://lenvanderhof.com/photos/len-portrait-3.jpg",
				"https://lenvanderhof.com/photos/len-portrait-4.jpg",
				"https://lenvanderhof.com/photos/len-speaking.jpg",
				"https://lenvanderhof.com/photos/len-hero.jpg"
			],
			"jobTitle": "Entrepreneur, AI Innovator and Venture Builder",
			"description": "Len P. van der Hof, MSc, is a Dutch entrepreneur and AI innovator in Zwijndrecht. He builds ReasonKit, MindSesh, Undominated.ai, books under his name, the fiction imprint LPH98.lifestyle, and technology ventures through LPH98.ventures. Eleven titles in Systems for the Strategic Self are available now, in English and Dutch.",
			"address": {
				"@type": "PostalAddress",
				"addressLocality": "Zwijndrecht",
				"addressCountry": "NL"
			},
			"alumniOf": {
				"@type": "CollegeOrUniversity",
				"name": "Rotterdam School of Management, Erasmus University"
			},
			"knowsAbout": [
				"Artificial intelligence",
				"AI agents",
				"Agentic AI systems",
				"LLM routing",
				"SEO",
				"Generative engine optimization",
				"Answer engine optimization",
				"Venture building",
				"Founder performance",
				"Founder psychology",
				"Evidence-based decision-making"
			],
			"sameAs": [
				"https://www.linkedin.com/in/lenvanderhof/",
				"https://x.com/LenvanderHof",
				"https://www.youtube.com/channel/UCTG20buKqYYbitqqf7l3zJA",
				"https://www.instagram.com/Lenvanderhof/",
				"https://www.threads.com/@lenvanderhof",
				"https://github.com/Lenvanderhof",
				"https://huggingface.co/LPH98",
				"https://www.npmjs.com/~lenvanderhof",
				"https://www.goodreads.com/author/show/70983905.Len_P_van_der_Hof",
				"https://www.amazon.com/author/lenvanderhof",
				"https://www.bol.com/nl/nl/b/len-p-van-der-hof-msc/609879394/",
				"https://bsky.app/profile/lenvanderhof.com",
				"https://mastodon.social/@Lenvanderhof",
				"https://crates.io/users/Lenvanderhof",
				"https://cursor.com/@Lenvanderhof",
				"https://medium.com/@Lenvanderhof",
				"https://gitlab.com/Lenvanderhof",
				"https://hub.docker.com/u/lenvanderhof/",
				"https://dev.to/lenvanderhof",
				"https://www.facebook.com/Lenvanderhof",
				"https://soundcloud.com/Lenvanderhof"
			],
			"affiliation": [
				{
					"@id": "https://lenvanderhof.com/#publisher"
				},
				{
					"@id": "https://lenvanderhof.com/#mindsesh"
				},
				{
					"@id": "https://lenvanderhof.com/#lifestyle"
				}
			]
		},
		{
			"@type": "WebSite",
			"@id": "https://lenvanderhof.com/#website",
			"url": "https://lenvanderhof.com/",
			"name": "Len P. van der Hof",
			"description": "Len P. van der Hof, MSc, is a Dutch entrepreneur and AI innovator in Zwijndrecht. He builds ReasonKit, MindSesh, Undominated.ai, books under his name, the fiction imprint LPH98.lifestyle, and technology ventures through LPH98.ventures. Eleven titles in Systems for the Strategic Self are available now, in English and Dutch.",
			"inLanguage": [
				"en",
				"nl"
			],
			"publisher": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "Organization",
			"@id": "https://lenvanderhof.com/#publisher",
			"name": "LPH98.ventures",
			"url": "https://lph98.ventures",
			"founder": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "Organization",
			"@id": "https://lenvanderhof.com/#mindsesh",
			"name": "MindSesh",
			"url": "https://mindsesh.net",
			"founder": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "SoftwareApplication",
			"@id": "https://lenvanderhof.com/#reasonkit",
			"name": "ReasonKit",
			"url": "https://reasonkit.sh",
			"creator": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "SoftwareApplication",
			"@id": "https://lenvanderhof.com/#undominated",
			"name": "Undominated.ai",
			"url": "https://undominated.ai",
			"creator": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "Organization",
			"@id": "https://lenvanderhof.com/#lifestyle",
			"name": "LPH98.lifestyle",
			"url": "https://lph98.lifestyle",
			"founder": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "ImageObject",
			"@id": "https://lenvanderhof.com/en/blog/what-is-hybrid-search/#primaryimage",
			"url": "https://lenvanderhof.com/media/generated/blog-hero-hybrid-search-v1.7e6cc3c0813a.wide.webp",
			"contentUrl": "https://lenvanderhof.com/media/generated/blog-hero-hybrid-search-v1.7e6cc3c0813a.wide.webp",
			"representativeOfPage": true
		},
		{
			"@type": "BreadcrumbList",
			"@id": "https://lenvanderhof.com/en/blog/what-is-hybrid-search/#breadcrumb",
			"itemListElement": [
				{
					"@type": "ListItem",
					"position": 1,
					"name": "Home",
					"item": "https://lenvanderhof.com/"
				},
				{
					"@type": "ListItem",
					"position": 2,
					"name": "Blog",
					"item": "https://lenvanderhof.com/en/blog/"
				},
				{
					"@type": "ListItem",
					"position": 3,
					"name": "AI Systems",
					"item": "https://lenvanderhof.com/en/blog/category/ai-systems/"
				},
				{
					"@type": "ListItem",
					"position": 4,
					"name": "What is hybrid search? Two indexes, one inspectable hit",
					"item": "https://lenvanderhof.com/en/blog/what-is-hybrid-search/"
				}
			]
		},
		{
			"@type": "WebPage",
			"@id": "https://lenvanderhof.com/en/blog/what-is-hybrid-search/#webpage",
			"url": "https://lenvanderhof.com/en/blog/what-is-hybrid-search/",
			"name": "What is hybrid search? Two indexes, one inspectable hit",
			"description": "Hybrid search runs a lexical index and a vector index over the same corpus and fuses the two rankings before the model writes. A vector store alone is not hybrid. If you cannot open the passage the model used, you still have a fluent guess.",
			"isPartOf": {
				"@id": "https://lenvanderhof.com/#website"
			},
			"primaryImageOfPage": {
				"@id": "https://lenvanderhof.com/en/blog/what-is-hybrid-search/#primaryimage"
			},
			"breadcrumb": {
				"@id": "https://lenvanderhof.com/en/blog/what-is-hybrid-search/#breadcrumb"
			},
			"inLanguage": "en-GB"
		},
		{
			"@type": "BlogPosting",
			"@id": "https://lenvanderhof.com/en/blog/what-is-hybrid-search/#article",
			"mainEntityOfPage": {
				"@id": "https://lenvanderhof.com/en/blog/what-is-hybrid-search/#webpage"
			},
			"headline": "What is hybrid search? Two indexes, one inspectable hit",
			"description": "Hybrid search runs a lexical index and a vector index over the same corpus and fuses the two rankings before the model writes. A vector store alone is not hybrid. If you cannot open the passage the model used, you still have a fluent guess.",
			"datePublished": "2026-09-29T07:00:00.000Z",
			"author": {
				"@id": "https://lenvanderhof.com/#person"
			},
			"publisher": {
				"@id": "https://lenvanderhof.com/#person"
			},
			"image": [
				"https://lenvanderhof.com/media/generated/blog-hero-hybrid-search-v1.7e6cc3c0813a.square.webp",
				"https://lenvanderhof.com/media/generated/blog-hero-hybrid-search-v1.7e6cc3c0813a.landscape.webp",
				"https://lenvanderhof.com/media/generated/blog-hero-hybrid-search-v1.7e6cc3c0813a.wide.webp"
			],
			"articleSection": "AI Systems",
			"inLanguage": "en-GB"
		}
	]
}
```
