Skip to content

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.