Skip to main content

Module vector

Module vector 

Source
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§

VectorInsertQuery
Configuration for a vector insert/upsert operation.
VectorQueryBuilder
Builder for pgvector SQL queries.
VectorSearchQuery
Configuration for a similarity search query.

Enums§

PlaceholderStyle
Style of parameter placeholders in generated SQL.
VectorParam
A SQL parameter value for vector queries.