IVFFlat partitions vectors into lists around learned centers and searches only selected lists near the query. It builds faster and uses less memory than HNSW, but needs representative existing data and careful lists and probes tuning. Data distribution changes can reduce quality, so rebuild decisions belong in the operational lifecycle.
lists sets the number of vector partitions at build time. ivfflat.probes sets how many lists a query visits. More lists can narrow each partition; more probes improves recall at extra work. When probes equals lists, search approaches exact behavior and the planner may prefer another plan.
Upstream offers starting heuristics: rows divided by 1,000 up to one million rows, then square root of rows; begin probes around square root of lists. These are experiment seeds, not universal production settings.
Build after the table has representative data. If the index was created with too little or skewed data, rebuild after the distribution stabilizes.
Sweep probes using the exact baseline. Include filtered queries because candidate loss interacts with filter selectivity. Record returned row counts as well as overlap.
Inspect the build phase, index validity, size, and query plan. Compare list/probe combinations against exact recall and latency. Add a newer data slice to determine whether quality differs by ingestion period. Repeat after a large distribution shift.
Propose an IVFFlat experiment for [row count, growth, dimensions, metric, filters]. Generate a list/probe matrix from upstream heuristics, but require exact recall and latency evidence. Include data-representativeness checks, rebuild triggers, disk/WAL capacity, and HNSW comparison.
Verification contract: Reject IVFFlat if representative training data or measurable rebuild operations are unavailable.