Expand description
Vector query builder for pgvector similarity search.
This module provides SQL query generation for pgvector operations including:
- Similarity search with configurable distance metrics
- Vector insert and upsert operations
- Proper parameter binding for vector data
§Example
use fraiseql_core::utils::vector::{VectorQueryBuilder, VectorSearchQuery};
use fraiseql_core::schema::DistanceMetric;
let builder = VectorQueryBuilder::new();
let query = VectorSearchQuery {
table: "documents".to_string(),
embedding_column: "embedding".to_string(),
select_columns: vec!["id".to_string(), "content".to_string()],
distance_metric: DistanceMetric::Cosine,
limit: 10,
where_clause: None,
order_by: None,
include_distance: false,
offset: None,
};
let (sql, _params) = builder.similarity_search(&query, &[0.1, 0.2, 0.3]);
assert!(sql.contains("documents"));Structs§
- Vector
Insert Query - Configuration for a vector insert/upsert operation.
- Vector
Query Builder - Builder for pgvector SQL queries.
- Vector
Search Query - Configuration for a similarity search query.
Enums§
- Placeholder
Style - Style of parameter placeholders in generated SQL.
- Vector
Param - A SQL parameter value for vector queries.