pub struct HnswOption {
pub dimension: usize,
pub distance: DistanceMetric,
pub m: usize,
pub ef_construction: usize,
pub base_weight: f32,
pub quantizer: Option<QuantizationMethod>,
pub embedder: Option<String>,
}Expand description
Options for HNSW vector index.
Fields§
§dimension: usizeNumber of dimensions for each vector. Defaults to 128.
distance: DistanceMetricDistance metric used for similarity computation. Defaults to DistanceMetric::Cosine.
m: usizeMaximum number of bi-directional links per node in the HNSW graph.
Higher values improve recall but increase memory usage. Defaults to 16.
ef_construction: usizeSize of the dynamic candidate list during index construction.
Higher values produce a higher-quality graph at the cost of slower
build times. Defaults to 200.
base_weight: f32Base weight applied to similarity scores from this field. Defaults to 1.0.
quantizer: Option<QuantizationMethod>Optional quantization method to reduce memory usage at the cost of some precision.
embedder: Option<String>Embedder name for this vector field. When set, the engine automatically embeds input using the named embedder.
Implementations§
Source§impl HnswOption
impl HnswOption
pub fn new(dimension: usize) -> Self
pub fn dimension(self, dimension: usize) -> Self
pub fn distance(self, distance: DistanceMetric) -> Self
pub fn m(self, m: usize) -> Self
pub fn ef_construction(self, ef: usize) -> Self
pub fn base_weight(self, weight: f32) -> Self
pub fn quantizer(self, quantizer: QuantizationMethod) -> Self
Trait Implementations§
Source§impl Clone for HnswOption
impl Clone for HnswOption
Source§fn clone(&self) -> HnswOption
fn clone(&self) -> HnswOption
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 HnswOption
impl Debug for HnswOption
Source§impl Default for HnswOption
impl Default for HnswOption
Source§impl<'de> Deserialize<'de> for HnswOption
impl<'de> Deserialize<'de> for HnswOption
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
Source§impl From<HnswOption> for FieldOption
impl From<HnswOption> for FieldOption
Source§fn from(opt: HnswOption) -> Self
fn from(opt: HnswOption) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for HnswOption
impl RefUnwindSafe for HnswOption
impl Send for HnswOption
impl Sync for HnswOption
impl Unpin for HnswOption
impl UnsafeUnpin for HnswOption
impl UnwindSafe for HnswOption
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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> 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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.