pub struct TextTermScorer { /* private fields */ }Expand description
Scorer for full-text terms using WAND optimization
Wraps a BlockPostingList with BM25 parameters to implement ScoringIterator.
Enables MaxScore pruning for efficient top-k retrieval in OR queries.
Implementations§
Source§impl TextTermScorer
impl TextTermScorer
Sourcepub fn new(posting_list: BlockPostingList, idf: f32, avg_field_len: f32) -> Self
pub fn new(posting_list: BlockPostingList, idf: f32, avg_field_len: f32) -> Self
Create a new text term scorer with BM25 parameters
Trait Implementations§
Source§impl ScoringIterator for TextTermScorer
impl ScoringIterator for TextTermScorer
Source§fn seek(&mut self, target: DocId) -> DocId
fn seek(&mut self, target: DocId) -> DocId
Seek to first document >= target, returns new doc ID
Source§fn max_score(&self) -> f32
fn max_score(&self) -> f32
Maximum possible score for this term/dimension (global upper bound)
Source§fn current_block_max_score(&self) -> f32
fn current_block_max_score(&self) -> f32
Current block’s maximum score upper bound (for block-level pruning)
Source§fn skip_to_next_block(&mut self) -> DocId
fn skip_to_next_block(&mut self) -> DocId
Skip to the next block, returning the first doc_id in the new block.
Used for block-max WAND optimization when current block can’t beat threshold.
Default implementation just advances (no block-level skipping).
Source§fn is_exhausted(&self) -> bool
fn is_exhausted(&self) -> bool
Check if iterator is exhausted
Auto Trait Implementations§
impl Freeze for TextTermScorer
impl RefUnwindSafe for TextTermScorer
impl Send for TextTermScorer
impl Sync for TextTermScorer
impl Unpin for TextTermScorer
impl UnwindSafe for TextTermScorer
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> 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<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.