pub enum AnnAlgorithm {
Hnsw,
DiskAnn,
Ivf,
}Expand description
ANN graph/structure algorithm. The vector representation is chosen
separately via AnnQuantization; any supported combination may be used.
Variants§
Hnsw
Hierarchical Navigable Small World (Malkov & Yashunin). The original and default MongrelDB ANN algorithm.
DiskAnn
DiskANN / Vamana: a single-layer robust-pruned graph with bounded-degree neighbors, designed for large-scale indexes with bounded I/O.
Ivf
Inverted file index: k-means-trained centroids partition the space into
nlist lists; search probes the nprobe nearest lists.
Trait Implementations§
Source§impl Clone for AnnAlgorithm
impl Clone for AnnAlgorithm
Source§fn clone(&self) -> AnnAlgorithm
fn clone(&self) -> AnnAlgorithm
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 moreimpl Copy for AnnAlgorithm
Source§impl Debug for AnnAlgorithm
impl Debug for AnnAlgorithm
Source§impl Default for AnnAlgorithm
impl Default for AnnAlgorithm
Source§fn default() -> AnnAlgorithm
fn default() -> AnnAlgorithm
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for AnnAlgorithm
impl<'de> Deserialize<'de> for AnnAlgorithm
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for AnnAlgorithm
Source§impl PartialEq for AnnAlgorithm
impl PartialEq for AnnAlgorithm
Source§impl Serialize for AnnAlgorithm
impl Serialize for AnnAlgorithm
impl StructuralPartialEq for AnnAlgorithm
Auto Trait Implementations§
impl Freeze for AnnAlgorithm
impl RefUnwindSafe for AnnAlgorithm
impl Send for AnnAlgorithm
impl Sync for AnnAlgorithm
impl Unpin for AnnAlgorithm
impl UnsafeUnpin for AnnAlgorithm
impl UnwindSafe for AnnAlgorithm
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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