pub struct MemoryVectorIndex { /* private fields */ }Expand description
An exact, brute-force in-memory vector index.
All vectors must share the same dimension once the first entry is inserted.
Cosine similarity is used for scoring; results are ordered by descending
score with ties broken by [RecordKey] ordering (lexicographic), making
results deterministic.
Implementations§
Trait Implementations§
Source§impl Default for MemoryVectorIndex
impl Default for MemoryVectorIndex
Source§fn default() -> MemoryVectorIndex
fn default() -> MemoryVectorIndex
Returns the “default value” for a type. Read more
Source§impl VectorIndex for MemoryVectorIndex
impl VectorIndex for MemoryVectorIndex
Source§fn upsert<'life0, 'async_trait>(
&'life0 self,
key: RecordKey,
vector: Vec<f32>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn upsert<'life0, 'async_trait>(
&'life0 self,
key: RecordKey,
vector: Vec<f32>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Insert or replace the vector for
key.Source§fn remove<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 RecordKey,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn remove<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 RecordKey,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Remove
key if present (no error if absent).Source§fn query<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
query: &'life1 [f32],
k: usize,
filter: &'life2 KeyPrefix,
) -> Pin<Box<dyn Future<Output = Result<Vec<Match>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn query<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
query: &'life1 [f32],
k: usize,
filter: &'life2 KeyPrefix,
) -> Pin<Box<dyn Future<Output = Result<Vec<Match>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Return the top-
k matches to query, restricted to keys matching
filter, ordered by descending score.Auto Trait Implementations§
impl !Freeze for MemoryVectorIndex
impl RefUnwindSafe for MemoryVectorIndex
impl Send for MemoryVectorIndex
impl Sync for MemoryVectorIndex
impl Unpin for MemoryVectorIndex
impl UnsafeUnpin for MemoryVectorIndex
impl UnwindSafe for MemoryVectorIndex
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