pub struct HybridSearchItem {Show 16 fields
pub memory_id: i64,
pub name: String,
pub namespace: String,
pub memory_type: String,
pub description: String,
pub body: String,
pub snippet: String,
pub combined_score: f64,
pub score: f64,
pub source: String,
pub vec_rank: Option<usize>,
pub fts_rank: Option<usize>,
pub rrf_score: Option<f64>,
pub normalized_score: f64,
pub vec_distance: Option<f64>,
pub fts_bm25: Option<f64>,
}Fields§
§memory_id: i64§name: String§namespace: String§memory_type: String§description: String§body: String§snippet: String§combined_score: f64§score: f64Alias of combined_score for the documented contract in SKILL.md.
source: StringSource of the match: always “hybrid” (RRF of vec + fts). Added in v2.0.1.
vec_rank: Option<usize>§fts_rank: Option<usize>§rrf_score: Option<f64>Combined RRF score — explicit alias of combined_score for integration contracts.
normalized_score: f64RRF score normalized to [0.0, 1.0] for cross-method comparability.
vec_distance: Option<f64>Raw KNN distance from the vector index (lower = more similar).
Present when the result came from the vector search path; None when the
result appeared only in the FTS5 results and was not ranked by the KNN index.
fts_bm25: Option<f64>Raw BM25 score from the FTS5 index. Currently always None; reserved for
a future release when the FTS5 BM25 score is exposed by the storage layer.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for HybridSearchItem
impl RefUnwindSafe for HybridSearchItem
impl Send for HybridSearchItem
impl Sync for HybridSearchItem
impl Unpin for HybridSearchItem
impl UnsafeUnpin for HybridSearchItem
impl UnwindSafe for HybridSearchItem
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<T> ErasedDestructor for Twhere
T: 'static,
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> 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 more