pub struct VectorStore { /* private fields */ }Expand description
Brute-force vector store (exact nearest-neighbor search).
Suitable for up to ~100K vectors. For larger datasets, use IVF. The flat layout is GPU-friendly — vectors are stored contiguously for efficient parallel distance computation.
Implementations§
Source§impl VectorStore
impl VectorStore
Sourcepub fn new(config: VectorStoreConfig) -> Self
pub fn new(config: VectorStoreConfig) -> Self
Create a new vector store.
Sourcepub fn insert(&mut self, entry: VectorEntry) -> Result<(), VectorStoreError>
pub fn insert(&mut self, entry: VectorEntry) -> Result<(), VectorStoreError>
Insert a vector.
Sourcepub fn search(
&self,
query: &[f32],
k: usize,
) -> Result<Vec<SearchResult>, VectorStoreError>
pub fn search( &self, query: &[f32], k: usize, ) -> Result<Vec<SearchResult>, VectorStoreError>
Search for the top-K nearest neighbors.
Sourcepub fn flat_vectors(&self) -> &[f32]
pub fn flat_vectors(&self) -> &[f32]
Get the flat vector data (for GPU upload).
Returns a contiguous f32 slice of shape [count × dimensions].
Sourcepub fn dimensions(&self) -> u32
pub fn dimensions(&self) -> u32
Dimensionality.
Auto Trait Implementations§
impl Freeze for VectorStore
impl RefUnwindSafe for VectorStore
impl Send for VectorStore
impl Sync for VectorStore
impl Unpin for VectorStore
impl UnsafeUnpin for VectorStore
impl UnwindSafe for VectorStore
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.