pub struct VectorQueryOptions {
pub index_type: IndexType,
pub quantization: QuantizationKind,
pub query_dim: Option<u32>,
pub oversample: u8,
pub meta_token_budget: Option<u8>,
pub ef_search: usize,
pub k: usize,
pub target_recall: f32,
}Expand description
All knobs the vector planner exposes.
This struct is constructed by nodedb-sql’s engine rules from query hints
and passed through to nodedb-vector’s search entry-points. Every field
has a sensible default so callers can build with ..Default::default().
Fields§
§index_type: IndexTypeGraph index type to use.
quantization: QuantizationKindQuantization codec for in-graph distance computation.
query_dim: Option<u32>Matryoshka coarse dimension for adaptive-dim querying.
When Some(d), the first d dimensions are used for coarse-pass
traversal; a full-dimension rerank follows over top-ef_search
candidates. None means use the full embedding dimension.
oversample: u8BBQ / RaBitQ rerank oversample multiplier.
The actual rerank candidate count is oversample * ef_search.
Ignored when quantization == None.
meta_token_budget: Option<u8>MetaEmbed Meta Token budget for budgeted MaxSim.
None uses the default token count for the collection.
ef_search: usizeBeam width for HNSW / Vamana search. Must be >= k.
k: usizeNumber of nearest neighbours to return.
target_recall: f32Target recall in [0.0, 1.0]. The planner uses this to pick the
quantization tier and oversample ratio when the caller does not
specify them explicitly.
Trait Implementations§
Source§impl Clone for VectorQueryOptions
impl Clone for VectorQueryOptions
Source§fn clone(&self) -> VectorQueryOptions
fn clone(&self) -> VectorQueryOptions
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for VectorQueryOptions
impl Debug for VectorQueryOptions
Auto Trait Implementations§
impl Freeze for VectorQueryOptions
impl RefUnwindSafe for VectorQueryOptions
impl Send for VectorQueryOptions
impl Sync for VectorQueryOptions
impl Unpin for VectorQueryOptions
impl UnsafeUnpin for VectorQueryOptions
impl UnwindSafe for VectorQueryOptions
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
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> 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>
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
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.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>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
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
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.