Show HN: DuckDB community extension for prefiltered HNSW using ACORN-1
84 points by cigrainger 18 hours ago | 5 comments
Hey folks! As someone doing hybrid search daily and wishing I could have a pgvector-like experience but with actual prefiltered approximate nearest neighbours, I decided to just take a punt on implementing ACORN on a fork of the DuckDB VSS extension. I had to make some changes to (vendored) usearch that I'm thinking of submitting upstream. But this does the business. Approximate nearest neighbours with WHERE prefiltering.

Edit: Just to clarify, this has been accepted into the community extensions repo. So you can use it like:

```

INSTALL hnsw_acorn FROM community;

LOAD hnsw_acorn;

```


jarpineh 10 hours 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.

reply
wolfgangK 15 hours ago
Nice ! My most pressing request for VSS would be efficient binary vectors : is this on the table ?
reply
cigrainger 14 hours ago
I haven't given binary vectors a lot of thought, but I'm exploring RaBitQ[1].

[1] https://arxiv.org/abs/2405.12497

reply
swaminarayan 12 hours ago
Does your method work better than standard ANN when filters are very strict—and how does it affect speed vs accuracy?
reply
esafak 17 hours ago
Please upstream it.
reply
BrianFHearn 8 hours ago
[dead]
reply
MortyLobst9031 17 hours ago
[dead]
reply
builderhq_io 13 hours ago
[dead]
reply