#recall
-
How to Tune the HNSW M Parameter: Pick the Smallest Graph That Hits Your Recall SLO
M is the one HNSW build parameter you cannot change without a rebuild. What it does, what it is called in hnswlib, Faiss, pgvector, Qdrant, Weaviate, Milvus, Elasticsearch and OpenSearch, the memory formula, and a Python sweep that logs recall@10, p99 and bytes per vector.
-
How to Choose a Vector Database: Fix the Recall Target, Measure on Your Data, Then Shop
How to choose a vector database for production retrieval: the five constraints that decide it, the one metric to benchmark on your own corpus, a Python harness to measure it, and where pgvector, Qdrant, Milvus, Weaviate, Pinecone and Elasticsearch actually differ.
-
HNSW ef_search Parameter Explained: The Knob That Trades Recall for p99
ef_search is the beam width of an HNSW query. What it controls, what it is called in hnswlib, Faiss, pgvector, Qdrant, Weaviate, Milvus and Elasticsearch, the recall@k metric that tells you if it is set right, and a Python sweep that exports it to Prometheus.
-
Low Vector Search Recall: Causes and Fixes
Why an approximate index returns the wrong neighbours: candidate lists too small, metric mismatch, filters, tombstones, and how to measure recall properly.