pub struct IvfPqCodebook {
pub coarse_centroids: Vec<Vec<f32>>,
pub pq: PQCodebook,
pub nlist: usize,
pub nprobe: usize,
pub pq_m: usize,
pub dim: usize,
pub metric: VectorMetric,
pub residual: bool,
}Expand description
Shared codebook trained once and reused across all shards. When multiple shards share the same codebook, their ADC distances are numerically comparable — cross-shard merge is correct without reranking.
Fields§
§coarse_centroids: Vec<Vec<f32>>§pq: PQCodebook§nlist: usize§nprobe: usize§pq_m: usize§dim: usize§metric: VectorMetric§residual: boolTrait Implementations§
Source§impl Clone for IvfPqCodebook
impl Clone for IvfPqCodebook
Source§fn clone(&self) -> IvfPqCodebook
fn clone(&self) -> IvfPqCodebook
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for IvfPqCodebook
impl RefUnwindSafe for IvfPqCodebook
impl Send for IvfPqCodebook
impl Sync for IvfPqCodebook
impl Unpin for IvfPqCodebook
impl UnsafeUnpin for IvfPqCodebook
impl UnwindSafe for IvfPqCodebook
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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