pub struct SparseTermQuery {
pub field: Field,
pub dim_id: u32,
pub weight: f32,
pub combiner: MultiValueCombiner,
pub heap_factor: f32,
pub over_fetch_factor: f32,
pub lsp_gamma: Option<usize>,
pub seismic_cut: usize,
pub seismic_factor: f32,
pub exhaustive: bool,
}Expand description
Query for a single sparse vector dimension.
Analogous to TermQuery for text: searches one dimension’s posting list
with a given weight. Multiple SparseTermQuery instances are combined as
BooleanQuery SHOULD clauses to form a full sparse vector search.
Fields§
§field: Field§dim_id: u32§weight: f32§combiner: MultiValueCombinerMulti-value combiner for ordinal deduplication
heap_factor: f32§over_fetch_factor: f32§lsp_gamma: Option<usize>§seismic_cut: usize§seismic_factor: f32§exhaustive: boolImplementations§
Source§impl SparseTermQuery
impl SparseTermQuery
pub fn new(field: Field, dim_id: u32, weight: f32) -> Self
pub fn with_heap_factor(self, heap_factor: f32) -> Self
pub fn with_over_fetch_factor(self, factor: f32) -> Self
pub fn with_lsp_gamma(self, gamma: usize) -> Self
pub fn with_seismic_cut(self, cut: usize) -> Self
pub fn with_seismic_factor(self, factor: f32) -> Self
pub fn with_exhaustive(self, exhaustive: bool) -> Self
pub fn with_combiner(self, combiner: MultiValueCombiner) -> Self
Trait Implementations§
Source§impl Clone for SparseTermQuery
impl Clone for SparseTermQuery
Source§impl Debug for SparseTermQuery
impl Debug for SparseTermQuery
Source§impl Display for SparseTermQuery
impl Display for SparseTermQuery
Source§impl Query for SparseTermQuery
impl Query for SparseTermQuery
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 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_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<'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 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 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 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 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 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 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 SparseTermQuery
impl RefUnwindSafe for SparseTermQuery
impl Send for SparseTermQuery
impl Sync for SparseTermQuery
impl Unpin for SparseTermQuery
impl UnsafeUnpin for SparseTermQuery
impl UnwindSafe for SparseTermQuery
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