Hybrid search
Hybrid search is a retrieval technique that runs a keyword search and a vector similarity search over the same corpus of documents, then fuses the two ranked lists into a single result set. It is a common retrieval stage in retrieval-augmented generation (RAG) pipelines.
The two halves fail in different ways. The keyword half, scored by a lexical algorithm like BM25, rewards exact term matches, so it catches product codes, error strings, and rare jargon that an embedding model tends to blur together. The vector half, known as dense retrieval, searches a vector database by meaning, so it still surfaces a passage that paraphrases the query without repeating its words.
Fusion has to reconcile two score scales that are not comparable. Reciprocal rank fusion (RRF) drops the raw scores and instead adds up one over each document’s rank in the lists where it appears, offset by a constant that keeps the top few positions from dominating. A document that both retrievers rank well then beats one that only a single retriever found.
Other systems blend normalized scores under a weight that slides from pure keyword to pure vector. The widget below applies that weight to the RRF terms themselves. Sliding it from all keyword to all vector reorders the fused list, so either end promotes one retriever’s own favorite, while a balanced setting lifts the passage that both rank well.
Merged candidates often go on to a reranker for a final precision pass.
Related Resources
Tutorial
Embeddings and Vector Databases With ChromaDB
Vector databases are a crucial component of many NLP applications. This tutorial will give you hands-on experience with ChromaDB, an open-source vector database that's quickly gaining traction. Along the way, you'll learn what's needed to understand vector databases with practical examples.
For additional information on related topics, take a look at the following resources:
- Build an LLM RAG Chatbot With LangChain (Tutorial)
- LlamaIndex in Python: A RAG Guide With Examples (Tutorial)
- Vector Databases and Embeddings With ChromaDB (Course)
- Using LlamaIndex for RAG in Python (Course)
- Embeddings and Vector Databases With ChromaDB (Quiz)
- First Steps With LangChain (Course)
- Build an LLM RAG Chatbot With LangChain (Quiz)
- LlamaIndex in Python: A RAG Guide With Examples (Quiz)
By Martin Breuss • Updated Sept. 10, 2026