Indexes
The main index interfaces are listed here and in the next sections. Refer to this table when making decisions about which index to use.
svs::Vamana
- A graph-based similarity search engine suitable for high recall, high throughput, and low latency.svs::DynamicVamana
- A dynamic graph-based similarity search engine suitable for high recall, high throughput, and low latency.svs::Flat
- An exhaustive search engine. Provides precise results at the expense of low throughput and high latency for large datasets.
Contents
- Vamana Index
svs::Vamana
search_parameters_type
get_alpha()
get_graph_max_degree()
get_construction_window_size()
get_max_candidates()
get_prune_to()
get_full_search_history()
save()
batch_iterator()
get_distance()
size()
dimensions()
query_types()
get_num_threads()
set_threadpool()
get_threadpool_handle()
assemble()
build()
- Helper Classes
- Example
- Dynamic Vamana Index
svs::DynamicVamana
search_parameters_type
DynamicVamana()
set_search_window_size()
get_search_window_size()
get_alpha()
get_graph_max_degree()
get_construction_window_size()
get_max_candidates()
get_prune_to()
get_full_search_history()
has_id()
all_ids()
reconstruct_at()
batch_iterator()
get_distance()
size()
dimensions()
query_types()
get_num_threads()
set_threadpool()
get_threadpool_handle()
svs::DynamicVamana::AssembleTag
- Vamana Iterator
- Flat Orchestrator
Compatible Loaders
The table below lists the compatibility between different index and the different kinds of dataset (e.g., uncompressed, lvq etc).
Loader / Right: Index |
||
---|---|---|
Build and Search |
Search Only |
|
Build and Search |
Search Only |
Note
As an implementation detail, the indexes here are type-erased instances of more specialized, heavily templated implementations. These low level implementations generally have a similar API to the top level indexes and can be more expressive as functions calls do not have to cross a virtual function boundary. However, this specialization results in a different concrete type for each implementation which can be undesireable. More documentation regarding the low level implementation will be available in the future.