MP050WARNINGFree

prefer-hnsw-over-ivfflat

What It Detects

IVFFlat indexes require training data and periodic reindexing. HNSW provides better recall without retraining.

Why It's Dangerous

pgvector IVFFlat indexes need representative data at creation time to build clusters. As data changes, recall degrades and periodic REINDEX is needed. HNSW indexes build incrementally, have consistently better recall, and never need retraining.

Bad Example

CREATE INDEX idx_embeddings ON items
  USING ivfflat (embedding vector_cosine_ops)
  WITH (lists = 100);

Good Example

CREATE INDEX idx_embeddings ON items
  USING hnsw (embedding vector_cosine_ops)
  WITH (m = 16, ef_construction = 64);

Configuration

Disable this rule:

# .migrationpilotrc.yml
rules:
  MP050: false

Or change its severity:

# .migrationpilotrc.yml
rules:
  MP050:
    severity: warning