pub struct HeuristicRouter;Expand description
Heuristic-based memory router.
Decision logic:
- If query contains code-like patterns (paths,
::, puresnake_caseidentifiers) AND does NOT start with a question word → Keyword - If query is a natural language question or long → Semantic
- Default → Hybrid
Trait Implementations§
Source§impl MemoryRouter for HeuristicRouter
impl MemoryRouter for HeuristicRouter
Source§fn route(&self, query: &str) -> MemoryRoute
fn route(&self, query: &str) -> MemoryRoute
Route a query to the appropriate backend(s).
Auto Trait Implementations§
impl Freeze for HeuristicRouter
impl RefUnwindSafe for HeuristicRouter
impl Send for HeuristicRouter
impl Sync for HeuristicRouter
impl Unpin for HeuristicRouter
impl UnsafeUnpin for HeuristicRouter
impl UnwindSafe for HeuristicRouter
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 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