pub struct VectorQueryBuilder { /* private fields */ }Expand description
Builder for pgvector SQL queries.
This struct generates SQL for vector similarity search and manipulation
operations using PostgreSQL’s pgvector extension.
Implementations§
Source§impl VectorQueryBuilder
impl VectorQueryBuilder
Sourcepub fn with_question_marks() -> Self
pub fn with_question_marks() -> Self
Create a builder with question mark placeholders.
Sourcepub fn similarity_search(
&self,
query: &VectorSearchQuery,
query_embedding: &[f32],
) -> (String, Vec<VectorParam>)
pub fn similarity_search( &self, query: &VectorSearchQuery, query_embedding: &[f32], ) -> (String, Vec<VectorParam>)
Build a similarity search query.
Generates SQL like:
SELECT id, content, (embedding <=> $1::vector) AS distance
FROM documents
WHERE metadata->>'type' = 'article'
ORDER BY embedding <=> $1::vector
LIMIT 10§Arguments
query- The search query configurationquery_embedding- The embedding vector to search for
§Returns
A tuple of (SQL string, parameter values)
Sourcepub fn insert_one(
&self,
query: &VectorInsertQuery,
values: &[VectorParam],
) -> (String, Vec<VectorParam>)
pub fn insert_one( &self, query: &VectorInsertQuery, values: &[VectorParam], ) -> (String, Vec<VectorParam>)
Build a single vector insert query.
Generates SQL like:
INSERT INTO documents (id, content, embedding)
VALUES ($1, $2, $3::vector)
RETURNING idSourcepub fn insert_batch(
&self,
query: &VectorInsertQuery,
rows: &[Vec<VectorParam>],
) -> (String, Vec<VectorParam>)
pub fn insert_batch( &self, query: &VectorInsertQuery, rows: &[Vec<VectorParam>], ) -> (String, Vec<VectorParam>)
Build a batch vector insert query.
Generates SQL like:
INSERT INTO documents (id, content, embedding)
VALUES
($1, $2, $3::vector),
($4, $5, $6::vector),
($7, $8, $9::vector)
RETURNING idSourcepub fn create_index(
&self,
config: &VectorConfig,
table: &str,
column: &str,
) -> Option<String>
pub fn create_index( &self, config: &VectorConfig, table: &str, column: &str, ) -> Option<String>
Build a query to create a vector index.
Generates SQL like:
CREATE INDEX ON documents USING hnsw (embedding vector_cosine_ops)Trait Implementations§
Source§impl Clone for VectorQueryBuilder
impl Clone for VectorQueryBuilder
Source§fn clone(&self) -> VectorQueryBuilder
fn clone(&self) -> VectorQueryBuilder
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 VectorQueryBuilder
impl Debug for VectorQueryBuilder
Source§impl Default for VectorQueryBuilder
impl Default for VectorQueryBuilder
Source§fn default() -> VectorQueryBuilder
fn default() -> VectorQueryBuilder
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for VectorQueryBuilder
impl RefUnwindSafe for VectorQueryBuilder
impl Send for VectorQueryBuilder
impl Sync for VectorQueryBuilder
impl Unpin for VectorQueryBuilder
impl UnsafeUnpin for VectorQueryBuilder
impl UnwindSafe for VectorQueryBuilder
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