Install any skill in seconds. Free to start, no credit card required.
Get Started Free →qdrant/qdrant-hybrid-search-prefetches
Constructing prefetch queries for hybrid retrieval, including sparse/dense and multi-field setups, and choosing a sparse embedding model.
Passed 22 of 24 test cases with the skill, and 8 of 24 without it.
and 14 more in the full report
14 fixed8 passed either way2 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
This benchmark measured an earlier version of the skill.
A newer attempt on gemini-3.6-flash on 10/11/2026 did not produce a publishable comparison (not comparable). The snapshot above is the previously measured run.
One of 14 test cases the skill fixed. Same model, same prompt, with and without the skill.
We added Qdrant BM25 sparse vectors to search 5-word product titles. However, term frequency is overweighted and scoring is heavily skewed. What parameter must be adjusted for short text fields in Qdrant BM25?
| Checked | Without skill | With skill |
|---|---|---|
| Recommends explicitly reducing the avg_len parameter to match the short field length. | Missed | Passed |
The instructions your model reads when the skill loads.
Each prefetch runs exactly one search per one query.
Understand if user wants to run several parallel searches on:
If first, help user to design logic of constructing query or/and filters on application side and then check Combining Searches. Don't forget to create indices on filterable payload fields, immediately after collection creation, prior to building HNSW, so filterable HNSW could be constructed.
If second, use named vectors, which allow to store multiple vector types per point in one collection. On Qdrant 1.18 or newer, named vectors can be added to or removed from an existing collection without recreating it Update vector schema; on 1.17 or older, they can be configured only at collection creation. To choose vectors, check following recommendations.
Use when: pure vector search misses exact term or keyword matches and you need lexical retrieval alongside semantic search.
Most likely you need a sparse vector for exact text search alongside the dense one. Qdrant uses sparse vectors for lexical searches, as payload filtering doesn't provide any ranking score.
What to remember when using sparse vectors for lexical search:
idf search parameter, and index the tenant field. See Per-tenant IDF statistics.What to remember when using Qdrant BM25 and miniCOIL (based on BM25):
avg_len per field: Qdrant doesn't compute it, and the default assumes document-length text, so short fields (titles, tags) need a much smaller value or BM25 overweights term frequency BM25.stemmer: {"type": "none"} plus an empty stopwords set explicitly (by default, BM25 applies English stemming and stopword removal); on 1.18 or older, use language: none (deprecated as of 1.19).More on Sparse Vectors for Text Search
Use when: the same item is embedded in multiple ways (e.g. different models, languages, modalities, or different fields like title/abstract/chunk) and you want to search across different representations in one request (don't have to be all of them, can be even one).
test cases passed, vs 8 / 24 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.