Hybrid search combines dense embeddings (semantic) and BM25 (keyword) retrievers via EnsembleRetriever, merging results with Reciprocal Rank Fusion (RRF) for improved relevance.
Dense (semantic) retrieval excels at understanding context, while BM25 (keyword) retrieval is good at exact term matches. EnsembleRetriever combines them: you pass a list of retrievers and optional weights; the results are merged using Reciprocal Rank Fusion (RRF), which balances scores from different sources.
Hybrid search often yields better retrieval results than either method alone and is a standard practice in production RAG systems.