qdrant-hybrid-search

Constructs hybrid search pipelines in Qdrant combining sparse and dense vector retrieval with score fusion.

3|1|Updated Nov 30, 2025
One-click install
npx skills add https://github.com/PALabs-v1/AI_friend --skill qdrant-hybrid-search-palabs-v1
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: qdrant-hybrid-search
Source: https://github.com/PALabs-v1/AI_friend/tree/main/.claude/skills/qdrant-search-quality/search-strategies/hybrid-search
Command: npx skills add https://github.com/PALabs-v1/AI_friend --skill qdrant-hybrid-search-palabs-v1

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Pure vector search often misses exact keyword matches, and combining results from multiple search types (sparse, dense, multi-representation) into one ranked list is non-trivial. This Skill guides you through designing, building, and evaluating hybrid search pipelines in Qdrant using the Query API. ## Core Features & Use Cases - Hybrid Query Construction: Build parallel prefetch searches over named vectors (dense, sparse, multivector) and fuse them in a single Query API request. - Fusion Method Selection: Choose between RRF, DBSF, FormulaQuery, or late-interaction reranking (e.g., ColBERT) based on score comparability and precision needs. - Sparse Model Guidance: Pick the right lexical retrieval model (BM25, BM42, miniCOIL, SPLADE++) with configuration caveats like per-language tokenization and per-tenant IDF scoping. - Use Case: A multi-tenant search application misses exact product-code matches with dense embeddings alone. Use this Skill to add a BM25 sparse named vector, fuse results with RRF, and scope IDF statistics per tenant on Qdrant 1.19+. ## Quick Start Ask the assistant to help you set up hybrid search in Qdrant combining BM25 sparse vectors with dense embeddings and fusing results with RRF.

Frequently Asked Questions about qdrant-hybrid-search

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up hybrid search in Qdrant?

Configure a collection with named vectors for each representation, then use the Query API with one prefetch per search type and an outer query that fuses results. Fusion options include RRF, DBSF, FormulaQuery, or multivector reranking.

RRF vs DBSF for combining search results?

RRF is rank-based, ignores score magnitudes, and works as a solid default when scores are on incomparable scales like BM25 and cosine. DBSF normalizes score distributions per prefetch using mean plus or minus three deviations before fusing.

Which sparse embedding model should I use for keyword search?

BM25 is built into Qdrant server-side and works out-of-domain as a baseline. SPLADE++ adds term expansion at higher inference cost, while BM42 and miniCOIL suit short English text but require FastEmbed and fine-tuning.

Does Qdrant hybrid search isolate IDF statistics per tenant?

By default, IDF statistics are computed per shard, not per tenant, so multi-tenant collections share scoring statistics. On Qdrant 1.19 or newer, the idf search param scopes IDF to a payload-filtered corpus for per-tenant BM25 scoring.

Why does weighted fusion produce poor results in hybrid search?

Linear weighted fusion fails when score ranges are incomparable across prefetches, such as BM25 versus cosine similarity. Normalize each score distribution first with decay or min-max on sampled data, or use rank-based RRF instead.

When should I avoid multivectors in hybrid search prefetches?

Multivectors use the asymmetric max-similarity metric, which is problematic with HNSW indexing and expensive to search. Prefer them for late-interaction reranking of fused candidates, and evaluate cheaper alternatives like MUVERA first.