pub enum IndexStructure {
Flat,
IvfFlat {
n_clusters: usize,
},
PQ {
m: usize,
bits: u8,
},
HnswLike {
m: usize,
ef: usize,
},
Lsh {
n_tables: usize,
n_bits: u8,
},
Tree {
max_leaf: usize,
},
}Expand description
Supported index structures for approximate nearest-neighbour search.
Variants§
Flat
Brute-force exact search — O(n·d) per query.
IvfFlat
Inverted File Index with flat scan inside each cluster.
PQ
Product Quantization — lossy compression with sub-space codebooks.
HnswLike
HNSW-inspired hierarchical navigable small-world graph.
Lsh
Locality Sensitive Hashing with multiple hash tables.
Tree
KD-tree / ball-tree style partition with bounded leaf size.
Implementations§
Trait Implementations§
Source§impl Clone for IndexStructure
impl Clone for IndexStructure
Source§fn clone(&self) -> IndexStructure
fn clone(&self) -> IndexStructure
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 moreSource§impl Debug for IndexStructure
impl Debug for IndexStructure
Source§impl PartialEq for IndexStructure
impl PartialEq for IndexStructure
Source§fn eq(&self, other: &IndexStructure) -> bool
fn eq(&self, other: &IndexStructure) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for IndexStructure
Auto Trait Implementations§
impl Freeze for IndexStructure
impl RefUnwindSafe for IndexStructure
impl Send for IndexStructure
impl Sync for IndexStructure
impl Unpin for IndexStructure
impl UnsafeUnpin for IndexStructure
impl UnwindSafe for IndexStructure
Blanket Implementations§
impl<T> Allocation for T
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.