pub struct SparseVectorQuery {
pub field: Field,
pub vector: Vec<(u32, f32)>,
}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
Implementations§
Source§impl SparseVectorQuery
impl SparseVectorQuery
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
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SparseVectorQuery
impl Debug for SparseVectorQuery
Source§impl Query for SparseVectorQuery
impl Query for SparseVectorQuery
Source§fn scorer<'a>(
&'a self,
reader: &'a SegmentReader,
limit: usize,
) -> ScorerFuture<'a>
fn scorer<'a>( &'a self, reader: &'a SegmentReader, limit: usize, ) -> ScorerFuture<'a>
Create a scorer for this query against a single segment (async) Read more
Source§fn count_estimate<'a>(&'a self, _reader: &'a SegmentReader) -> CountFuture<'a>
fn count_estimate<'a>(&'a self, _reader: &'a SegmentReader) -> CountFuture<'a>
Estimated number of matching documents in a segment (async)
Source§fn as_term_query_info(&self) -> Option<TermQueryInfo>
fn as_term_query_info(&self) -> Option<TermQueryInfo>
Return term info if this is a simple term query eligible for WAND optimization Read more
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
Mutably borrows from an owned value. Read more
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>
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<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>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.