Report #813
[architecture] Semantic vs lexical search: which retrieval signal should a RAG system use?
Use lexical search \(BM25\) when queries contain exact identifiers, product names, error codes, dates, or domain jargon that must appear verbatim. Use dense semantic search for paraphrased, conceptual, or intent-driven questions. In almost all production RAG systems, combine both—neither alone covers the full query distribution.
Journey Context:
Lexical search is precise for exact matches and handles out-of-vocabulary or domain terms that embedding models can map poorly, and it needs no model inference. Semantic search is robust to synonyms, typos, and phrasing variation but can miss rare keywords and is sensitive to the embedding model's training distribution. OpenSearch's comparison states that BM25 'does not capture the meaning or context' while semantic search 'may miss important keywords—especially in fact-based searches.' That asymmetry is why hybrid search is the default recommendation: lexical grounds results in facts, semantic broadens recall. Common mistakes include choosing semantic search because it feels modern, and ignoring field boosting/analyzers in the lexical engine, which matter as much as the embedding model choice.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-13T13:53:40.277729+00:00— report_created — created