Vector Indexes
Vector indexes organize embeddings so search can find nearby vectors without comparing every record. In VectorAmp, SABLE is the retrieval engine behind governed search workloads where semantic similarity, metadata filters, access scope, and citations need to work together.
Vector indexes are the fundamental data structure behind similarity search. Understanding how they work helps you make better decisions about dataset configuration.
What is a Vector Index?
A vector index is a data structure that organizes high-dimensional vectors for efficient nearest-neighbor search. Instead of comparing a query vector against every stored vector (brute force), an index uses algorithms to narrow the search space.
What is SABLE?
SABLE is VectorAmp's vector database engine for filter-native retrieval. It is designed for search workloads where semantic similarity must be evaluated together with metadata constraints such as tenant, role, region, source, status, or time.
How VectorAmp Indexes Work
VectorAmp's SABLE engine is designed for:
- Large-scale datasets — memory-conscious and disk-aware index layouts
- Low-latency retrieval — optimized search paths for interactive applications
- Filtered search — metadata constraints that help scope retrieval for governed workloads
- Online updates — insert and search workflows without a full manual rebuild
Index Types
VectorAmp automatically selects the optimal index strategy based on your dataset:
| Dataset Size | Strategy | Characteristics |
|---|---|---|
| < 10K vectors | Flat | Exact results, no approximation |
| 10K – 1M | Optimized | Fast approximate search, high recall |
| 1M+ | Distributed | Sharded across nodes, horizontal scaling |
Dimensionality
The number of dimensions in your vectors affects:
- Storage — higher dimensions = more storage per vector
- Speed — higher dimensions = slightly slower comparisons
- Accuracy — more dimensions can capture more nuance, but with diminishing returns
Common dimensionalities:
| Dimensions | Typical Source |
|---|---|
| 384 | Small/fast models (e.g., MiniLM) |
| 768 | Medium models (e.g., BERT, VectorAmp-small) |
| 1536 | OpenAI text-embedding-3-small |
| 2560 | VectorAmp-large |
| 3072 | OpenAI text-embedding-3-large |
Distance Metrics
The distance metric determines how similarity is calculated:
Cosine Similarity
Measures the angle between two vectors. Values range from -1 (opposite) to 1 (identical). Best for normalized embeddings — this is the most common choice.
Euclidean Distance (L2)
Measures the straight-line distance between two points. Lower values = more similar. Best for spatial data or when magnitude matters.
Dot Product
Measures the inner product of two vectors. Higher values = more similar. Best when your model is trained with dot product loss.
When in doubt, use cosine similarity. Most embedding models produce normalized vectors optimized for cosine distance.