pub enum SourceOp {
Vector,
Keyword,
Fused,
Reranked,
Graph,
Tree,
}Expand description
What kind of operator produced a RawHit. RRF fusion groups raw hits by
this tag so per-branch rankings stay isolated when computing 1 / (k + rank_i).
Plan 02-03 added Reranked (cross-encoder pass output). Plan 03-02 added
Graph (anchored graph traversal output). The Fused variant marks a
RawHit that has already been through a fuse_rrf operator (so fuse_rrf
of a fuse_rrf re-fuses on the fused tag, treating it as a single branch).
Variants§
Vector
Keyword
Fused
Reranked
Graph
Plan 03-02 (D-15): Graph::anchored operator output. RRF fusion groups
Graph hits as a separate branch from Vector/Keyword so reciprocal-rank
contributions stay isolated. Per-hit score = 1.0 / (1 + bfs_rank) for
rank-stability across hops (rank 0 → 1.0, rank 1 → 0.5, …).
Tree
N5/B2 (RAPTOR tree retrieval): leaf-chunk hits descended from a matched
community summary node. The operator searches the "communities" vector
index, then walks Community.members to collect leaf-chunk IDs. Score
is inherited from the parent community’s cosine similarity. Hydration
resolves chunk text normally — the id bytes are chunk ULIDs.
Trait Implementations§
impl Copy for SourceOp
Source§impl<'de> Deserialize<'de> for SourceOp
impl<'de> Deserialize<'de> for SourceOp
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<SourceOp, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SourceOp, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
impl Eq for SourceOp
Source§impl Serialize for SourceOp
impl Serialize for SourceOp
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for SourceOp
Auto Trait Implementations§
impl Freeze for SourceOp
impl RefUnwindSafe for SourceOp
impl Send for SourceOp
impl Sync for SourceOp
impl Unpin for SourceOp
impl UnsafeUnpin for SourceOp
impl UnwindSafe for SourceOp
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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> ⓘ
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> ⓘ
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