Making HNSW actually work with WHERE clauses
Summary
The article explains the post-filtering bug in DuckDB's vector search where WHERE predicates are applied after retrieval, introduces ACORN-1 to push predicates into the HNSW traversal, and discusses RaBitQ quantisation for memory efficiency. It covers metadata joins, grouped nearest neighbors, and four optimiser rules that enable transparent SQL-based filtered search, with benchmarks and practical code examples.