Key takeaways
- Hybrid search runs keyword BM25 and vector retrieval together and merges the results.
- It beats pure vector search on exact terms like codes, names and acronyms while keeping semantic matching.
- RRF fuses ranked lists cheaply; rerankers then rescore the top candidates precisely.
- Elasticsearch, OpenSearch, Weaviate, Qdrant, Azure AI Search and PostgreSQL with pgvector support hybrid search.
- In production, tune fusion and reranking on a labelled query set and gate answers on evidence.
Hybrid search combines keyword search, usually BM25, with vector search over embeddings, then merges the results, so you catch both exact terms like product codes and meaning-based matches like paraphrases. It is the default retrieval pattern for serious RAG systems. RAG.NextUpgrad uses hybrid dense and BM25 retrieval with reciprocal rank fusion and reranking, so this page explains what hybrid search combines, how it compares with vector and full-text search, RRF versus reranking, engines that support it, and production practice.
What does hybrid search combine?
Hybrid search combines lexical retrieval, which matches exact words using methods like BM25, with semantic retrieval, which matches meaning using dense embedding vectors. Both run on the same query, and their ranked results are merged into one list.
Merging usually uses reciprocal rank fusion, which combines positions rather than raw scores, or a weighted sum of normalised scores. Some systems use learned sparse vectors, such as SPLADE, as the lexical side. The combination works because the two methods fail differently: keyword search misses synonyms and paraphrases, while vector search can miss exact identifiers, rare names and numbers. Together they raise recall, and a reranker can then sort the merged candidates precisely.
Hybrid vs vector search: which is better?
Hybrid search is usually better for real-world retrieval, especially in RAG over technical, legal or product documents. Pure vector search works well for conversational, paraphrased queries but struggles with exact terms like error codes, SKUs, names and acronyms.
Benchmarks on varied datasets often show hybrid retrieval matching or beating either method alone, though results depend on your data. Vector-only systems are simpler to run and fine for small, homogeneous corpora. The cost of hybrid is extra indexing and a fusion step, both cheap with modern engines. Test on your own queries: build a small labelled set, compare recall at 10 for keyword, vector and hybrid, and choose based on measured results.
Full-text search vs semantic search: what is the difference?
Full-text search finds documents containing the query's words, using inverted indexes, stemming and ranking functions like BM25. Semantic search finds documents with similar meaning, using embeddings, even when they share no words with the query.
Also asked as: full text search vs semantic search
Full-text search is fast, explainable and precise for exact terms, filters and phrases; it is built into PostgreSQL, Elasticsearch, OpenSearch and SQLite. Semantic search handles natural language questions, synonyms and cross-lingual matching, but needs an embedding model and a vector index, and its results are harder to explain. For user-facing search and RAG, combining them gives the best of both, with full-text catching exact matches and semantic search catching intent.
BM25 vs dense retrieval: how do they compare?
BM25 scores documents by term frequency, inverse document frequency and length normalisation; it needs no training and generalises well to new domains. Dense retrieval embeds queries and documents with a neural model and ranks by vector similarity, capturing meaning.
On benchmarks such as BEIR, BM25 remained a surprisingly strong baseline across domains, while dense retrievers excelled on data similar to their training but sometimes underperformed on unfamiliar domains. Modern embedding models have narrowed that gap. BM25 is cheap and transparent; dense retrieval costs embedding compute and memory. Because their errors differ, combining them through fusion is common practice, and fine-tuning the embedding model on your domain can further improve dense results.
RRF vs reranking: what is the difference?
Reciprocal rank fusion merges several ranked lists by summing 1 / (k + rank) for each document, with k often set to 60. Reranking rescores a candidate list with a more powerful model, usually a cross-encoder that reads the query and document together.
They solve different problems and work well together. RRF is a cheap, training-free way to combine BM25 and vector results without calibrating their incompatible scores. A reranker is slower and costs compute per pair, but judges relevance far more precisely, so it runs only on the top 20 to 100 fused candidates. The typical pipeline is hybrid retrieval, then RRF fusion, then reranking, then the top few passages go to the language model; RAG.NextUpgrad follows this order.
What are hybrid search engines?
Hybrid search engines are search systems that support both keyword and vector retrieval in one query, with built-in fusion. Most major search engines and vector databases now offer it natively.
They store an inverted index for text and a vector index, such as HNSW, for embeddings, and expose a hybrid query that runs both and merges results with RRF or weighted scores. Some also support sparse vectors, metadata filters and reranking stages. The term can also describe consumer search engines that blend traditional ranking with AI-generated answers. For developers, choosing an engine with native hybrid search avoids running and syncing two separate systems.
What are some examples of hybrid search engines?
Examples include Elasticsearch and OpenSearch, Weaviate, Qdrant, Milvus, Vespa, Pinecone with sparse-dense vectors, Azure AI Search, MongoDB Atlas, and PostgreSQL combining full-text search with pgvector.
Each implements fusion differently: Weaviate has a hybrid query with an alpha weighting between keyword and vector, Qdrant fuses dense and sparse vectors with RRF in its query API, and Elasticsearch supports RRF retrievers. Application frameworks add it too: LangChain's ensemble retriever combines BM25 and vector retrievers, and Open WebUI offers a hybrid search option for its document RAG, combining BM25 with embeddings and an optional reranker. Pick based on scale, hosting and existing infrastructure.
What is hybrid search in OpenSearch?
OpenSearch supports hybrid search through a hybrid query that combines a lexical match query with a neural or k-NN vector query, then normalises and combines their scores using a search pipeline with a normalization processor.
You define a search pipeline specifying a normalisation technique, such as min-max or L2, and a combination technique, such as an arithmetic mean with weights for each sub-query. Newer versions also support score-ranker processors with reciprocal rank fusion. Embeddings can be generated at ingest and query time through OpenSearch's ML Commons models or supplied by your application. Tune weights on a labelled query set, because the best balance between keyword and vector varies by dataset.
What is hybrid search in Azure AI Search?
In Azure AI Search, a hybrid query runs full-text search and vector search in parallel within one request, then merges results using reciprocal rank fusion. You send the search text and a vector query together.
You can add semantic ranking on top, which uses Microsoft's language models to rerank the top results and produce captions, a combination Microsoft recommends for RAG. Integrated vectorisation can generate embeddings during indexing and querying. Filters, scoring profiles and field weights still apply. Typical settings retrieve a few dozen candidates from each method, fuse them, rerank semantically, and pass the top passages to the language model with citations.
How do teams do hybrid search in production?
A common production setup: BM25 and dense retrieval in the same engine, RRF fusion, a cross-encoder or hosted reranker on the top 50 or so candidates, metadata filters for permissions and freshness, and an evaluation set to tune everything.
Also asked as: how are you guys doing hybrid search in production
Practical lessons: chunk documents sensibly with titles and section headers included; keep embeddings and the text index in sync on updates; cache frequent queries; log queries with zero or low-confidence results to find gaps; and measure recall and answer faithfulness, not just latency. Add query rewriting for conversational follow-ups. In RAG.NextUpgrad, a confidence gate after reranking refuses to answer when evidence is weak, which prevents confident wrong answers when retrieval fails.
Sources
- Cormack, Clarke and Buettcher, Reciprocal Rank Fusionplg.uwaterloo.ca
- Thakur et al., BEIR: A Heterogeneous Benchmark for Information Retrievalarxiv.org
- Microsoft Learn, Hybrid search in Azure AI Searchlearn.microsoft.com
- OpenSearch, Hybrid searchopensearch.org
- Weaviate, Hybrid searchweaviate.io
- Qdrant, Hybrid queriesqdrant.tech





