pub enum SearchTrigger {
Show 19 variants
None,
VectorSearch,
MultiVectorSearch,
SparseSearch,
TextSearch,
HybridSearch,
TextMatch,
SpatialDWithin,
SpatialContains,
SpatialIntersects,
SpatialWithin,
TimeBucket,
ArraySlice,
ArrayProject,
ArrayAgg,
ArrayElementwise,
ArrayFlush,
ArrayCompact,
GraphSearch,
}Expand description
Whether a function triggers special engine routing.
Variants§
None
VectorSearch
MultiVectorSearch
SparseSearch
Sparse-vector inverted-index search: sparse_score(field, '{dim: weight, ...}')
in ORDER BY routes to SqlPlan::SparseSearch and lowers to
VectorOp::SparseSearch (dot-product top-k over the sparse index).
TextSearch
HybridSearch
TextMatch
SpatialDWithin
SpatialContains
SpatialIntersects
SpatialWithin
TimeBucket
ArraySlice
Array engine table-valued read: ARRAY_SLICE(name, slice_obj, attrs?, limit?).
ArrayProject
Array engine table-valued read: ARRAY_PROJECT(name, attrs).
ArrayAgg
Array engine table-valued aggregate:
ARRAY_AGG(name, attr, reducer, group_by_dim?).
ArrayElementwise
Array engine table-valued elementwise:
ARRAY_ELEMENTWISE(left, right, op, attr).
ArrayFlush
Array engine maintenance scalar (returns BOOL): ARRAY_FLUSH(name).
ArrayCompact
Array engine maintenance scalar (returns BOOL): ARRAY_COMPACT(name).
GraphSearch
Planner-intercepted graph-distance marker for three-source RRF fusion.
graph_score(node_id_col, seed_id, depth => N, label => 'edge_label')
is never evaluated per-row; the hybrid planner extracts its arguments
and builds a graph BFS spec in the physical plan.
Trait Implementations§
Source§impl Clone for SearchTrigger
impl Clone for SearchTrigger
impl Copy for SearchTrigger
Source§impl Debug for SearchTrigger
impl Debug for SearchTrigger
impl Eq for SearchTrigger
Source§impl PartialEq for SearchTrigger
impl PartialEq for SearchTrigger
impl StructuralPartialEq for SearchTrigger
Auto Trait Implementations§
impl Freeze for SearchTrigger
impl RefUnwindSafe for SearchTrigger
impl Send for SearchTrigger
impl Sync for SearchTrigger
impl Unpin for SearchTrigger
impl UnsafeUnpin for SearchTrigger
impl UnwindSafe for SearchTrigger
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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> ⓘ
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<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<T> Scalar for T
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.