Skip to main content

RuntimeQueryPort

Trait RuntimeQueryPort 

Source
pub trait RuntimeQueryPort {
    // Required methods
    fn execute_query(
        &self,
        query: &str,
    ) -> Result<RuntimeQueryResult, RedDBError>;
    fn explain_query(
        &self,
        query: &str,
    ) -> Result<RuntimeQueryExplain, RedDBError>;
    fn scan_collection(
        &self,
        collection: &str,
        cursor: Option<ScanCursor>,
        limit: usize,
    ) -> Result<ScanPage, RedDBError>;
    fn search_similar(
        &self,
        collection: &str,
        vector: &[f32],
        k: usize,
        min_score: f32,
    ) -> Result<Vec<SimilarResult>, RedDBError>;
    fn search_ivf(
        &self,
        collection: &str,
        vector: &[f32],
        k: usize,
        n_lists: usize,
        n_probes: Option<usize>,
    ) -> Result<RuntimeIvfSearchResult, RedDBError>;
    fn search_hybrid(
        &self,
        vector: Option<Vec<f32>>,
        query: Option<String>,
        k: Option<usize>,
        collections: Option<Vec<String>>,
        entity_types: Option<Vec<String>>,
        capabilities: Option<Vec<String>>,
        graph_pattern: Option<RuntimeGraphPattern>,
        filters: Vec<RuntimeFilter>,
        weights: Option<RuntimeQueryWeights>,
        min_score: Option<f32>,
        limit: Option<usize>,
    ) -> Result<QueryResult, RedDBError>;
    fn search_text(
        &self,
        query: String,
        collections: Option<Vec<String>>,
        entity_types: Option<Vec<String>>,
        capabilities: Option<Vec<String>>,
        fields: Option<Vec<String>>,
        limit: Option<usize>,
        fuzzy: bool,
    ) -> Result<QueryResult, RedDBError>;
    fn search_multimodal(
        &self,
        query: String,
        collections: Option<Vec<String>>,
        entity_types: Option<Vec<String>>,
        capabilities: Option<Vec<String>>,
        limit: Option<usize>,
    ) -> Result<QueryResult, RedDBError>;
    fn search_index(
        &self,
        index: String,
        value: String,
        exact: bool,
        collections: Option<Vec<String>>,
        entity_types: Option<Vec<String>>,
        capabilities: Option<Vec<String>>,
        limit: Option<usize>,
    ) -> Result<QueryResult, RedDBError>;
    fn search_context(
        &self,
        input: SearchContextInput,
    ) -> Result<ContextSearchResult, RedDBError>;
    fn resolve_semantic_api_key(
        &self,
        provider: &AiProvider,
    ) -> Result<String, RedDBError>;
}

Required Methods§

Source

fn execute_query(&self, query: &str) -> Result<RuntimeQueryResult, RedDBError>

Source

fn explain_query(&self, query: &str) -> Result<RuntimeQueryExplain, RedDBError>

Source

fn scan_collection( &self, collection: &str, cursor: Option<ScanCursor>, limit: usize, ) -> Result<ScanPage, RedDBError>

Source

fn search_similar( &self, collection: &str, vector: &[f32], k: usize, min_score: f32, ) -> Result<Vec<SimilarResult>, RedDBError>

Source

fn search_ivf( &self, collection: &str, vector: &[f32], k: usize, n_lists: usize, n_probes: Option<usize>, ) -> Result<RuntimeIvfSearchResult, RedDBError>

Source

fn search_hybrid( &self, vector: Option<Vec<f32>>, query: Option<String>, k: Option<usize>, collections: Option<Vec<String>>, entity_types: Option<Vec<String>>, capabilities: Option<Vec<String>>, graph_pattern: Option<RuntimeGraphPattern>, filters: Vec<RuntimeFilter>, weights: Option<RuntimeQueryWeights>, min_score: Option<f32>, limit: Option<usize>, ) -> Result<QueryResult, RedDBError>

Source

fn search_text( &self, query: String, collections: Option<Vec<String>>, entity_types: Option<Vec<String>>, capabilities: Option<Vec<String>>, fields: Option<Vec<String>>, limit: Option<usize>, fuzzy: bool, ) -> Result<QueryResult, RedDBError>

Source

fn search_multimodal( &self, query: String, collections: Option<Vec<String>>, entity_types: Option<Vec<String>>, capabilities: Option<Vec<String>>, limit: Option<usize>, ) -> Result<QueryResult, RedDBError>

Source

fn search_index( &self, index: String, value: String, exact: bool, collections: Option<Vec<String>>, entity_types: Option<Vec<String>>, capabilities: Option<Vec<String>>, limit: Option<usize>, ) -> Result<QueryResult, RedDBError>

Source

fn search_context( &self, input: SearchContextInput, ) -> Result<ContextSearchResult, RedDBError>

Source

fn resolve_semantic_api_key( &self, provider: &AiProvider, ) -> Result<String, RedDBError>

Implementors§