pub struct FusionParams {
pub query_vector: Option<Vec<f32>>,
pub vector_top_k: Option<usize>,
pub expansion_depth: Option<usize>,
pub edge_label: Option<String>,
pub final_top_k: Option<usize>,
pub rrf_k: Option<(f64, f64)>,
pub rrf_k_triple: Option<(f64, f64, f64)>,
pub vector_field: Option<String>,
pub direction: Option<GraphDirection>,
pub max_visited: Option<usize>,
pub bm25_query: Option<String>,
pub bm25_field: Option<String>,
}Expand description
Typed parameter bag for every graph-vector fusion SQL surface.
All fields are optional at parse time — bounds, caps, and “absent but required” errors are enforced at the pgwire boundary.
Three-source fusion (vector + text + graph) is enabled by populating
bm25_query and bm25_field together with rrf_k_triple. When only
rrf_k is set (two values), behaviour is unchanged from the two-source
form. When rrf_k_triple is set it takes precedence and the BM25 leg
participates in the fusion.
Fields§
§query_vector: Option<Vec<f32>>§vector_top_k: Option<usize>§expansion_depth: Option<usize>§edge_label: Option<String>§final_top_k: Option<usize>§rrf_k: Option<(f64, f64)>Two-source RRF k constants: (vector_k, graph_k). Used when no
bm25_query is present (backwards-compatible two-source form).
rrf_k_triple: Option<(f64, f64, f64)>Three-source RRF k constants: (vector_k, text_k, graph_k). Set
when RRF_K (kv, kt, kg) is parsed and three values are found.
vector_field: Option<String>§direction: Option<GraphDirection>§max_visited: Option<usize>§bm25_query: Option<String>BM25 query string for the text leg of three-source fusion. Parsed
from BM25 'query string' ON 'field_name' in the FUSION DSL.
bm25_field: Option<String>Document field on which BM25 scoring is applied in three-source fusion.
Trait Implementations§
Source§impl Clone for FusionParams
impl Clone for FusionParams
Source§fn clone(&self) -> FusionParams
fn clone(&self) -> FusionParams
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for FusionParams
impl Debug for FusionParams
Source§impl Default for FusionParams
impl Default for FusionParams
Source§fn default() -> FusionParams
fn default() -> FusionParams
Source§impl PartialEq for FusionParams
impl PartialEq for FusionParams
Source§fn eq(&self, other: &FusionParams) -> bool
fn eq(&self, other: &FusionParams) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for FusionParams
Auto Trait Implementations§
impl Freeze for FusionParams
impl RefUnwindSafe for FusionParams
impl Send for FusionParams
impl Sync for FusionParams
impl Unpin for FusionParams
impl UnsafeUnpin for FusionParams
impl UnwindSafe for FusionParams
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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,
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.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>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
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
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.