pub struct QueryUseCase<S, I> { /* private fields */ }Implementations§
Source§impl<S: GraphStore, I: SearchIndex> QueryUseCase<S, I>
impl<S: GraphStore, I: SearchIndex> QueryUseCase<S, I>
pub fn new(store: S, index: I) -> Self
pub fn with_hybrid( store: S, index: I, vector_store: Option<Arc<dyn VectorStore>>, embedding_provider: Option<Arc<dyn EmbeddingProvider>>, ) -> Self
pub fn find(&self, pattern: &str) -> Result<Vec<SymbolNode>>
pub fn refs(&self, qualified_name: &str) -> Result<Vec<Reference>>
pub fn callers(&self, qualified_name: &str) -> Result<Vec<Reference>>
pub fn callees(&self, qualified_name: &str) -> Result<Vec<Reference>>
pub fn search(&self, query: &str, limit: usize) -> Result<Vec<SearchResult>>
Sourcepub fn hybrid_search(
&self,
query: &str,
limit: usize,
mode: SearchMode,
config: &HybridSearchConfig,
) -> Result<Vec<SearchResult>>
pub fn hybrid_search( &self, query: &str, limit: usize, mode: SearchMode, config: &HybridSearchConfig, ) -> Result<Vec<SearchResult>>
Hybrid search combining FTS and/or semantic vector search with RRF fusion.
Falls back to FTS when mode == Hybrid but no vector store is available.
pub fn stats(&self) -> Result<GraphStats>
Auto Trait Implementations§
impl<S, I> Freeze for QueryUseCase<S, I>
impl<S, I> !RefUnwindSafe for QueryUseCase<S, I>
impl<S, I> Send for QueryUseCase<S, I>
impl<S, I> Sync for QueryUseCase<S, I>
impl<S, I> Unpin for QueryUseCase<S, I>
impl<S, I> UnsafeUnpin for QueryUseCase<S, I>where
S: UnsafeUnpin,
I: UnsafeUnpin,
impl<S, I> !UnwindSafe for QueryUseCase<S, I>
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