pub struct SparseVectorQuery {
pub field: Field,
pub vector: Vec<(u32, f32)>,
pub combiner: MultiValueCombiner,
}Expand description
Sparse vector query for similarity search
Fields§
§field: FieldField containing the sparse vectors
vector: Vec<(u32, f32)>Query vector as (dimension_id, weight) pairs
combiner: MultiValueCombinerHow to combine scores for multi-valued documents
Implementations§
Source§impl SparseVectorQuery
impl SparseVectorQuery
Sourcepub fn with_combiner(self, combiner: MultiValueCombiner) -> Self
pub fn with_combiner(self, combiner: MultiValueCombiner) -> Self
Set the multi-value score combiner
Sourcepub fn from_indices_weights(
field: Field,
indices: Vec<u32>,
weights: Vec<f32>,
) -> Self
pub fn from_indices_weights( field: Field, indices: Vec<u32>, weights: Vec<f32>, ) -> Self
Create from separate indices and weights vectors
Sourcepub fn from_text(
field: Field,
text: &str,
tokenizer_name: &str,
weighting: QueryWeighting,
sparse_index: Option<&SparseIndex>,
) -> Result<Self>
pub fn from_text( field: Field, text: &str, tokenizer_name: &str, weighting: QueryWeighting, sparse_index: Option<&SparseIndex>, ) -> Result<Self>
Create from raw text using a HuggingFace tokenizer (single segment)
This method tokenizes the text and creates a sparse vector query.
For multi-segment indexes, use from_text_with_stats instead.
§Arguments
field- The sparse vector field to searchtext- Raw text to tokenizetokenizer_name- HuggingFace tokenizer path (e.g., “bert-base-uncased”)weighting- Weighting strategy for tokenssparse_index- Optional sparse index for IDF lookup (required for IDF weighting)
Sourcepub fn from_text_with_stats(
field: Field,
text: &str,
tokenizer: &HfTokenizer,
weighting: QueryWeighting,
global_stats: Option<&GlobalStats>,
) -> Result<Self>
pub fn from_text_with_stats( field: Field, text: &str, tokenizer: &HfTokenizer, weighting: QueryWeighting, global_stats: Option<&GlobalStats>, ) -> Result<Self>
Create from raw text using global statistics (multi-segment)
This is the recommended method for multi-segment indexes as it uses aggregated IDF values across all segments for consistent ranking.
§Arguments
field- The sparse vector field to searchtext- Raw text to tokenizetokenizer- Pre-loaded HuggingFace tokenizerweighting- Weighting strategy for tokensglobal_stats- Global statistics for IDF computation
Sourcepub fn from_text_with_tokenizer_bytes(
field: Field,
text: &str,
tokenizer_bytes: &[u8],
weighting: QueryWeighting,
global_stats: Option<&GlobalStats>,
) -> Result<Self>
pub fn from_text_with_tokenizer_bytes( field: Field, text: &str, tokenizer_bytes: &[u8], weighting: QueryWeighting, global_stats: Option<&GlobalStats>, ) -> Result<Self>
Create from raw text, loading tokenizer from index directory
This method supports the index:// prefix for tokenizer paths,
loading tokenizer.json from the index directory.
§Arguments
field- The sparse vector field to searchtext- Raw text to tokenizetokenizer_bytes- Tokenizer JSON bytes (pre-loaded from directory)weighting- Weighting strategy for tokensglobal_stats- Global statistics for IDF computation
Trait Implementations§
Source§impl Clone for SparseVectorQuery
impl Clone for SparseVectorQuery
Source§fn clone(&self) -> SparseVectorQuery
fn clone(&self) -> SparseVectorQuery
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SparseVectorQuery
impl Debug for SparseVectorQuery
Source§impl Query for SparseVectorQuery
impl Query for SparseVectorQuery
Source§fn scorer<'a>(
&self,
reader: &'a SegmentReader,
limit: usize,
) -> ScorerFuture<'a>
fn scorer<'a>( &self, reader: &'a SegmentReader, limit: usize, ) -> ScorerFuture<'a>
Source§fn count_estimate<'a>(&self, _reader: &'a SegmentReader) -> CountFuture<'a>
fn count_estimate<'a>(&self, _reader: &'a SegmentReader) -> CountFuture<'a>
Source§fn as_term_query_info(&self) -> Option<TermQueryInfo>
fn as_term_query_info(&self) -> Option<TermQueryInfo>
Auto Trait Implementations§
impl Freeze for SparseVectorQuery
impl RefUnwindSafe for SparseVectorQuery
impl Send for SparseVectorQuery
impl Sync for SparseVectorQuery
impl Unpin for SparseVectorQuery
impl UnwindSafe for SparseVectorQuery
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
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
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.