pub struct HybridHit {
pub concept_id: String,
pub score: f64,
pub vector_rank: Option<usize>,
pub keyword_rank: Option<usize>,
}Expand description
One fused result, with the evidence for its position.
The per-arm ranks are carried out rather than discarded because a fused score
alone is unreadable: 0.032 says nothing, while “rank 2 by vector, absent
from keyword” says exactly why a document placed where it did. This is the
same reasoning that makes FilteredVectorSearch return its CostEstimate.
Fields§
§concept_id: String§score: f64Fused RRF score. Higher is better; the scale is not meaningful on its own.
vector_rank: Option<usize>1-based rank in the vector arm, or None if that arm did not return it.
keyword_rank: Option<usize>1-based rank in the keyword arm, or None.
Trait Implementations§
impl StructuralPartialEq for HybridHit
Auto Trait Implementations§
impl Freeze for HybridHit
impl RefUnwindSafe for HybridHit
impl Send for HybridHit
impl Sync for HybridHit
impl Unpin for HybridHit
impl UnsafeUnpin for HybridHit
impl UnwindSafe for HybridHit
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> 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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request