pub struct RrfFusionScoring {
pub ego_depth: usize,
pub k: f64,
}Expand description
Reciprocal-rank fusion of the structural (EGO) and lexical (BM25) signals.
The two are complementary rather than redundant: on genuine retrieval the lexical component alone outranks the deployed graph+lexical mixture, and their score-free union raises the reachable recall well above either — a miscalibrated-mixture signature. RRF fuses on ranks only, so neither component’s score scale can dominate the other, which is exactly the failure the weighted mixture had.
Fields§
§ego_depth: usize§k: f64Implementations§
Trait Implementations§
Source§impl ScoringStrategy for RrfFusionScoring
impl ScoringStrategy for RrfFusionScoring
fn score_and_filter( &self, all_fragments: &[Fragment], core_ids: &FxHashSet<FragmentId>, hunks: &[DiffHunk], repo_root: Option<&Path>, seed_weights: Option<&FxHashMap<FragmentId, f64>>, discovered_paths: Option<&FxHashSet<Arc<str>>>, deadline: Deadline, ) -> ScoringResult
Auto Trait Implementations§
impl Freeze for RrfFusionScoring
impl RefUnwindSafe for RrfFusionScoring
impl Send for RrfFusionScoring
impl Sync for RrfFusionScoring
impl Unpin for RrfFusionScoring
impl UnsafeUnpin for RrfFusionScoring
impl UnwindSafe for RrfFusionScoring
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> 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