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>;
}