Search "advanced RAG techniques" and you'll get a list of twenty things: hybrid search, reranking, HyDE, query decomposition, contextual retrieval, RAPTOR, GraphRAG, parent-child chunking, multi-vector retrieval, semantic chunking. They're presented as a menu you work through, each one making your system a bit better.
They don't compose like that. Techniques at the same pipeline stage mostly compete — they fix the same failure, so the second one you add finds nothing left to fix. And the only way to know which one your system actually needs is to measure on your own corpus.
I built a RAG system over 62 ancient-history books (~46,000 chunks) and put every retrieval technique I could through the same door: implement, measure against a fixed 161-question test set, keep or reject, write down the number. This article is the retrieval half of that ledger — what shipped, what got rejected, and what the rejections taught me. My production system has no hybrid search and no reranker, and that's a result, not a shortcut.
The map: four stages, two ledgers
Everything before the LLM writes a word lives in one of four stages:








