pub enum VectorIndex {
BinaryIvf(Arc<MmapAnnIndex>),
Tq {
index: Arc<MmapAnnIndex>,
codec: Arc<TqCodec>,
},
IvfTq {
index: Arc<MmapAnnIndex>,
codec: Arc<TqCodec>,
},
ScannAh(Arc<MmapAnnIndex>),
ScannBinary(Arc<MmapAnnIndex>),
}Expand description
Production ANN payloads for float IVF-PQ and packed-binary IVF.
Raw flat vectors are stored separately in
LazyFlatVectorData and accessed via
mmap for reranking and merge. This enum only holds ANN indexes.
Both variants use the same validated mmap-backed run format. Corpus-sized columns stay in the file mapping; only the compact run directory is parsed.
Variants§
BinaryIvf(Arc<MmapAnnIndex>)
Binary IVF (Hamming) payload.
Tq
TurboQuant flat payload with its derived (training-free) codec.
IvfTq
IVF-TQ payload: trained coarse router, TurboQuant residual leaves.
ScannAh(Arc<MmapAnnIndex>)
ScaNN float asymmetric-hash leaves. Routing/codebook data is global.
ScannBinary(Arc<MmapAnnIndex>)
ScaNN exact packed-binary Hamming leaves. Routing data is global.
Implementations§
Source§impl VectorIndex
impl VectorIndex
Sourcepub fn estimated_heap_bytes(&self) -> usize
pub fn estimated_heap_bytes(&self) -> usize
Estimate heap retained by this vector index. Corpus-sized ANN columns remain file-backed and are not included.
Trait Implementations§
Source§impl Clone for VectorIndex
impl Clone for VectorIndex
Source§fn clone(&self) -> VectorIndex
fn clone(&self) -> VectorIndex
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for VectorIndex
impl !UnwindSafe for VectorIndex
impl Freeze for VectorIndex
impl Send for VectorIndex
impl Sync for VectorIndex
impl Unpin for VectorIndex
impl UnsafeUnpin for VectorIndex
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
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> DropFlavorWrapper<T> for T
impl<T> DropFlavorWrapper<T> for T
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
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> ⓘ
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> ⓘ
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