Struct jupiter::idb::table::IndexEntry
source · pub struct IndexEntry { /* private fields */ }
Expand description
Represents an entry in the lookup index.
Basically an entry is either exact (matching the whole field contents) or loose (matching a word / token within a field while comparing case-insensitive). Internally each entry contains the field symbol it points to along with the position (row number) for which is was created.
Trait Implementations§
source§impl PartialEq for IndexEntry
impl PartialEq for IndexEntry
Note that when comparing index entries, we only check if their field and row matches no matter if these are exact or loose.
The idea is that when building the index, we first record all exact matches and then compute
the loose ones. Still we want to de-duplicate the index entries, so that for a single match
(as in path within the TRIE) a document only occurs once. We do not need two entries for the
same word and field (one being loose and one being exact) as all exact matches are also
considered valid when performing a loose (IDB.SEARCH
) search.
Auto Trait Implementations§
impl Freeze for IndexEntry
impl RefUnwindSafe for IndexEntry
impl Send for IndexEntry
impl Sync for IndexEntry
impl Unpin for IndexEntry
impl UnwindSafe for IndexEntry
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
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>
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>
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