pub struct MemoryIndex<K: Key> { /* private fields */ }Expand description
In-memory index implementation that wraps the Stree structure
Implementations§
Source§impl<K: Key> MemoryIndex<K>
impl<K: Key> MemoryIndex<K>
Sourcepub fn new(
data: impl Read,
num_items: usize,
branching_factor: u16,
) -> Result<Self>
pub fn new( data: impl Read, num_items: usize, branching_factor: u16, ) -> Result<Self>
Create a new memory index from an existing Stree
Sourcepub fn build(entries: &[Entry<K>], branching_factor: u16) -> Result<Self>
pub fn build(entries: &[Entry<K>], branching_factor: u16) -> Result<Self>
Build a memory index from a collection of entries
pub fn from_buf( data: impl Read, num_items: usize, branching_factor: u16, ) -> Result<Self>
pub fn num_items(&self) -> usize
pub fn branching_factor(&self) -> u16
pub fn size(&self) -> usize
pub fn serialize(&self, out: &mut impl Write) -> Result<usize>
pub fn payload_size(&self) -> usize
Sourcepub fn find_range_strict(
&self,
start: Option<K>,
start_strict: bool,
end: Option<K>,
end_strict: bool,
) -> Result<Vec<u64>>
pub fn find_range_strict( &self, start: Option<K>, start_strict: bool, end: Option<K>, end_strict: bool, ) -> Result<Vec<u64>>
Find all items in the range, with each bound independently strict
(exclusive) or inclusive. A None bound is the type’s min/max sentinel
and is never strict.
Gt/Lt/Ne lower to this instead of subtracting find_exact from
an inclusive range: the subtraction removes feature offsets, and one
feature can be indexed under several keys, so it deletes features that
match through a different key.
Trait Implementations§
Source§impl<K: Clone + Key> Clone for MemoryIndex<K>
impl<K: Clone + Key> Clone for MemoryIndex<K>
Source§fn clone(&self) -> MemoryIndex<K>
fn clone(&self) -> MemoryIndex<K>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<K: Key> SearchIndex<K> for MemoryIndex<K>
impl<K: Key> SearchIndex<K> for MemoryIndex<K>
Source§impl TypedSearchIndex for MemoryIndex<DateTime<Utc>>
impl TypedSearchIndex for MemoryIndex<DateTime<Utc>>
Source§fn execute_query_condition(
&self,
condition: &QueryCondition,
) -> Result<Vec<u64>>
fn execute_query_condition( &self, condition: &QueryCondition, ) -> Result<Vec<u64>>
Execute the query condition
Source§impl TypedSearchIndex for MemoryIndex<FixedStringKey<100>>
impl TypedSearchIndex for MemoryIndex<FixedStringKey<100>>
Source§fn execute_query_condition(
&self,
condition: &QueryCondition,
) -> Result<Vec<u64>>
fn execute_query_condition( &self, condition: &QueryCondition, ) -> Result<Vec<u64>>
Execute the query condition
Source§impl TypedSearchIndex for MemoryIndex<FixedStringKey<20>>
impl TypedSearchIndex for MemoryIndex<FixedStringKey<20>>
Source§fn execute_query_condition(
&self,
condition: &QueryCondition,
) -> Result<Vec<u64>>
fn execute_query_condition( &self, condition: &QueryCondition, ) -> Result<Vec<u64>>
Execute the query condition
Source§impl TypedSearchIndex for MemoryIndex<FixedStringKey<50>>
impl TypedSearchIndex for MemoryIndex<FixedStringKey<50>>
Source§fn execute_query_condition(
&self,
condition: &QueryCondition,
) -> Result<Vec<u64>>
fn execute_query_condition( &self, condition: &QueryCondition, ) -> Result<Vec<u64>>
Execute the query condition
Source§impl TypedSearchIndex for MemoryIndex<OrderedFloat<f32>>
impl TypedSearchIndex for MemoryIndex<OrderedFloat<f32>>
Source§fn execute_query_condition(
&self,
condition: &QueryCondition,
) -> Result<Vec<u64>>
fn execute_query_condition( &self, condition: &QueryCondition, ) -> Result<Vec<u64>>
Execute the query condition
Source§impl TypedSearchIndex for MemoryIndex<OrderedFloat<f64>>
impl TypedSearchIndex for MemoryIndex<OrderedFloat<f64>>
Source§fn execute_query_condition(
&self,
condition: &QueryCondition,
) -> Result<Vec<u64>>
fn execute_query_condition( &self, condition: &QueryCondition, ) -> Result<Vec<u64>>
Execute the query condition
Source§impl TypedSearchIndex for MemoryIndex<bool>
impl TypedSearchIndex for MemoryIndex<bool>
Source§fn execute_query_condition(
&self,
condition: &QueryCondition,
) -> Result<Vec<u64>>
fn execute_query_condition( &self, condition: &QueryCondition, ) -> Result<Vec<u64>>
Execute the query condition
Source§impl TypedSearchIndex for MemoryIndex<i16>
impl TypedSearchIndex for MemoryIndex<i16>
Source§fn execute_query_condition(
&self,
condition: &QueryCondition,
) -> Result<Vec<u64>>
fn execute_query_condition( &self, condition: &QueryCondition, ) -> Result<Vec<u64>>
Execute the query condition
Source§impl TypedSearchIndex for MemoryIndex<i32>
impl TypedSearchIndex for MemoryIndex<i32>
Source§fn execute_query_condition(
&self,
condition: &QueryCondition,
) -> Result<Vec<u64>>
fn execute_query_condition( &self, condition: &QueryCondition, ) -> Result<Vec<u64>>
Execute the query condition
Source§impl TypedSearchIndex for MemoryIndex<i64>
impl TypedSearchIndex for MemoryIndex<i64>
Source§fn execute_query_condition(
&self,
condition: &QueryCondition,
) -> Result<Vec<u64>>
fn execute_query_condition( &self, condition: &QueryCondition, ) -> Result<Vec<u64>>
Execute the query condition
Source§impl TypedSearchIndex for MemoryIndex<i8>
impl TypedSearchIndex for MemoryIndex<i8>
Source§fn execute_query_condition(
&self,
condition: &QueryCondition,
) -> Result<Vec<u64>>
fn execute_query_condition( &self, condition: &QueryCondition, ) -> Result<Vec<u64>>
Execute the query condition
Source§impl TypedSearchIndex for MemoryIndex<u16>
impl TypedSearchIndex for MemoryIndex<u16>
Source§fn execute_query_condition(
&self,
condition: &QueryCondition,
) -> Result<Vec<u64>>
fn execute_query_condition( &self, condition: &QueryCondition, ) -> Result<Vec<u64>>
Execute the query condition
Source§impl TypedSearchIndex for MemoryIndex<u32>
impl TypedSearchIndex for MemoryIndex<u32>
Source§fn execute_query_condition(
&self,
condition: &QueryCondition,
) -> Result<Vec<u64>>
fn execute_query_condition( &self, condition: &QueryCondition, ) -> Result<Vec<u64>>
Execute the query condition
Source§impl TypedSearchIndex for MemoryIndex<u64>
impl TypedSearchIndex for MemoryIndex<u64>
Source§fn execute_query_condition(
&self,
condition: &QueryCondition,
) -> Result<Vec<u64>>
fn execute_query_condition( &self, condition: &QueryCondition, ) -> Result<Vec<u64>>
Execute the query condition
Source§impl TypedSearchIndex for MemoryIndex<u8>
impl TypedSearchIndex for MemoryIndex<u8>
Source§fn execute_query_condition(
&self,
condition: &QueryCondition,
) -> Result<Vec<u64>>
fn execute_query_condition( &self, condition: &QueryCondition, ) -> Result<Vec<u64>>
Execute the query condition
Auto Trait Implementations§
impl<K> Freeze for MemoryIndex<K>
impl<K> RefUnwindSafe for MemoryIndex<K>where
K: RefUnwindSafe,
impl<K> Send for MemoryIndex<K>where
K: Send,
impl<K> Sync for MemoryIndex<K>where
K: Sync,
impl<K> Unpin for MemoryIndex<K>where
K: Unpin,
impl<K> UnsafeUnpin for MemoryIndex<K>
impl<K> UnwindSafe for MemoryIndex<K>where
K: UnwindSafe,
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