pub struct MetadataIndex { /* private fields */ }Expand description
Composite metadata index supporting multiple field types
Implementations§
Source§impl MetadataIndex
impl MetadataIndex
Sourcepub fn add_equality(&mut self, field: &str, value: &FilterValue, doc_id: u64)
pub fn add_equality(&mut self, field: &str, value: &FilterValue, doc_id: u64)
Add an equality field value
Sourcepub fn add_string(&mut self, field: &str, value: &str, doc_id: u64)
pub fn add_string(&mut self, field: &str, value: &str, doc_id: u64)
Add a string equality field
Sourcepub fn add_range(&mut self, field: &str, value: i64, doc_id: u64)
pub fn add_range(&mut self, field: &str, value: i64, doc_id: u64)
Add a range field value (for time, scores, etc.)
Sourcepub fn add_timestamp(&mut self, field: &str, timestamp: u64, doc_id: u64)
pub fn add_timestamp(&mut self, field: &str, timestamp: u64, doc_id: u64)
Add a timestamp (convenience for u64 timestamps)
Sourcepub fn set_doc_count(&mut self, count: usize)
pub fn set_doc_count(&mut self, count: usize)
Update document count
Sourcepub fn inc_doc_count(&mut self)
pub fn inc_doc_count(&mut self)
Increment document count
Sourcepub fn evaluate_atom(&self, atom: &FilterAtom) -> AllowedSet
pub fn evaluate_atom(&self, atom: &FilterAtom) -> AllowedSet
Evaluate a filter atom
Sourcepub fn evaluate(&self, filter: &FilterIR) -> AllowedSet
pub fn evaluate(&self, filter: &FilterIR) -> AllowedSet
Evaluate a complete filter IR
This is the main entry point for computing AllowedSet from FilterIR.
Sourcepub fn estimate_selectivity(&self, filter: &FilterIR) -> f64
pub fn estimate_selectivity(&self, filter: &FilterIR) -> f64
Get selectivity estimate for a filter
Trait Implementations§
Source§impl Debug for MetadataIndex
impl Debug for MetadataIndex
Source§impl Default for MetadataIndex
impl Default for MetadataIndex
Source§fn default() -> MetadataIndex
fn default() -> MetadataIndex
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for MetadataIndex
impl RefUnwindSafe for MetadataIndex
impl Send for MetadataIndex
impl Sync for MetadataIndex
impl Unpin for MetadataIndex
impl UnwindSafe for MetadataIndex
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 more