Hann: A Fast Approximate Nearest Neighbor Search Library for Go

Hann is a powerful ANN library for Go, offering efficient similarity search in high-dimensional spaces with indexes like HNSW, PQIVF, and RPT. It serves as a key component for vector databases like Milvus and Pinecone, enhancing Go applications with fast in-memory search capabilities. Unique features include a unified interface for different indexes, SIMD instructions for fast distance computation, and support for bulk operations and saving indexes to disk. Controversially, different indexes have varying complexities and supported distance metrics. Hann is a versatile tool with clear documentation and examples, requiring only Go 1.21, a C compiler, and AVX-supported CPU for installation.

https://github.com/habedi/hann

To top