pub struct BinaryDenseVectorQuery {
pub field: Field,
pub vector: Vec<u8>,
pub combiner: MultiValueCombiner,
}Expand description
Binary dense vector query for Hamming distance similarity search
Uses brute-force XOR + popcount scoring. Score = 1.0 - hamming/dim_bits.
Fields§
§field: FieldField containing the binary dense vectors
vector: Vec<u8>Query vector (packed bits, ceil(dim/8) bytes)
combiner: MultiValueCombinerHow to combine scores for multi-valued documents
Implementations§
Source§impl BinaryDenseVectorQuery
impl BinaryDenseVectorQuery
pub fn new(field: Field, vector: Vec<u8>) -> Self
pub fn with_combiner(self, combiner: MultiValueCombiner) -> Self
Trait Implementations§
Source§impl Clone for BinaryDenseVectorQuery
impl Clone for BinaryDenseVectorQuery
Source§fn clone(&self) -> BinaryDenseVectorQuery
fn clone(&self) -> BinaryDenseVectorQuery
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 BinaryDenseVectorQuery
impl Debug for BinaryDenseVectorQuery
Source§impl Display for BinaryDenseVectorQuery
impl Display for BinaryDenseVectorQuery
Source§impl Query for BinaryDenseVectorQuery
impl Query for BinaryDenseVectorQuery
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 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 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 decompose(&self) -> QueryDecomposition
fn decompose(&self) -> QueryDecomposition
Decompose this query for MaxScore optimization. Read more
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
Auto Trait Implementations§
impl Freeze for BinaryDenseVectorQuery
impl RefUnwindSafe for BinaryDenseVectorQuery
impl Send for BinaryDenseVectorQuery
impl Sync for BinaryDenseVectorQuery
impl Unpin for BinaryDenseVectorQuery
impl UnsafeUnpin for BinaryDenseVectorQuery
impl UnwindSafe for BinaryDenseVectorQuery
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.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