pub struct PQIndex { /* private fields */ }Expand description
PQ-based index for compressed vector search
Implementations§
Source§impl PQIndex
impl PQIndex
Sourcepub fn with_originals(self) -> PQIndex
pub fn with_originals(self) -> PQIndex
Create and enable original vector storage for reranking
Sourcepub fn add_with_id(&mut self, id: u64, vector: Vec<f32>)
pub fn add_with_id(&mut self, id: u64, vector: Vec<f32>)
Add a vector with ID
Sourcepub fn search(&self, query: &[f32], k: usize) -> Vec<(u64, f32)>
pub fn search(&self, query: &[f32], k: usize) -> Vec<(u64, f32)>
Search for k nearest neighbors
Sourcepub fn search_rerank(
&self,
query: &[f32],
k: usize,
rerank_k: usize,
) -> Vec<(u64, f32)>
pub fn search_rerank( &self, query: &[f32], k: usize, rerank_k: usize, ) -> Vec<(u64, f32)>
Search with reranking using original vectors
Sourcepub fn compression_ratio(&self) -> f32
pub fn compression_ratio(&self) -> f32
Get compression ratio
Sourcepub fn memory_usage(&self) -> usize
pub fn memory_usage(&self) -> usize
Memory usage in bytes
Auto Trait Implementations§
impl Freeze for PQIndex
impl RefUnwindSafe for PQIndex
impl Send for PQIndex
impl Sync for PQIndex
impl Unpin for PQIndex
impl UnsafeUnpin for PQIndex
impl UnwindSafe for PQIndex
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