pub struct VectorStore { /* private fields */ }Expand description
Vector store using HNSW for fast similarity search
Implementations§
Source§impl VectorStore
impl VectorStore
Sourcepub fn new(config: VectorStoreConfig) -> Result<Self>
pub fn new(config: VectorStoreConfig) -> Result<Self>
Create a new vector store
Sourcepub fn add_chunk(
&self,
chunk: DocumentChunk,
embedding: &[f32],
) -> Result<usize>
pub fn add_chunk( &self, chunk: DocumentChunk, embedding: &[f32], ) -> Result<usize>
Add a document chunk with its embedding
Sourcepub fn search(
&self,
query_embedding: &[f32],
top_k: usize,
) -> Result<Vec<SearchResult>>
pub fn search( &self, query_embedding: &[f32], top_k: usize, ) -> Result<Vec<SearchResult>>
Search for similar chunks
Sourcepub fn get_chunk(&self, id: usize) -> Result<DocumentChunk>
pub fn get_chunk(&self, id: usize) -> Result<DocumentChunk>
Get a chunk by internal ID
Sourcepub fn stats(&self) -> VectorStoreStats
pub fn stats(&self) -> VectorStoreStats
Get statistics
Auto Trait Implementations§
impl Freeze for VectorStore
impl RefUnwindSafe for VectorStore
impl Send for VectorStore
impl Sync for VectorStore
impl Unpin for VectorStore
impl UnwindSafe for VectorStore
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