pub struct VectorSearchQuery {Show 14 fields
pub table: String,
pub column: String,
pub query_vector: Embedding,
pub metric: DistanceMetric,
pub limit: usize,
pub select_columns: Vec<String>,
pub where_clauses: Vec<String>,
pub include_distance: bool,
pub distance_alias: String,
pub max_distance: Option<f64>,
pub min_distance: Option<f64>,
pub extra_order_by: Vec<String>,
pub offset: Option<usize>,
pub search_params: SearchParams,
}Expand description
A fully constructed vector search query ready for execution.
Fields§
§table: StringThe table to search.
column: StringThe vector column.
query_vector: EmbeddingThe query vector.
metric: DistanceMetricDistance metric.
limit: usizeMaximum number of results.
select_columns: Vec<String>Columns to select (empty = all).
where_clauses: Vec<String>Additional WHERE conditions.
include_distance: boolWhether to include the distance in results.
distance_alias: StringAlias for the distance column.
max_distance: Option<f64>Maximum distance threshold (radius search).
min_distance: Option<f64>Minimum distance threshold.
extra_order_by: Vec<String>Additional ORDER BY clauses (after distance).
offset: Option<usize>Offset for pagination.
search_params: SearchParamsSearch parameters (probes, ef_search).
Implementations§
Source§impl VectorSearchQuery
impl VectorSearchQuery
Sourcepub fn to_sql(&self) -> String
pub fn to_sql(&self) -> String
Generate the complete SQL query.
The query vector should be passed as parameter $1.
Sourcepub fn to_sql_with_param(&self, param_index: usize) -> String
pub fn to_sql_with_param(&self, param_index: usize) -> String
Generate the complete SQL query with a custom parameter index.
Sourcepub fn param_set_sql(&self) -> Vec<String>
pub fn param_set_sql(&self) -> Vec<String>
Generate SET commands for search parameters.
These should be executed before the search query to tune index scan behavior.
Trait Implementations§
Source§impl Clone for VectorSearchQuery
impl Clone for VectorSearchQuery
Source§fn clone(&self) -> VectorSearchQuery
fn clone(&self) -> VectorSearchQuery
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for VectorSearchQuery
impl Debug for VectorSearchQuery
Source§impl<'de> Deserialize<'de> for VectorSearchQuery
impl<'de> Deserialize<'de> for VectorSearchQuery
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for VectorSearchQuery
impl RefUnwindSafe for VectorSearchQuery
impl Send for VectorSearchQuery
impl Sync for VectorSearchQuery
impl Unpin for VectorSearchQuery
impl UnsafeUnpin for VectorSearchQuery
impl UnwindSafe for VectorSearchQuery
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