pub struct ContextualEmbeddingSearch { /* private fields */ }Expand description
Context-aware embedding search engine with query expansion, negative suppression, and diversity-aware re-ranking.
Implementations§
Source§impl ContextualEmbeddingSearch
impl ContextualEmbeddingSearch
Sourcepub fn add_document(&mut self, doc: SearchDoc) -> Result<(), SearchError>
pub fn add_document(&mut self, doc: SearchDoc) -> Result<(), SearchError>
Add a document to the index.
The first document sets the expected embedding dimension for all subsequent insertions and queries.
Sourcepub fn remove_document(&mut self, id: &str) -> Result<(), SearchError>
pub fn remove_document(&mut self, id: &str) -> Result<(), SearchError>
Remove a document from the index by ID.
Sourcepub fn search(
&mut self,
query: &[f64],
context: &SearchContext,
config: &SearchConfig,
) -> Result<Vec<ContextualResult>, SearchError>
pub fn search( &mut self, query: &[f64], context: &SearchContext, config: &SearchConfig, ) -> Result<Vec<ContextualResult>, SearchError>
Search the index.
§Errors
SearchError::IndexEmpty— no documents indexed.SearchError::DimensionMismatch— query dimension doesn’t match index.SearchError::ConfigurationError—top_k == 0orrerank_top_n == 0.
Sourcepub fn update_context(
&self,
context: &mut SearchContext,
query: &[f64],
query_text: String,
)
pub fn update_context( &self, context: &mut SearchContext, query: &[f64], query_text: String, )
Record a new query into context.
Adds query_text to query_history and appends the corresponding embedding.
Sourcepub fn batch_search(
&mut self,
queries: &[Vec<f64>],
context: &SearchContext,
config: &SearchConfig,
) -> Result<Vec<Vec<ContextualResult>>, SearchError>
pub fn batch_search( &mut self, queries: &[Vec<f64>], context: &SearchContext, config: &SearchConfig, ) -> Result<Vec<Vec<ContextualResult>>, SearchError>
Execute multiple independent searches sharing the same context and config.
Sourcepub fn stats(&self) -> SearchStats
pub fn stats(&self) -> SearchStats
Return accumulated search statistics.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ContextualEmbeddingSearch
impl RefUnwindSafe for ContextualEmbeddingSearch
impl Send for ContextualEmbeddingSearch
impl Sync for ContextualEmbeddingSearch
impl Unpin for ContextualEmbeddingSearch
impl UnsafeUnpin for ContextualEmbeddingSearch
impl UnwindSafe for ContextualEmbeddingSearch
Blanket Implementations§
impl<T> Allocation for T
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> 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> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
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>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.