BM25
Why it matters
In the RAG era everyone reaches for vector search first, and I keep seeing teams discover that plain BM25 was the stronger half of their retriever all along. Dense embeddings are good at meaning and bad at exact terms (product codes, names, error strings); BM25 is the opposite. The honest production answer is usually hybrid: BM25 for lexical precision, embeddings for semantic recall, the two fused. Skipping BM25 because it is “old” is how you ship a retrieval system that cannot find the document a user named by its exact title.
Where you’ll encounter it
Three contexts. A retrieval or RAG-quality conversation where the fix for “the model cannot find obvious documents” turns out to be adding BM25 back, not a bigger embedding model. A search-infrastructure setting where Elasticsearch, OpenSearch, and Lucene default to BM25 under the hood. And a benchmark discussion where BM25 is the baseline a new dense retriever is measured against, and sometimes quietly loses to.
Part of the 7wData AI Glossary. Tracking how concepts like this move in the expert conversation: daily signals at ins7ghts.com.