pub struct VectorSearch { /* private fields */ }Expand description
Vector search operations for PostgreSQL with pgvector
Implementations§
Source§impl VectorSearch
impl VectorSearch
Sourcepub fn new(pool: PgPool, embedding_dimension: usize) -> Self
pub fn new(pool: PgPool, embedding_dimension: usize) -> Self
Create a new vector search instance
Sourcepub async fn initialize(&self) -> Result<()>
pub async fn initialize(&self) -> Result<()>
Initialize pgvector extension
Sourcepub async fn search_by_embedding(
&self,
params: SearchMemoriesParams,
) -> Result<Vec<Memory>>
pub async fn search_by_embedding( &self, params: SearchMemoriesParams, ) -> Result<Vec<Memory>>
Search memories by embedding similarity
Sourcepub async fn add_embedding(
&self,
memory_id: UUID,
embedding: Vec<f32>,
) -> Result<()>
pub async fn add_embedding( &self, memory_id: UUID, embedding: Vec<f32>, ) -> Result<()>
Add embedding to existing memory
Auto Trait Implementations§
impl Freeze for VectorSearch
impl !RefUnwindSafe for VectorSearch
impl Send for VectorSearch
impl Sync for VectorSearch
impl Unpin for VectorSearch
impl !UnwindSafe for VectorSearch
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more