pub struct HybridQuery {
pub alias: Option<String>,
pub structured: Box<QueryExpr>,
pub vector: VectorQuery,
pub fusion: FusionStrategy,
pub limit: Option<usize>,
}Expand description
Hybrid query combining structured (table/graph) and vector search
FROM hosts h
JOIN VECTOR embeddings e ON h.id = e.metadata.host_id
SIMILAR TO 'ssh vulnerability'
WHERE h.os = 'Linux'
RETURN h.*, e.distanceFields§
§alias: Option<String>Optional outer alias when used as a join source
structured: Box<QueryExpr>Structured query part (table/graph)
vector: VectorQueryVector search part
fusion: FusionStrategyHow to combine results
limit: Option<usize>Final result limit
Implementations§
Source§impl HybridQuery
impl HybridQuery
Sourcepub fn new(structured: QueryExpr, vector: VectorQuery) -> Self
pub fn new(structured: QueryExpr, vector: VectorQuery) -> Self
Create a new hybrid query
Sourcepub fn with_fusion(self, fusion: FusionStrategy) -> Self
pub fn with_fusion(self, fusion: FusionStrategy) -> Self
Set fusion strategy
Trait Implementations§
Source§impl Clone for HybridQuery
impl Clone for HybridQuery
Source§fn clone(&self) -> HybridQuery
fn clone(&self) -> HybridQuery
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for HybridQuery
impl RefUnwindSafe for HybridQuery
impl Send for HybridQuery
impl Sync for HybridQuery
impl Unpin for HybridQuery
impl UnsafeUnpin for HybridQuery
impl UnwindSafe for HybridQuery
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> 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>
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 moreSource§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