pub struct Searcher { /* private fields */ }Expand description
Searcher — vector + keyword search over the AiMem store.
Implementations§
Source§impl Searcher
impl Searcher
pub fn new(db: AimemDb, embedder: Arc<dyn Embedder>) -> Self
pub fn keyword_only(db: AimemDb) -> Self
pub fn embedder(&self) -> Option<Arc<dyn Embedder>>
Sourcepub async fn vector_search(
&self,
query: &str,
wing: Option<&str>,
room: Option<&str>,
limit: usize,
) -> Result<Vec<SearchResult>, SearchError>
pub async fn vector_search( &self, query: &str, wing: Option<&str>, room: Option<&str>, limit: usize, ) -> Result<Vec<SearchResult>, SearchError>
Semantic vector search using Turso’s vector_distance_cos.
Sourcepub async fn keyword_search(
&self,
query: &str,
wing: Option<&str>,
room: Option<&str>,
limit: usize,
) -> Result<Vec<Drawer>, SearchError>
pub async fn keyword_search( &self, query: &str, wing: Option<&str>, room: Option<&str>, limit: usize, ) -> Result<Vec<Drawer>, SearchError>
Keyword search using SQL LIKE.
Sourcepub async fn keyword_fallback_search(
&self,
query: &str,
wing: Option<&str>,
room: Option<&str>,
limit: usize,
) -> Result<Vec<Drawer>, SearchError>
pub async fn keyword_fallback_search( &self, query: &str, wing: Option<&str>, room: Option<&str>, limit: usize, ) -> Result<Vec<Drawer>, SearchError>
Keyword search with token fallback.
Sourcepub async fn find_duplicates(
&self,
content: &str,
threshold: f32,
limit: usize,
) -> Result<Vec<SearchResult>, SearchError>
pub async fn find_duplicates( &self, content: &str, threshold: f32, limit: usize, ) -> Result<Vec<SearchResult>, SearchError>
Duplicate check.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Searcher
impl !RefUnwindSafe for Searcher
impl Send for Searcher
impl Sync for Searcher
impl Unpin for Searcher
impl UnsafeUnpin for Searcher
impl !UnwindSafe for Searcher
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 more