At collection creation set hnsw_config.m (number of bidirectional links per node, default 16) and hnsw_config.ef_construct (candidate list size during build, default 100) in the vectors config
Higher m (e.g. 32–64) improves recall at the cost of more memory and slower indexing; higher ef_construct improves index quality at build time but does not affect query speed
Set hnsw_config.on_disk=true to store the HNSW graph on disk rather than RAM for collections larger than available memory — expect higher query latency
Enable on-disk payload storage by setting payload_storage_type='on_disk' at collection creation to avoid RAM exhaustion for large metadata payloads
Create payload indexes for filtered searches: POST /collections/{name}/index with field_name and field_schema (e.g. 'integer', 'keyword') so Qdrant can prune candidates before vector comparison
Tune ef (search-time candidate list size) per query via params.hnsw_ef in the search request — higher values improve recall at the cost of latency
Known gotchas
HNSW parameters cannot be changed after collection creation without recreating the collection and re-indexing all vectors
Payload indexes must be created before issuing filtered searches; without an index Qdrant falls back to full payload scan which is slow on large collections
on_disk=true for the HNSW graph requires an NVMe SSD in production — rotational disk latency makes the index unusably slow under load
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp