Show HN: DuckDB community extension for prefiltered HNSW using ACORN-1

90 pointsposted 2 days ago
by cigrainger

7 Comments

derodero24

a day ago

The prefiltering gap has been a real pain point. With standard HNSW and strict WHERE clauses you're basically doing full candidate scans before applying the filter — you get the latency of ANN but none of the selectivity benefit.

Curious about filter selectivity though: does ACORN-1 still help when the filter eliminates, say, 95% of the index? I've seen cases where tight category filters completely undermine graph traversal because the graph structure assumed a uniform distribution over the subspace.

edinetdb

a day ago

This is great for analytical workloads. I work with financial time series data (Japanese company filings) and have been using BigQuery with in-memory caching for the hot path. Curious whether DuckDB extensions like this could replace the BQ dependency for smaller datasets — the cold start + query cost model of serverless warehouses can be painful for API-serving use cases.

jarpineh

2 days ago

As an aside, there's now Lance data format support in DuckDB through their extension. It has Lance's vector search support available among other things:

https://github.com/lance-format/lance-duckdb/tree/main?tab=r...

I just noticed this, and your post, and haven't yet checked neither (sorry). I'm however doing some vector search benchmarking soon, with DuckDB's options alongside others. So your work caught my attention here.

swaminarayan

2 days ago

Does your method work better than standard ANN when filters are very strict—and how does it affect speed vs accuracy?

esafak

2 days ago

Please upstream it.