pub struct WildcardQuery(/* private fields */);Expand description
Constant-score union of indexed terms matching a whole-term wildcard.
* matches any sequence of Unicode scalar values, ? exactly one, and \
escapes the next character. Patterns are not tokenized or stemmed. Expansion
uses the same 1,024-term / 5,000,000-posting per-segment limits as prefixes;
scans additionally stop with an error after 1,000,000 candidate terms.
Implementations§
Trait Implementations§
Source§impl Clone for WildcardQuery
impl Clone for WildcardQuery
Source§impl Debug for WildcardQuery
impl Debug for WildcardQuery
Source§impl Display for WildcardQuery
impl Display for WildcardQuery
Source§impl Query for WildcardQuery
impl Query for WildcardQuery
Source§fn scorer<'a>(
&self,
reader: &'a SegmentReader,
limit: usize,
) -> ScorerFuture<'a>
fn scorer<'a>( &self, reader: &'a SegmentReader, limit: usize, ) -> ScorerFuture<'a>
Create a scorer for this query against a single segment (async) Read more
Source§fn scorer_sync<'a>(
&self,
reader: &'a SegmentReader,
limit: usize,
) -> Result<Box<dyn Scorer + 'a>>
fn scorer_sync<'a>( &self, reader: &'a SegmentReader, limit: usize, ) -> Result<Box<dyn Scorer + 'a>>
Create a scorer synchronously (mmap/RAM only). Read more
Source§fn count_estimate<'a>(&self, reader: &'a SegmentReader) -> CountFuture<'a>
fn count_estimate<'a>(&self, reader: &'a SegmentReader) -> CountFuture<'a>
Estimated number of matching documents in a segment (async)
Source§fn is_filter(&self) -> bool
fn is_filter(&self) -> bool
True if this query is a pure filter (always scores 1.0, no positions).
Used by the planner to convert non-selective MUST filters into predicates.
Source§fn scorer_with_options<'a>(
&self,
reader: &'a SegmentReader,
limit: usize,
options: ScorerOptions,
) -> ScorerFuture<'a>
fn scorer_with_options<'a>( &self, reader: &'a SegmentReader, limit: usize, options: ScorerOptions, ) -> ScorerFuture<'a>
Create a scorer with collector-specific construction options.
Query implementations that can avoid optional position data
should override this; the default preserves existing behavior.
Source§fn scorer_sync_with_options<'a>(
&self,
reader: &'a SegmentReader,
limit: usize,
options: ScorerOptions,
) -> Result<Box<dyn Scorer + 'a>>
fn scorer_sync_with_options<'a>( &self, reader: &'a SegmentReader, limit: usize, options: ScorerOptions, ) -> Result<Box<dyn Scorer + 'a>>
Synchronous counterpart to
Query::scorer_with_options.Source§fn decompose(&self) -> QueryDecomposition
fn decompose(&self) -> QueryDecomposition
Decompose this query for MaxScore optimization. Read more
Source§fn physical_text_field(
&self,
_reader: &SegmentReader,
_complete: bool,
) -> Option<Field>
fn physical_text_field( &self, _reader: &SegmentReader, _complete: bool, ) -> Option<Field>
Opt into one field-local physical address space for collection.
Every child must honor the internal scorer scope. Unknown/custom
queries retain logical IDs. Ranked term/union executors may keep
their existing mapping by opting in only for complete streams.
Source§fn sparse_decomposition(&self) -> QueryDecomposition
fn sparse_decomposition(&self) -> QueryDecomposition
Sparse terms for query-global BMP superblock planning only.
Unlike scoring decomposition, this never replaces a query’s
scorer. A filter wrapper may expose its inner sparse query here
while remaining opaque to Boolean scoring optimizations.
Source§fn candidate_query(&self) -> Result<CandidateQuery>
fn candidate_query(&self) -> Result<CandidateQuery>
Exact scoring plan for a named L1 branch. Unsupported queries
reject explicitly rather than returning truncated retrieval scores.
Source§fn text_terms(&self, out: &mut Vec<(Field, Vec<u8>)>)
fn text_terms(&self, out: &mut Vec<(Field, Vec<u8>)>)
Append every
(field, term) this query scores with BM25 to
out. The searcher aggregates their document frequencies
across segments before scoring (see ScorerOptions::global_stats).Source§fn as_doc_predicate<'a>(
&self,
_reader: &'a SegmentReader,
) -> Option<DocPredicate<'a>>
fn as_doc_predicate<'a>( &self, _reader: &'a SegmentReader, ) -> Option<DocPredicate<'a>>
For filter queries: return a cheap per-doc predicate against a segment.
The predicate does O(1) work per doc (e.g., fast-field lookup).
Source§fn as_doc_bitset(&self, _reader: &SegmentReader) -> Option<DocBitset>
fn as_doc_bitset(&self, _reader: &SegmentReader) -> Option<DocBitset>
Build a compact bitset of matching doc_ids for this query. Read more
Source§fn as_doc_bitset_with_options(
&self,
reader: &SegmentReader,
options: &ScorerOptions,
) -> Option<DocBitset>
fn as_doc_bitset_with_options( &self, reader: &SegmentReader, options: &ScorerOptions, ) -> Option<DocBitset>
Budget-aware materialization.
None means unsupported or
cancelled; cancellation must flag the shared budget, and a
partial bitset must never escape as a complete filter.Source§fn bitset_cardinality_estimate(&self, _reader: &SegmentReader) -> Option<u64>
fn bitset_cardinality_estimate(&self, _reader: &SegmentReader) -> Option<u64>
Cheap estimate of how many docs this filter clause matches in
the segment. Used by the boolean planner to order MUST/MUST_NOT
evaluation: the narrowest clause is materialized first and wider
clauses refine it with per-doc probes instead of being fully
materialized.
None = unknown (treated as matching everything).Source§fn count_equivalent_term(&self) -> Option<TermQueryInfo>
fn count_equivalent_term(&self) -> Option<TermQueryInfo>
A term with identical membership for count-only collection.
This does not change scoring decomposition. The collector must
still account for deleted rows, chunks and missing metadata.
Source§fn ranked_count_equivalent_term(&self) -> Option<TermQueryInfo>
fn ranked_count_equivalent_term(&self) -> Option<TermQueryInfo>
A term-equivalent cardinality alongside an exact score-only
text rank plan. Unlike the count-only hint, opaque/custom plans
do not opt in automatically. The collector still validates the
indexed document space, deletions, mappings and cardinality gate.
Source§fn supports_ranked_conjunction_count(&self) -> bool
fn supports_ranked_conjunction_count(&self) -> bool
Opt into top-level bounded conjunction results with an exact
count. Wrappers must not inherit this automatically: they may
consume or hide a child’s cardinality. Defaults to streaming.
Auto Trait Implementations§
impl Freeze for WildcardQuery
impl RefUnwindSafe for WildcardQuery
impl Send for WildcardQuery
impl Sync for WildcardQuery
impl Unpin for WildcardQuery
impl UnsafeUnpin for WildcardQuery
impl UnwindSafe for WildcardQuery
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<E> ResultError for E
impl<T> ResultType for T
Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
Fallible version of
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
Converts the given value to a
CompactString. Read more