pub enum MemoryRoute {
Keyword,
Semantic,
Hybrid,
Graph,
Episodic,
}Expand description
Classification of which memory backend(s) to query.
Variants§
Keyword
Full-text search only (SQLite FTS5). Fast, good for keyword/exact queries.
Semantic
Vector search only (Qdrant). Good for semantic/conceptual queries.
Hybrid
Both backends, results merged by reciprocal rank fusion.
Graph
Graph-based retrieval via BFS traversal. Good for relationship queries.
When the graph-memory feature is disabled, callers treat this as Hybrid.
Episodic
FTS5 search with a timestamp-range filter. Used for temporal/episodic queries (“what did we discuss yesterday”, “last week’s conversation about Rust”).
Known trade-off (MVP): skips vector search entirely for speed. Semantically similar
but lexically different messages may be missed. Use Hybrid route when semantic
precision matters more than temporal filtering.
Trait Implementations§
Source§impl Clone for MemoryRoute
impl Clone for MemoryRoute
Source§fn clone(&self) -> MemoryRoute
fn clone(&self) -> MemoryRoute
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MemoryRoute
impl Debug for MemoryRoute
Source§impl PartialEq for MemoryRoute
impl PartialEq for MemoryRoute
impl Copy for MemoryRoute
impl Eq for MemoryRoute
impl StructuralPartialEq for MemoryRoute
Auto Trait Implementations§
impl Freeze for MemoryRoute
impl RefUnwindSafe for MemoryRoute
impl Send for MemoryRoute
impl Sync for MemoryRoute
impl Unpin for MemoryRoute
impl UnsafeUnpin for MemoryRoute
impl UnwindSafe for MemoryRoute
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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<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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request