pub struct SearchContext<'ctx> {
pub index: &'ctx Index,
pub txn: &'ctx RoTxn<'ctx>,
pub db_cache: DatabaseCache<'ctx>,
pub word_interner: DedupInterner<String>,
pub phrase_interner: DedupInterner<Phrase>,
pub term_interner: Interner<QueryTerm>,
pub phrase_docids: PhraseDocIdsCache,
pub restricted_fids: Option<RestrictedFids>,
pub prefix_search: PrefixSearch,
pub vector_store_stats: Option<VectorStoreStats>,
}
Expand description
A structure used throughout the execution of a search query.
Fields§
§index: &'ctx Index
§txn: &'ctx RoTxn<'ctx>
§db_cache: DatabaseCache<'ctx>
§word_interner: DedupInterner<String>
§phrase_interner: DedupInterner<Phrase>
§term_interner: Interner<QueryTerm>
§phrase_docids: PhraseDocIdsCache
§restricted_fids: Option<RestrictedFids>
§prefix_search: PrefixSearch
§vector_store_stats: Option<VectorStoreStats>
Implementations§
Source§impl<'ctx> SearchContext<'ctx>
impl<'ctx> SearchContext<'ctx>
pub fn get_words_fst(&mut self) -> Result<Set<Cow<'ctx, [u8]>>>
pub fn word_docids( &mut self, universe: Option<&RoaringBitmap>, word: Word, ) -> Result<Option<RoaringBitmap>>
pub fn word_prefix_docids( &mut self, universe: Option<&RoaringBitmap>, prefix: Word, ) -> Result<Option<RoaringBitmap>>
pub fn get_db_word_pair_proximity_docids( &mut self, universe: Option<&RoaringBitmap>, word1: Interned<String>, word2: Interned<String>, proximity: u8, ) -> Result<Option<RoaringBitmap>>
pub fn get_db_word_pair_proximity_docids_len( &mut self, universe: Option<&RoaringBitmap>, word1: Interned<String>, word2: Interned<String>, proximity: u8, ) -> Result<Option<u64>>
pub fn get_db_word_prefix_pair_proximity_docids( &mut self, universe: Option<&RoaringBitmap>, word1: Interned<String>, prefix2: Interned<String>, proximity: u8, ) -> Result<Option<RoaringBitmap>>
pub fn get_db_prefix_word_pair_proximity_docids( &mut self, universe: Option<&RoaringBitmap>, left_prefix: Interned<String>, right: Interned<String>, proximity: u8, ) -> Result<Option<RoaringBitmap>>
pub fn get_db_word_fid_docids( &mut self, universe: Option<&RoaringBitmap>, word: Interned<String>, fid: u16, ) -> Result<Option<RoaringBitmap>>
pub fn get_db_word_prefix_fid_docids( &mut self, universe: Option<&RoaringBitmap>, word_prefix: Interned<String>, fid: u16, ) -> Result<Option<RoaringBitmap>>
pub fn get_db_word_fids(&mut self, word: Interned<String>) -> Result<Vec<u16>>
pub fn get_db_word_prefix_fids( &mut self, word_prefix: Interned<String>, ) -> Result<Vec<u16>>
pub fn get_db_word_position_docids( &mut self, universe: Option<&RoaringBitmap>, word: Interned<String>, position: u16, ) -> Result<Option<RoaringBitmap>>
pub fn get_db_word_prefix_position_docids( &mut self, universe: Option<&RoaringBitmap>, word_prefix: Interned<String>, position: u16, ) -> Result<Option<RoaringBitmap>>
pub fn get_db_word_positions( &mut self, word: Interned<String>, ) -> Result<Vec<u16>>
pub fn get_db_word_prefix_positions( &mut self, word_prefix: Interned<String>, ) -> Result<Vec<u16>>
Source§impl SearchContext<'_>
impl SearchContext<'_>
Sourcepub fn get_phrase_docids(
&mut self,
phrase: Interned<Phrase>,
) -> Result<&RoaringBitmap>
pub fn get_phrase_docids( &mut self, phrase: Interned<Phrase>, ) -> Result<&RoaringBitmap>
Get the document ids associated with the given phrase
Auto Trait Implementations§
impl<'ctx> Freeze for SearchContext<'ctx>
impl<'ctx> RefUnwindSafe for SearchContext<'ctx>
impl<'ctx> !Send for SearchContext<'ctx>
impl<'ctx> !Sync for SearchContext<'ctx>
impl<'ctx> Unpin for SearchContext<'ctx>
impl<'ctx> UnwindSafe for SearchContext<'ctx>
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