pub struct PatternIndex { /* private fields */ }Expand description
HNSW Pattern Index - Fast approximate nearest neighbor search
Implementations§
Source§impl PatternIndex
impl PatternIndex
pub fn new(dim: usize) -> Result<Self, String>
pub fn add(&mut self, vector: &[f32]) -> Result<usize, String>
Sourcepub fn search(
&self,
query: &[f32],
k: usize,
) -> Result<Vec<(usize, f32)>, String>
pub fn search( &self, query: &[f32], k: usize, ) -> Result<Vec<(usize, f32)>, String>
Brute force search (simple but correct)
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
Auto Trait Implementations§
impl Freeze for PatternIndex
impl RefUnwindSafe for PatternIndex
impl Send for PatternIndex
impl Sync for PatternIndex
impl Unpin for PatternIndex
impl UnwindSafe for PatternIndex
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> 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