Skip to main content

VectorStore

Trait VectorStore 

Source
pub trait VectorStore: Send + Sync {
    // Required methods
    fn store_embeddings(&self, entries: &[EmbeddingEntry]) -> Result<()>;
    fn search_nearest(
        &self,
        query_vec: &[f32],
        limit: usize,
    ) -> Result<Vec<(String, f64)>>;
    fn has_embeddings(&self) -> bool;
    fn count(&self) -> Result<usize>;
    fn remove_embeddings(&self, qualified_names: &[&str]) -> Result<()>;

    // Provided method
    fn get_stored_hashes(&self) -> Result<Vec<(String, String)>> { ... }
}

Required Methods§

Source

fn store_embeddings(&self, entries: &[EmbeddingEntry]) -> Result<()>

Source

fn search_nearest( &self, query_vec: &[f32], limit: usize, ) -> Result<Vec<(String, f64)>>

Source

fn has_embeddings(&self) -> bool

Source

fn count(&self) -> Result<usize>

Source

fn remove_embeddings(&self, qualified_names: &[&str]) -> Result<()>

Provided Methods§

Source

fn get_stored_hashes(&self) -> Result<Vec<(String, String)>>

Returns (qualified_name, text_hash) pairs for all stored embeddings. Default impl returns an empty list (no incremental support).

Implementations on Foreign Types§

Source§

impl<V: VectorStore> VectorStore for Arc<V>

Source§

fn store_embeddings(&self, entries: &[EmbeddingEntry]) -> Result<()>

Source§

fn search_nearest( &self, query_vec: &[f32], limit: usize, ) -> Result<Vec<(String, f64)>>

Source§

fn has_embeddings(&self) -> bool

Source§

fn count(&self) -> Result<usize>

Source§

fn remove_embeddings(&self, qualified_names: &[&str]) -> Result<()>

Source§

fn get_stored_hashes(&self) -> Result<Vec<(String, String)>>

Implementors§