pub struct IndexParameters {
pub hnsw_m: usize,
pub hnsw_ef: usize,
pub ivf_n_clusters: usize,
pub ivf_n_probes: usize,
pub lsh_tables: usize,
pub lsh_hash_functions: usize,
pub lsh_avg_bucket_size: usize,
pub pq_subquantizers: usize,
pub pq_centroids: usize,
}Expand description
Tunable per-index parameters that affect the cost formula.
Defaults match the canonical defaults used elsewhere in the crate:
HnswConfig::m = 16, HnswConfig::ef = 50, IvfConfig::n_clusters = 256,
IvfConfig::n_probes = 8, LshConfig::num_tables = 10,
LshConfig::num_hash_functions = 8, PQConfig::n_subquantizers = 8,
PQConfig::n_centroids = 256.
Fields§
§hnsw_m: usizeHNSW max degree per layer.
hnsw_ef: usizeHNSW search beam width.
ivf_n_clusters: usizeIVF coarse centroids.
ivf_n_probes: usizeIVF cells probed per query.
lsh_tables: usizeLSH hash tables.
lsh_hash_functions: usizeLSH hash functions per table.
lsh_avg_bucket_size: usizeLSH expected bucket size (data_size / (tables * 2^hash_functions) clamped).
pq_subquantizers: usizePQ subquantizers.
pq_centroids: usizePQ centroids per subquantizer.
Trait Implementations§
Source§impl Clone for IndexParameters
impl Clone for IndexParameters
Source§fn clone(&self) -> IndexParameters
fn clone(&self) -> IndexParameters
Returns a duplicate of the value. Read more
1.0.0 · 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 IndexParameters
impl Debug for IndexParameters
Source§impl Default for IndexParameters
impl Default for IndexParameters
Source§impl<'de> Deserialize<'de> for IndexParameters
impl<'de> Deserialize<'de> for IndexParameters
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
Auto Trait Implementations§
impl Freeze for IndexParameters
impl RefUnwindSafe for IndexParameters
impl Send for IndexParameters
impl Sync for IndexParameters
impl Unpin for IndexParameters
impl UnsafeUnpin for IndexParameters
impl UnwindSafe for IndexParameters
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,
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
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().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.