Skip to main content

VectorIndex

Trait VectorIndex 

Source
pub trait VectorIndex: Send + Sync {
    // Required methods
    fn add(&self, id: Uuid, vector: &[f32]) -> Result<()>;
    fn remove(&self, id: Uuid) -> Result<()>;
    fn search(&self, query: &[f32], limit: usize) -> Result<Vec<(Uuid, f32)>>;
    fn filtered_search(
        &self,
        query: &[f32],
        limit: usize,
        filter: &dyn Fn(Uuid) -> bool,
    ) -> Result<Vec<(Uuid, f32)>>;
    fn save(&self, path: &Path) -> Result<()>;
    fn load(&self, path: &Path) -> Result<()>;
    fn len(&self) -> usize;

    // Provided method
    fn is_empty(&self) -> bool { ... }
}

Required Methods§

Source

fn add(&self, id: Uuid, vector: &[f32]) -> Result<()>

Source

fn remove(&self, id: Uuid) -> Result<()>

Source

fn search(&self, query: &[f32], limit: usize) -> Result<Vec<(Uuid, f32)>>

Source

fn save(&self, path: &Path) -> Result<()>

Source

fn load(&self, path: &Path) -> Result<()>

Source

fn len(&self) -> usize

Provided Methods§

Source

fn is_empty(&self) -> bool

Implementors§