spotify / voyager

🛰️ An approximate nearest-neighbor search library for Python and Java with a focus on ease of use, simplicity, and deployability.
https://spotify.github.io/voyager/
Apache License 2.0
1.26k stars 51 forks source link

Metadata Filter Capability #33

Closed krpapadopoulos closed 5 months ago

krpapadopoulos commented 10 months ago

Could vectors be added with metadata to support metadata filtered ANN search?

Curious how this may be handled with the existing implementation other than creating indices for different metadata categories?

markkohdev commented 5 months ago

Hey @krpapadopoulos, sorry about losing track of this issue -- we're setting up some structure so that we respond to things in a more timely manner going forward. We have definitely discussed implementing metadata filter support but it's a pretty large undertaking that we unfortunately don't have time to work on at the moment. We are definitely open to contribution of this feature if you or anyone else would like to take it on!

I'm currently working on an implementation of StringIndex in core which will hopefully lay some groundwork for metadata support.

When discussing how we might implement this, we proposed a solution along the following lines:

Happy to discuss this more with anyone willing to take it on!