Built a vector store from scratch in Go

Been experimenting with search internals and built a vector store from scratch in Go :golang:

Features include:
- Vector indexes: Flat, HNSW, IVF, PQ, IVFPQ
- Full-text search: BM25 + inverted index
- Metadata filtering: Roaring Bitmaps, bit-sliced indexes
- Soft deletes, serialization, and more

Planning to add replication and memtable-based index segments next

Here's an early look
https://github.com/wizenheimer/comet
comet.png
GitHub
A Vector Store written in Go - Supports hybrid retrieval over BM25, Flat, HNSW, IVF, PQ and IVFPQ Index with Quantization, Metadata Filtering, Reranking, Reciprocal Rank Fusion, Soft Deletes, Index...
GitHub - wizenheimer/comet: A Vector Store written in Go - Supports...
Was this page helpful?