pub struct IvfIndex { /* private fields */ }Expand description
IVF Index for approximate nearest neighbor search
Implementations§
Source§impl IvfIndex
impl IvfIndex
Sourcepub fn with_dimension(dimension: usize) -> Self
pub fn with_dimension(dimension: usize) -> Self
Create with default config for given dimension
Sourcepub fn add_with_id(&mut self, id: NodeId, vector: Vec<f32>)
pub fn add_with_id(&mut self, id: NodeId, vector: Vec<f32>)
Add a vector with specific ID
Sourcepub fn add_batch_with_ids(&mut self, items: Vec<(NodeId, Vec<f32>)>)
pub fn add_batch_with_ids(&mut self, items: Vec<(NodeId, Vec<f32>)>)
Add multiple vectors with IDs
Sourcepub fn search(&self, query: &[f32], k: usize) -> Vec<DistanceResult>
pub fn search(&self, query: &[f32], k: usize) -> Vec<DistanceResult>
Search for k nearest neighbors
Sourcepub fn search_with_probes(
&self,
query: &[f32],
k: usize,
n_probes: usize,
) -> Vec<DistanceResult>
pub fn search_with_probes( &self, query: &[f32], k: usize, n_probes: usize, ) -> Vec<DistanceResult>
Search with custom number of probes
Sourcepub fn from_bytes(bytes: &[u8]) -> Result<Self, String>
pub fn from_bytes(bytes: &[u8]) -> Result<Self, String>
Deserialize an index from bytes
Auto Trait Implementations§
impl Freeze for IvfIndex
impl RefUnwindSafe for IvfIndex
impl Send for IvfIndex
impl Sync for IvfIndex
impl Unpin for IvfIndex
impl UnsafeUnpin for IvfIndex
impl UnwindSafe for IvfIndex
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request