pub struct QueryOptimizer { /* private fields */ }Expand description
Query optimizer for selecting search strategies
Implementations§
Source§impl QueryOptimizer
impl QueryOptimizer
Sourcepub fn new(config: OptimizerConfig) -> Self
pub fn new(config: OptimizerConfig) -> Self
Create a new query optimizer
Sourcepub fn recommend_strategy(
&self,
num_vectors: usize,
required_recall: f32,
) -> SearchStrategy
pub fn recommend_strategy( &self, num_vectors: usize, required_recall: f32, ) -> SearchStrategy
Recommend search strategy based on dataset size and recall requirement
§Arguments
num_vectors- Number of vectors in the datasetrequired_recall- Required recall (0.0 to 1.0)
Sourcepub fn recommend_prefiltering(
&self,
num_vectors: usize,
filter_selectivity: f32,
) -> bool
pub fn recommend_prefiltering( &self, num_vectors: usize, filter_selectivity: f32, ) -> bool
Sourcepub fn recommend_batch_size(
&self,
num_queries: usize,
num_vectors: usize,
) -> usize
pub fn recommend_batch_size( &self, num_queries: usize, num_vectors: usize, ) -> usize
Sourcepub fn estimate_cost(
&self,
strategy: SearchStrategy,
num_vectors: usize,
k: usize,
) -> f64
pub fn estimate_cost( &self, strategy: SearchStrategy, num_vectors: usize, k: usize, ) -> f64
Estimate search cost (relative units)
Returns estimated computational cost for comparison between strategies.
Sourcepub fn config(&self) -> &OptimizerConfig
pub fn config(&self) -> &OptimizerConfig
Get optimizer configuration
Trait Implementations§
Source§impl Clone for QueryOptimizer
impl Clone for QueryOptimizer
Source§fn clone(&self) -> QueryOptimizer
fn clone(&self) -> QueryOptimizer
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 moreAuto Trait Implementations§
impl Freeze for QueryOptimizer
impl RefUnwindSafe for QueryOptimizer
impl Send for QueryOptimizer
impl Sync for QueryOptimizer
impl Unpin for QueryOptimizer
impl UnwindSafe for QueryOptimizer
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 more