pgvector — README (filtrage, HNSW, iterative scan 0.8.0)
Un filtre ACL sur HNSW sans iterative_scan peut renvoyer trop peu de résultats, voire aucun ; ce n'est pas une fuite mais une dégradation à traiter.
- Organisation
- pgvector
- Type
- GitHub
- Fiabilité
- Fiabilité haute
- Publié
- v0.8.6 (README) ; 0.8.0 annoncé sur postgresql.org
- Consulté le
- 16 septembre 2026
- Sujets
- vector-db, pgvector, rag
Citée par 7 page(s)
Ce que dit la source : licence PostgreSQL. Avertissement clé : « With approximate indexes, filtering is applied after the index is scanned. If a condition matches 10% of rows, with HNSW and the default hnsw.ef_search of 40, only 4 rows will match on average ». Remèdes : index B-tree sur les colonnes de filtre, index partiels, et depuis 0.8.0 « iterative index scans, which will automatically scan more of the index until enough results are found » (hnsw.iterative_scan = strict_order | relaxed_order, hnsw.max_scan_tuples défaut 20 000, hnsw.scan_mem_multiplier). Index performants s'ils tiennent en mémoire ; maintenance_work_mem à la création ; sauvegardes pg_dump, WAL/PITR, réplication.
Ce qu'on en retient : un filtre ACL sur HNSW sans iterative_scan peut renvoyer trop peu de résultats, voire aucun ; ce n'est pas une fuite mais une dégradation à traiter.
Limites : la version exacte diffère selon la page (0.8.6 README vs 0.8.2 annonce postgresql.org) ; recherche hybride BM25 à assembler soi-même (tsvector ou ParadeDB, non vérifié).