pub trait VectorIndex: Send + Sync {
// Required methods
fn add(&mut self, id: VectorId, vector: Vec<f32>) -> Result<()>;
fn search(&self, query: &[f32], k: usize) -> Result<Vec<SearchResult>>;
fn remove(&mut self, id: &VectorId) -> Result<bool>;
fn len(&self) -> usize;
// Provided methods
fn add_batch(&mut self, entries: Vec<(VectorId, Vec<f32>)>) -> Result<()> { ... }
fn is_empty(&self) -> bool { ... }
}Expand description
Trait for vector index implementations