pub struct HnswMemoryIndex { /* private fields */ }Expand description
HNSW index manager for memory entries.
Maintains a mapping from u64 keys to String IDs, and the HNSW index
itself. Thread-safe via RwLock.
Implementations§
Source§impl HnswMemoryIndex
impl HnswMemoryIndex
Sourcepub fn new(
dimensions: usize,
capacity: usize,
persist_path: Option<PathBuf>,
) -> Result<HnswMemoryIndex, Error>
pub fn new( dimensions: usize, capacity: usize, persist_path: Option<PathBuf>, ) -> Result<HnswMemoryIndex, Error>
Create a new HNSW memory index.
§Arguments
dimensions— Embedding vector dimensions.capacity— Initial capacity hint.persist_path— Optional directory for index file persistence.
Sourcepub fn restore_or_new(
dimensions: usize,
capacity: usize,
persist_path: Option<PathBuf>,
) -> Result<HnswMemoryIndex, Error>
pub fn restore_or_new( dimensions: usize, capacity: usize, persist_path: Option<PathBuf>, ) -> Result<HnswMemoryIndex, Error>
Try to restore from disk, fall back to new index.
Sourcepub fn add_entry(&self, id: &str, vector: &[f32]) -> Result<(), Error>
pub fn add_entry(&self, id: &str, vector: &[f32]) -> Result<(), Error>
Add an entry to the HNSW index.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for HnswMemoryIndex
impl !RefUnwindSafe for HnswMemoryIndex
impl !UnwindSafe for HnswMemoryIndex
impl Send for HnswMemoryIndex
impl Sync for HnswMemoryIndex
impl Unpin for HnswMemoryIndex
impl UnsafeUnpin for HnswMemoryIndex
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