pub struct IvfPqIndex { /* private fields */ }Expand description
IVF-PQ index for memory-efficient ANN search
Implementations§
Source§impl IvfPqIndex
impl IvfPqIndex
pub fn new(config: IvfPqConfig) -> Self
Sourcepub fn build(&mut self, vectors: &HashMap<String, Vec<f32>>) -> Result<()>
pub fn build(&mut self, vectors: &HashMap<String, Vec<f32>>) -> Result<()>
Build the index from a collection of vectors
Sourcepub fn search(&self, query: &[f32], k: usize) -> Result<Vec<SearchResult>>
pub fn search(&self, query: &[f32], k: usize) -> Result<Vec<SearchResult>>
Search for k nearest neighbors
Sourcepub fn stats(&self) -> IvfPqStats
pub fn stats(&self) -> IvfPqStats
Get index statistics
Trait Implementations§
Source§impl Clone for IvfPqIndex
impl Clone for IvfPqIndex
Source§fn clone(&self) -> IvfPqIndex
fn clone(&self) -> IvfPqIndex
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 IvfPqIndex
impl Debug for IvfPqIndex
Source§impl<'de> Deserialize<'de> for IvfPqIndex
impl<'de> Deserialize<'de> for IvfPqIndex
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 IvfPqIndex
impl RefUnwindSafe for IvfPqIndex
impl Send for IvfPqIndex
impl Sync for IvfPqIndex
impl Unpin for IvfPqIndex
impl UnwindSafe for IvfPqIndex
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