pub struct VectorConfig {
pub dims: u32,
pub metric: MetricKind,
pub quantization: ScalarKind,
pub connectivity: usize,
pub expansion_add: usize,
pub expansion_search: usize,
}Expand description
Tunable parameters for the usearch HNSW index. Built from CLI flags in the
mcp-memory-vec binary; VectorConfig::new supplies the defaults used by
tests and any caller that only cares about the embedding dimension.
Fields§
§dims: u32Embedding dimension. All upserted/queried vectors must match this.
metric: MetricKindDistance metric used by the index.
quantization: ScalarKindOn-disk/in-index scalar representation (enables quantization).
connectivity: usizeHNSW graph degree (M). Higher = better recall, more memory.
expansion_add: usizeHNSW efConstruction. Higher = better index quality, slower inserts.
expansion_search: usizeHNSW efSearch. Higher = better recall, slower queries.
Implementations§
Trait Implementations§
Source§impl Clone for VectorConfig
impl Clone for VectorConfig
Source§fn clone(&self) -> VectorConfig
fn clone(&self) -> VectorConfig
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 VectorConfig
Auto Trait Implementations§
impl Freeze for VectorConfig
impl RefUnwindSafe for VectorConfig
impl Send for VectorConfig
impl Sync for VectorConfig
impl Unpin for VectorConfig
impl UnsafeUnpin for VectorConfig
impl UnwindSafe for VectorConfig
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