pub struct ProgressiveSearch { /* private fields */ }Expand description
Three-tier progressive search index.
See the module-level documentation for tier descriptions.
Implementations§
Source§impl ProgressiveSearch
impl ProgressiveSearch
Sourcepub fn insert(&mut self, id: &str, embedding: Vec<f32>, metadata: Value)
pub fn insert(&mut self, id: &str, embedding: Vec<f32>, metadata: Value)
Insert an entry into the index.
Sourcepub fn search(&self, query: &[f32], k: usize) -> Vec<SearchResult>
pub fn search(&self, query: &[f32], k: usize) -> Vec<SearchResult>
Search for the k nearest entries to query.
Returns results sorted by descending cosine similarity.
§Stub behaviour
The current implementation performs brute-force cosine similarity over
all entries. This will be replaced by a real HNSW graph when
rvf-index is available.
Trait Implementations§
Source§impl Clone for ProgressiveSearch
impl Clone for ProgressiveSearch
Source§fn clone(&self) -> ProgressiveSearch
fn clone(&self) -> ProgressiveSearch
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 ProgressiveSearch
impl Debug for ProgressiveSearch
Source§impl Default for ProgressiveSearch
impl Default for ProgressiveSearch
Source§impl<'de> Deserialize<'de> for ProgressiveSearch
impl<'de> Deserialize<'de> for ProgressiveSearch
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 ProgressiveSearch
impl RefUnwindSafe for ProgressiveSearch
impl Send for ProgressiveSearch
impl Sync for ProgressiveSearch
impl Unpin for ProgressiveSearch
impl UnsafeUnpin for ProgressiveSearch
impl UnwindSafe for ProgressiveSearch
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more