pub struct VectorIndex { /* private fields */ }Expand description
HNSW-inspired vector index for approximate nearest neighbor search
Implementations§
Source§impl VectorIndex
impl VectorIndex
Sourcepub fn with_config(dim: usize, config: VectorIndexConfig) -> Self
pub fn with_config(dim: usize, config: VectorIndexConfig) -> Self
Create with custom configuration
Sourcepub fn insert(
&mut self,
id: impl Into<String>,
embedding: Embedding,
) -> Result<()>
pub fn insert( &mut self, id: impl Into<String>, embedding: Embedding, ) -> Result<()>
Insert a vector into the index
Sourcepub fn search(&self, query: &Embedding, k: usize) -> Vec<SearchResult>
pub fn search(&self, query: &Embedding, k: usize) -> Vec<SearchResult>
Search for k nearest neighbors
Sourcepub fn search_with_filter<F>(
&self,
query: &Embedding,
k: usize,
filter: F,
) -> Vec<SearchResult>
pub fn search_with_filter<F>( &self, query: &Embedding, k: usize, filter: F, ) -> Vec<SearchResult>
Search with filter function
Trait Implementations§
Source§impl Clone for VectorIndex
impl Clone for VectorIndex
Source§fn clone(&self) -> VectorIndex
fn clone(&self) -> VectorIndex
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for VectorIndex
impl Debug for VectorIndex
Source§impl<'de> Deserialize<'de> for VectorIndex
impl<'de> Deserialize<'de> for VectorIndex
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for VectorIndex
impl RefUnwindSafe for VectorIndex
impl Send for VectorIndex
impl Sync for VectorIndex
impl Unpin for VectorIndex
impl UnwindSafe for VectorIndex
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more