pub enum ScoreMode {
Complete,
CompleteNoScores,
TopScores,
}Expand description
Controls whether and how scoring is performed during query execution.
Propagated from the query context down through Weight →
ScorerSupplier → Scorer. Implementations use this to skip expensive
scoring work when scores aren’t needed. See [[architecture-query-execution#ScoreMode]].
Variants§
Complete
Full scoring required. Default for must/should clauses.
CompleteNoScores
No scores needed. Used in filter context (filter/must_not).
Implementations skip TF lookup, BM25 computation, and norm loading.
TopScores
Only top-K scores needed. Enables WAND/MaxScore optimizations: skip documents whose max possible contribution cannot enter the top-K heap. See [[architecture-query-execution#Disjunction Execution (Should Clauses)]].
Implementations§
Trait Implementations§
impl Copy for ScoreMode
impl Eq for ScoreMode
impl StructuralPartialEq for ScoreMode
Auto Trait Implementations§
impl Freeze for ScoreMode
impl RefUnwindSafe for ScoreMode
impl Send for ScoreMode
impl Sync for ScoreMode
impl Unpin for ScoreMode
impl UnsafeUnpin for ScoreMode
impl UnwindSafe for ScoreMode
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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