建 IVFFlat 索引
建 IVFFlat 索引
CREATE INDEX ON kb_chunks
USING ivfflat (embedding vector_cosine_ops)
WITH (lists = 100);
-- 查询期控制扫描列表数
SET ivfflat.probes = 10;
SELECT id FROM kb_chunks ORDER BY embedding <=> $1 LIMIT 10;经验起点
经验起点
行数 ≤ 1,000,000:lists ≈ rows / 1000
行数 > 1,000,000:lists ≈ sqrt(rows)
probes 从 sqrt(lists) 附近开始调索引是快照式的:数据大幅增长后应 REINDEX 重建,否则召回逐步变差。