pub struct QueryRewriter { /* private fields */ }Expand description
Query rewriter
Implementations§
Source§impl QueryRewriter
impl QueryRewriter
Sourcepub fn new(config: QueryRewriterConfig) -> Self
pub fn new(config: QueryRewriterConfig) -> Self
Create a new query rewriter
Sourcepub fn rewrite(&mut self, query: &Vector, k: usize) -> Result<RewrittenQuery>
pub fn rewrite(&mut self, query: &Vector, k: usize) -> Result<RewrittenQuery>
Rewrite a query for optimal performance
Sourcepub fn record_rule_success(&mut self, rule: RewriteRule, improvement: f64)
pub fn record_rule_success(&mut self, rule: RewriteRule, improvement: f64)
Record rule success for learning
Sourcepub fn clear_cache(&mut self)
pub fn clear_cache(&mut self)
Clear query cache
Sourcepub fn rule_statistics(&self) -> &HashMap<RewriteRule, RuleStatistics>
pub fn rule_statistics(&self) -> &HashMap<RewriteRule, RuleStatistics>
Get rule statistics
Sourcepub fn cache_size(&self) -> usize
pub fn cache_size(&self) -> usize
Get cache size
Trait Implementations§
Auto Trait Implementations§
impl Freeze for QueryRewriter
impl RefUnwindSafe for QueryRewriter
impl Send for QueryRewriter
impl Sync for QueryRewriter
impl Unpin for QueryRewriter
impl UnwindSafe for QueryRewriter
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> 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.