Qdrant Search Quality Diagnosis
GitHubOfficialFirst committed by anush008Distributed by GitHub
- Skill
- Review and audit
- Data and AI
- MIT
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides a structured methodology for troubleshooting poor search performance in Qdrant. It guides users through isolating whether quality issues stem from the underlying embedding model, the search pipeline configuration, or the HNSW approximation settings. By establishing baselines using exact KNN search and systematically testing variables like quantization, payload filtering, and index parameters, users can pinpoint the root cause of irrelevant or missing search results.
What it does
- Provides a diagnostic workflow to isolate search quality issues.
- Differentiates between model-related failures and HNSW approximation errors.
- Offers configuration guidance for HNSW parameters like m, ef_construct, and hnsw_ef.
- Advises on the proper use of quantization and the necessity of rescoring.
- Clarifies the distinction between payload filtering and sparse vector search.
- Lists common pitfalls to avoid when optimizing search relevance.
When to use it
- When search results are reported as irrelevant, missing, or generally poor.
- When approximate search performance is significantly worse than exact search.
- When search quality drops unexpectedly after applying quantization.
- When determining if the chosen embedding model is appropriate for the domain.
- When search quality degrades without any apparent changes to the system.
Advantages
- Enables data-driven troubleshooting by establishing exact KNN baselines.
- Helps prevent common misconfigurations like improper quantization usage.
- Provides actionable tuning steps for HNSW index parameters.
- Reduces time spent on trial-and-error by isolating the search pipeline components.
Usage examples
- “My Qdrant search results are irrelevant. How do I start troubleshooting?”
- The agent will guide you to run an exact KNN search to determine if the issue lies with the embedding model or the HNSW approximation settings.
- “I enabled binary quantization and my search quality dropped significantly. What should I do?”
- The agent will advise you to enable rescoring and increase oversampling to recover recall, while warning against using binary quantization without these safeguards.
- “My HNSW search is missing results that I know exist. How can I improve recall?”
- The agent will suggest increasing hnsw_ef at query time, adjusting m and ef_construct, or checking if payload filters are too restrictive.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/github/qdrant-search-quality-diagnosis/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip qdrant-search-quality-diagnosis.zip -d .agents/skills
Documentation by anush008
How to Diagnose Bad Search Quality
Before tuning, establish baselines. Use exact KNN as ground truth, compare against approximate HNSW. Target >95% recall@K for production.
Don't Know What's Wrong Yet
Use when: results are irrelevant or missing expected matches and you need to isolate the cause.
Test with
exact=trueto bypass HNSW approximation Search APIExact search bad = model or search pipeline problem. Exact good, approximate bad = tune HNSW.
Check if quantization degrades quality (compare with and without)
Check if filters are too restrictive (then you might need to use ACORN)
If duplicate results from chunked documents, use Grouping API to deduplicate Grouping
Payload filtering and sparse vector search are different things. Metadata (dates, categories, tags) goes in payload for filtering. Text content goes in sparse vectors for search.
Approximate Search Worse Than Exact
Use when: exact search returns good results but HNSW approximation misses them.
Increase
hnsw_efat query time Search paramsIncrease
ef_construct(200+ for high quality) HNSW configIncrease
m(16 default, 32 for high recall) HNSW configEnable oversampling + rescore with quantization Search with quantization
ACORN for filtered queries (v1.16+) ACORN
Binary quantization requires rescore. Without it, quality loss is severe. Use oversampling (3-5x minimum for binary) to recover recall. Always test quantization impact on your data before production. Quantization
Wrong Embedding Model
Use when: exact search also returns bad results.
Test top 3 MTEB models on 100-1000 sample queries, measure recall@10. Domain-specific models often outperform general models. Hosted inference
Unoptimized Search Pipeline
Use when: exact search also returns bad results and model choice is confirmed by user.
Optimize search according to advanced search-strategies skill.
What NOT to Do
Tune Qdrant before verifying the model is right for the task (most quality issues are model issues)
Use binary quantization without rescore (severe quality loss)
Set
hnsw_eflower than results requested (guaranteed bad recall)Skip payload indexes on filtered fields then blame quality (HNSW can't traverse filtered-out nodes, and filterable HNSW is built only if payload indexes were set up prior)
Deploy without baseline recall or other search relevance metrics (no way to measure regressions)
Confuse payload filtering with sparse vector search (different things, different config)
Files
- ATTRIBUTION.mdAdded by AutoGineer895 B
- LICENSELicence file added by AutoGineer1.0 KiB
- SKILL.md3.6 KiB
Requirements and compatibility
Written for: GitHub Copilot
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- First committed by
anush008
- Publisher
- GitHub (Official)
- Distributed by
- GitHub
- Source
- github/awesome-copilot · skills/qdrant-search-quality/diagnosis · commit 797337f
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
- Contributors
- anush008
AutoGineer is not affiliated with or endorsed by anush008 or GitHub.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download qdrant-search-quality-diagnosis.zip