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
- Dynamic Vamana Index
DynamicVamana
DynamicVamana::search_parameters_type
DynamicVamana::DynamicVamana()
DynamicVamana::set_search_window_size()
DynamicVamana::get_search_window_size()
DynamicVamana::has_id()
DynamicVamana::all_ids()
DynamicVamana::reconstruct_at()
DynamicVamana::size()
DynamicVamana::dimensions()
DynamicVamana::query_types()
DynamicVamana::can_change_threads()
DynamicVamana::get_num_threads()
DynamicVamana::set_num_threads()
DynamicVamana::AssembleTag
- 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.