pub struct FederatedQueryExecutor { /* private fields */ }Expand description
Federated query executor
Implementations§
Source§impl FederatedQueryExecutor
impl FederatedQueryExecutor
Sourcepub fn new(config: FederatedConfig) -> Self
pub fn new(config: FederatedConfig) -> Self
Create a new federated query executor
Sourcepub fn register_index(&self, index: Arc<dyn QueryableIndex>) -> Result<()>
pub fn register_index(&self, index: Arc<dyn QueryableIndex>) -> Result<()>
Register an index for federated queries
Sourcepub fn unregister_index(&self, index_id: &str) -> Result<()>
pub fn unregister_index(&self, index_id: &str) -> Result<()>
Unregister an index
Sourcepub async fn query(
&self,
embedding: &[f32],
k: usize,
) -> Result<Vec<FederatedSearchResult>>
pub async fn query( &self, embedding: &[f32], k: usize, ) -> Result<Vec<FederatedSearchResult>>
Execute a federated query across all registered indices
Sourcepub async fn query_indices(
&self,
embedding: &[f32],
k: usize,
index_ids: &[String],
) -> Result<Vec<FederatedSearchResult>>
pub async fn query_indices( &self, embedding: &[f32], k: usize, index_ids: &[String], ) -> Result<Vec<FederatedSearchResult>>
Query specific indices only
Sourcepub fn stats(&self) -> FederatedQueryStats
pub fn stats(&self) -> FederatedQueryStats
Get query statistics
Sourcepub fn registered_indices(&self) -> Vec<String>
pub fn registered_indices(&self) -> Vec<String>
Get list of registered index IDs
Sourcepub fn total_size(&self) -> usize
pub fn total_size(&self) -> usize
Get total size across all registered indices
Auto Trait Implementations§
impl Freeze for FederatedQueryExecutor
impl !RefUnwindSafe for FederatedQueryExecutor
impl Send for FederatedQueryExecutor
impl Sync for FederatedQueryExecutor
impl Unpin for FederatedQueryExecutor
impl !UnwindSafe for FederatedQueryExecutor
Blanket Implementations§
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
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
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.