qdrant-search-speed-optimization — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited qdrant-search-speed-optimization (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
There the multiple possible reasons for search performance degradation. The most common ones are:
hnsw_ef, complex filters without payload index)Use when: individual queries take too long regardless of load.
with_payload: false and with_vectors: false to see if payload retrieval is the bottleneckUse when: system can't serve enough queries per second under load.
default_segment_number to 2) Maximizing throughputUse when: filtered search is significantly slower than unfiltered. Most common SA complaint after memory.
is_tenant=true for primary filtering condition: Tenant indexnested filter conditions check each remaining candidate's payload element by element, which is slow when many candidates remain. On Qdrant 1.20 or newer, create per-element indexes (the nested parameter of the payload index) on every field the nested filter uses, so Qdrant answers it from the indexes without reading payload Per-element index.match with substring, 1.20+) is expensive: it checks every distinct value of the field, and Qdrant rejects it whenever strict mode is enabled (the Qdrant Cloud default). Prefer prefix match (keyword index with prefix: true) or full-text match where the use case allows. A keyword index, especially with prefix, speeds it up; a full-text index doesn't help Substring matchindexed_only=true parameter, if the query is significantly faster, it means that the optimizer is still running and has not yet indexed all segments.optimizer_cpu_budget to reserve more CPU for queriesprevent_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
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~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.