#1717th of 22 in Vector databases
sptag
C++ library for approximate nearest neighbor search over large vector sets
- Stars
- 5k
- License
- MIT
- Last commit
- Sep 2026
- Language
- C++
4,965 on 22 Apr 20265,021 on 11 Nov 2026
From GitHub's daily star counts.
Checked on GitHub.
Overview
SPTAG is a Microsoft Research and Bing library for approximate nearest neighbor search over vectors using L2 or cosine distance. It offers two index types: SPTAG-KDT (kd-tree plus relative neighborhood graph) and SPTAG-BKT (balanced k-means tree plus graph). It supports online insertion and deletion, and search across multiple machines.
Who it is for: Engineers embedding large-scale vector search in C++ or Python systems
Strengths
- Two index types: KDT for cheaper builds, BKT for accuracy on very high-dimensional data
- Supports online vector insertion and deletion without a full rebuild
- Distributed serving across multiple machines
- Backed by published papers (SPANN, SPFresh, VBASE) and MIT licensed
Weaknesses
- Source build needs swig, cmake and boost; optional SPDK and RocksDB builds are involved
- Only L2 and cosine distances are documented
- No tagged releases; build from source or the Dockerfile
- Library, not a standalone server; an online service needs the Python wrapper
What it needs
- Docker
- Needs swig >= 4.0.2, cmake >= 3.12.0, boost >= 1.67.0, SPDK (optional), RocksDB (optional)
Also in Vector databases
See all 22| Rank | Project | Score |
|---|---|---|
| 1 | MilvusDistributed vector database with dense, sparse and hybrid search at scale | 90 out of 100 |
| 2 | QdrantRust vector database with payload filtering, REST and gRPC | 85 out of 100 |
| 3 | MeilisearchRust search engine with typo tolerance, filtering and hybrid semantic search | 84 out of 100 |
| #4 | faissC++ library for similarity search and clustering of dense vectors | 81 out of 100 |
| #5 | leannVector index that recomputes embeddings on demand to cut storage | 79 out of 100 |