pub struct CountCollector { /* private fields */ }Expand description
Collector that counts all matching documents
Implementations§
Trait Implementations§
Source§impl Collector for CountCollector
impl Collector for CountCollector
Source§fn ranked_count_limit(&self) -> Option<usize>
fn ranked_count_limit(&self) -> Option<usize>
Opt into exact counting separately from ranked collection. A finite
limit promises that retaining this many highest ranked matches is enough.
Custom collectors keep exhaustive callbacks by default.
Source§fn collect_omitted_count(&mut self, count: u64)
fn collect_omitted_count(&mut self, count: u64)
Account for exact matches omitted by the ranked path. Called only after
ranked_count_limit opts in; must preserve every count/total_seen field.
Source§fn supports_score_blocks(&self) -> bool
fn supports_score_blocks(&self) -> bool
Opt into bounded score blocks when positions and per-hit deadline
checks are unnecessary. Custom collectors retain per-document calls.
Tuple children opting in permit calls to be grouped by collector.
Source§fn collect_score_block(
&mut self,
_base: DocId,
_scores: &[Score; 64],
bits: u64,
)
fn collect_score_block( &mut self, _base: DocId, _scores: &[Score; 64], bits: u64, )
Collect set bits in increasing document order, with
scores[i] for
document base + i. Set bits must address valid document IDs.
The driver calls this only after supports_score_blocks returns true.Source§fn collect_count(&mut self, count: u64) -> bool
fn collect_count(&mut self, count: u64) -> bool
Accept a known exact number of matches without visiting documents.
Return false without changing state to request ordinary collection.
This is only offered to score- and position-free collectors.
Source§fn needs_scores(&self) -> bool
fn needs_scores(&self) -> bool
Whether this collector consumes scores. Returning false permits the
driver to pass 0.0 without evaluating BM25. Position consumers still
force scoring; custom collectors retain the previous behavior by default.
Source§fn collect(
&mut self,
_doc_id: DocId,
_score: Score,
_positions: &[(u32, Vec<ScoredPosition>)],
)
fn collect( &mut self, _doc_id: DocId, _score: Score, _positions: &[(u32, Vec<ScoredPosition>)], )
Called for each matching document
positions: Vec of (field_id, scored_positions)
Source§fn would_collect(&self, _doc_id: DocId, _score: Score) -> bool
fn would_collect(&self, _doc_id: DocId, _score: Score) -> bool
Whether this score can enter the collector’s retained result set. Read more
Source§fn collect_owned(
&mut self,
doc_id: DocId,
score: Score,
positions: MatchedPositions,
)
fn collect_owned( &mut self, doc_id: DocId, score: Score, positions: MatchedPositions, )
Collect already-owned positions. Position-aware collectors can override
this to move the nested vectors instead of cloning them.
Source§fn needs_positions(&self) -> bool
fn needs_positions(&self) -> bool
Whether this collector needs position information
Auto Trait Implementations§
impl Freeze for CountCollector
impl RefUnwindSafe for CountCollector
impl Send for CountCollector
impl Sync for CountCollector
impl Unpin for CountCollector
impl UnsafeUnpin for CountCollector
impl UnwindSafe for CountCollector
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> DropFlavorWrapper<T> for T
impl<T> DropFlavorWrapper<T> for T
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
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