Retrieval: Finding What's Actually Relevant
Hybrid Retrieval: BM25 + Dense
10 min+90 XPStep 1/11
Two retrievers, two failure modes
BM25 matches terms: exact words, weighted by rarity. It nails 'error code E_ACCESS_4012', SKU numbers, rare proper nouns — and misses every paraphrase ('how do I reset my password' finds nothing if docs say 'credential recovery').
Dense retrieval matches meaning: paraphrases, synonyms, conceptual queries — and fumbles exact strings, treating 'Q3-2024' and 'Q3-2023' as neighbors because the embedding averages the token.
Their failures are complementary, which is why production systems run both.
insight
Dense retrieval reads the intent; BM25 reads the letters. SKU lookups and error codes are lexical events — meaning-based search is exactly wrong for them.