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 UnsafeUnpin 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.