
pgvector IVFFlat Lists Tuning Guide: Probes and Recall
Set pgvector IVFFlat lists to rows/1000 up to 1M rows and sqrt(rows) above, probes to sqrt(lists), then measu…

Hash-partition by ID, size shards to fit RAM, fan out with full top-k per shard and merge. Shard counts, routing and fan-out tail latency math.
Read the article →
Set pgvector IVFFlat lists to rows/1000 up to 1M rows and sqrt(rows) above, probes to sqrt(lists), then measu…

Learn how reranking improves vector search relevance, measure nDCG and candidate recall, and instrument a PyT…

Learn how product quantization compresses embeddings, how IVF-PQ changes recall, and how to evaluate a Faiss …

The guide explains how M affects graph connectivity and memory, maps engine-specific settings, and shows a sw…

The guide compares pgvector, Qdrant, Milvus, Weaviate, Pinecone, and Elasticsearch by recall, filters, latenc…

Vector norms determine when cosine similarity and dot product rank results identically and when magnitude cha…
Vector search breaks in a handful of predictable ways: an index that will not fit in memory, recall that quietly drops, a distance metric that does not match the embedding model, or a database chosen before the constraints were known. VectorOpsReport works those problems from the engine documentation up, with the arithmetic to size an index and the harness to measure it. New to the topic? Start with the vector search fundamentals, then size a build with the HNSW index RAM calculator.