-
Notifications
You must be signed in to change notification settings - Fork 295
Description
Describe what you are looking for
I'm using usearch rust sdk to build a hybrid retrieval data store. I used usearch::Index to do semantic similarity search. In my case, I built a LSM-tree like architecture for the vector index part (so it introduced the capability of range filtering), latest put/delete happen in the latest usearch::Index, and as it grow, we flush it to disk as an segment (usearch::Index on disk).
In order to control the total memory usage of the whole vector index, I'm trying to just store u64 id and graph structure in the usearch::Index, and store the original vectors into a sequential file. The u64 id is the vector's offset in the sequential vector file. By separating the vectors from the Index, we can keep the Index part very small, and we mmap the vector file, so just these vectors blocks accessed is in RSS. so we need a way to access the original vector by id.
I don't use View because the sequential vector files can be used to do segment merging/compaction. Do you think such External Vector Accessor interface is valuable?
Can you contribute to the implementation?
- I can contribute
Is your feature request specific to a certain interface?
It applies to everything
Contact Details
Is there an existing issue for this?
- I have searched the existing issues
Code of Conduct
- I agree to follow this project's Code of Conduct