pub struct ConversationalSearch { /* private fields */ }Expand description
User-facing conversational memory search engine.
Wraps RecallEngine with query classification, LRU caching,
and performance metrics for sub-50ms search.
Implementations§
Source§impl ConversationalSearch
impl ConversationalSearch
Sourcepub fn new(recall: Arc<RecallEngine>, config: ConversationalConfig) -> Self
pub fn new(recall: Arc<RecallEngine>, config: ConversationalConfig) -> Self
Create a new conversational search engine.
Sourcepub fn with_defaults(recall: Arc<RecallEngine>) -> Self
pub fn with_defaults(recall: Arc<RecallEngine>) -> Self
Create with default configuration.
Sourcepub fn search(
&self,
query: &str,
limit: Option<usize>,
) -> Vec<ConversationalResult>
pub fn search( &self, query: &str, limit: Option<usize>, ) -> Vec<ConversationalResult>
Search for memories matching the query.
Returns ranked results with snippets. Uses cache when available.
Sourcepub fn search_in_galaxy(
&self,
query: &str,
limit: Option<usize>,
galaxy: Option<Galaxy>,
) -> Vec<ConversationalResult>
pub fn search_in_galaxy( &self, query: &str, limit: Option<usize>, galaxy: Option<Galaxy>, ) -> Vec<ConversationalResult>
Search within a specific galaxy.
Sourcepub fn classify(&self, query: &str) -> QueryClassification
pub fn classify(&self, query: &str) -> QueryClassification
Classify a query without performing search.
Sourcepub fn metrics(&self) -> SearchMetrics
pub fn metrics(&self) -> SearchMetrics
Get current performance metrics.
Sourcepub fn clear_cache(&self)
pub fn clear_cache(&self)
Clear the query cache.
Sourcepub fn recall(&self) -> &RecallEngine
pub fn recall(&self) -> &RecallEngine
Get the underlying recall engine.
Sourcepub const fn config(&self) -> &ConversationalConfig
pub const fn config(&self) -> &ConversationalConfig
Get the configuration.
Auto Trait Implementations§
impl !Freeze for ConversationalSearch
impl !RefUnwindSafe for ConversationalSearch
impl !UnwindSafe for ConversationalSearch
impl Send for ConversationalSearch
impl Sync for ConversationalSearch
impl Unpin for ConversationalSearch
impl UnsafeUnpin for ConversationalSearch
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> Fruit for T
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 more