
Qdrant Search Quality Diagnosis
OfficialFreeDiagnose and improve Qdrant search quality issues.
Free · Opens the source repo
What Qdrant Search Quality Diagnosis does
The Qdrant Search Quality Diagnosis skill is designed for developers and data engineers who need to troubleshoot and enhance the search quality of their Qdrant implementations. When users report issues like irrelevant results, low recall, or missing matches, this skill provides a structured approach to identify and rectify the underlying problems. By establishing baselines and comparing exact KNN results against approximate HNSW results, users can pinpoint whether issues stem from the model, the search pipeline, or other factors.
This skill offers a comprehensive set of diagnostic steps to address common search quality concerns. For instance, if exact searches yield good results but approximate searches do not, the skill guides users to optimize parameters such as hnsw_ef and ef_construct. It also emphasizes the importance of testing quantization effects and using the appropriate embedding models based on domain-specific requirements. By following the outlined procedures, users can systematically improve their search results and ensure that their Qdrant setup meets production standards.
Additionally, the skill provides clear warnings about common pitfalls to avoid, such as deploying without baseline metrics or confusing payload filtering with sparse vector search. This guidance is crucial for maintaining high search quality and preventing regressions after changes are made. Overall, the Qdrant Search Quality Diagnosis skill is an essential tool for anyone looking to optimize their Qdrant search implementations effectively.
When to use it
Use this skill when users report problems with search results, such as irrelevance or missing matches, and you need to identify the root cause.
When not to use it
This skill is not suitable for troubleshooting unrelated systems or if the search pipeline has not been verified for correctness.
What you can build with it
Diagnosing Irrelevant Search Results
When users report that search results are irrelevant, use this skill to isolate the cause by testing exact search versus approximate search.
Optimizing HNSW Parameters
If approximate search results are inadequate, follow the skill's guidance to adjust HNSW parameters for better performance.
Evaluating Embedding Models
When exact searches yield poor results, utilize this skill to test different embedding models and find the best fit for your data.
How to install Qdrant Search Quality Diagnosis
View source1. Install with the skills CLI
npx skills add github/awesome-copilot/diagnosis --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by githubHow 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 API - Exact 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 params - Increase
ef_construct(200+ for high quality) HNSW config - Increase
m(16 default, 32 for high recall) HNSW config - Enable 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)
Frequently asked questions about Qdrant Search Quality Diagnosis
Similar skills
ClickHouse Logs Queries
Efficiently manage Supabase logs with ClickHouse SQL.
EF Core D2 Database Diagram Generator
Visualize your EF Core models as D2 diagrams effortlessly.
Safe SQL Execution
Ensure secure SQL execution in Supabase applications.
Oracle to PostgreSQL Migration
Identify migration risks between Oracle and PostgreSQL.
SSMA Console
Streamline Oracle to SQL Server migrations with ease.
SQL Performance Optimization
Enhance SQL query efficiency across all databases.
