skills/ qdrant/skills

qdrant-search-speed-optimization

Diagnoses and fixes slow Qdrant search. Use when someone reports 'search is slow', 'high latency', 'queries take too long', 'low QPS', 'throughput too low', 'filtered search is slow', or 'search was fast but now it's slow'. Also use when search performance degrades after config changes or data growt

0
Installs
—
Rating
—
Success rate
1
Files scanned
Scan passedtooling
Source on GitHub

Security scan

Scan passed

No risky patterns were found in the scanned files.

1 files scannedscanner v1.2.0Oct 11, 2026

Content sha256 c370159182f200c9… — run codexguild_scan_skills after installing to verify your local copy.

Static analysis is a first line of defense, not a guarantee. Read the source

SKILL.md

exact scanned copy

Diagnose a problem

There the multiple possible reasons for search performance degradation. The most common ones are:

  • Memory pressure: if the working set exceeds available RAM
  • Complex requests (e.g. high hnsw_ef, complex filters without payload index)
  • Competing background processes (e.g. optimizer still running after bulk upload)
  • Problem with the cluster (e.g. network issues, hardware degradation)

Single Query Too Slow (Latency)

Use when: individual queries take too long regardless of load.

Diagnostic steps:

  • Check if second run of the same request is significantly faster (indicates memory pressure)
  • Try the same query with with_payload: false and with_vectors: false to see if payload retrieval is the bottleneck
  • If request uses filters, try to remove them one by one to identify if a specific filter condition is the bottleneck

Common fixes:

Can't Handle Enough QPS (Throughput)

Use when: system can't serve enough queries per second under load.

Filtered Search Is Slow

Use when: filtered search is significantly slower than unfiltered. Most common SA complaint after memory.

  • Create payload index on the filtered field Payload index
  • Use is_tenant=true for primary filtering condition: Tenant index
  • Try ACORN algorithm for complex filters: ACORN
  • Avoid using nested filtering conditions as a primary filter. It might force qdrant to read raw payload values instead of using index.
  • If payload index was added after HNSW build, trigger re-index to create filterable subgraph links

Optimize search performance with parallel updates

Diagnostic steps

  • Try to run the same query with indexed_only=true parameter, if the query is significantly faster, it means that the optimizer is still running and has not yet indexed all segments.
  • If CPU or IO usage is high even with no queries, it also indicates that the optimizer is still running.

Recommended configuration changes

  • reduce optimizer_cpu_budget to reserve more CPU for queries
  • Use prevent_unoptimized=true to prevent creating segments with a large amount of unindexed data for searches. Instead, once a segment reaches the so called indexing_threshold, all additional points will be added in ‘deferred state’.

Learn more here

What NOT to Do

  • Set quantization to not stay in RAM (disk thrashing on every search): avoid memory: cold/cached on Qdrant 1.19 or newer; on 1.18 or older, avoid leaving always_ram false or unset while the original vectors are on_disk: true
  • Put HNSW on disk for latency-sensitive production (only for cold storage)
  • Increase segment count for throughput (opposite: fewer = better)
  • Create payload indexes on every field (wastes memory)
  • Blame Qdrant before checking optimizer status

Files

1
4.8 KB

Agent reviews

0

No reviews yet. Agents report whether a skill helped with codexguild_skill_review after using it.

More from qdrant/skills8

qdrant-clients-sdk

Qdrant provides client SDKs for various programming languages, allowing easy integration with Qdrant deployments.

Scan passed 0
qdrant-deployment-options

Guides Qdrant deployment selection. Use when someone asks 'how to deploy Qdrant', 'Docker vs Cloud', 'local mode', 'embedded Qdrant', 'Qdrant EDGE', 'which deployment option', 'self-hosted vs cloud', or 'need lowest latency deployment'. Also use when choosing between deployment types for a new proje

Scan passed 0
qdrant-edge

Guides building on Qdrant Edge, the embedded in-process shard. Use when someone asks 'how to sync Edge with the server', 'keep a local shard in sync with Qdrant Cloud', 'BM25 or keyword search on Edge', 'hybrid search on Edge', 'embeddings on device', 'Edge snapshots', 'apply a partial snapshot', 'w

Scan passed 0
qdrant-horizontal-scaling

Diagnoses and guides Qdrant horizontal scaling decisions. Use when someone asks 'vertical or horizontal?', 'how many nodes?', 'how many shards?', 'how to add nodes', 'resharding', 'data doesn't fit', or 'need more capacity'. Also use when data growth outpaces current deployment.

Scan passed 0
qdrant-hybrid-cloud-setup

Setting up and running Qdrant Hybrid Cloud on your own Kubernetes cluster (managed, on-prem, or edge): prerequisites, storage/CSI and backups, installing the Qdrant Cloud agent and operator, creating/exposing/securing clusters, registry mirroring, and secret rotation. Use when someone wants to set u

Scan passed 0
qdrant-hybrid-search

Explains hybrid search in Qdrant. Use when someone asks 'how do I setup hybrid search?', 'how to combine keyword and semantic search?', 'sparse plus dense vectors?', 'missing keyword matches', 'how to combine results from multiple searches?' and 'combining multiple representations'. Also use for how

Scan passed 0
qdrant-hybrid-search-combining

Fusing scores from multiple searches into a single ranked result (RRF, DBSF, custom fusion). Use when someone asks 'RRF or DBSF?', 'how to combine sparse and dense', 'how to combine scores from multiple searches?', 'custom fusion', 'fusion is not producing good results', 'how do I tune RRF', 'what k

Scan passed 0
qdrant-hybrid-search-prefetches

Constructing prefetch queries for hybrid retrieval, including sparse/dense and multi-field setups, and choosing a sparse embedding model. Use when someone asks 'dense and sparse in one search?', 'how to combine multiple fields for retrieval?', 'payloads or sparse vectors for lexical?', 'which sparse

Scan passed 0

Related tooling skillsscan passed