5 ms·
(post co-author here) It could do either depending on on what the planner decides. In pgvector it usually does post-filtering in practice (filter after vector
by cevian 2y ago
(post co-author here)
It could do either depending on on what the planner decides. In pgvector it usually does post-filtering in practice (filter after vector search).
pgvector HNSW has the problem that there is a cutoff of retrieving some constant C results and if none of them match the filter than it won't find results. I believe newer version of pgvector address that. Also pgvectorscale's StreamingDiskANN[1] doesn't have that problem to begin with.
[1]: https://www.timescale.com/blog/how-we-made-postgresql-as-fast-as-pinecone-for-vector-data/ https://www.timescale.com/blog/how-we-made-postgresql-as-fas...