pub struct KeyValueHNSWIndex { /* private fields */ }Implementations§
Source§impl KeyValueHNSWIndex
impl KeyValueHNSWIndex
pub fn create( store: Arc<dyn KeyValueStore>, table: impl Into<String>, field: impl Into<String>, dimensions: u32, params: HNSWIndexParams, ) -> StorageBackendResult<Self>
pub fn restore( store: Arc<dyn KeyValueStore>, table: impl Into<String>, field: impl Into<String>, dimensions: u32, params: HNSWIndexParams, ) -> StorageBackendResult<Self>
Trait Implementations§
Source§impl VectorIndex for KeyValueHNSWIndex
impl VectorIndex for KeyValueHNSWIndex
fn dimensions(&self) -> u32
fn index_kind(&self) -> &'static str
fn add(&mut self, doc_id: DocId, vector: Vec<f32>) -> StorageBackendResult<()>
fn add_many( &mut self, doc_id: DocId, vectors: Vec<Vec<f32>>, ) -> StorageBackendResult<()>
fn delete(&mut self, doc_id: DocId) -> StorageBackendResult<()>
fn clear(&mut self) -> StorageBackendResult<()>
fn search_knn( &self, query: &[f32], k: usize, ) -> StorageBackendResult<PostingList>
fn search_threshold( &self, query: &[f32], threshold: f32, ) -> StorageBackendResult<PostingList>
fn count(&self) -> StorageBackendResult<usize>
Source§fn initialize(&mut self) -> StorageBackendResult<()>
fn initialize(&mut self) -> StorageBackendResult<()>
Build any auxiliary physical metadata required by this index from its
current vector contents. Brute-force indexes need no extra work;
persistent IVF and HNSW implementations use this during explicit
index creation, while restore paths deliberately skip it.
Source§fn snapshot(&self) -> StorageBackendResult<Arc<dyn VectorIndex>>
fn snapshot(&self) -> StorageBackendResult<Arc<dyn VectorIndex>>
Read-only handle suitable for an
ExecutionContext.Source§fn writable_snapshot(&self) -> StorageBackendResult<Box<dyn VectorIndex>>
fn writable_snapshot(&self) -> StorageBackendResult<Box<dyn VectorIndex>>
Independent writable copy used by in-memory engine rollback. The
default keeps third-party and persistent implementations source
compatible; only indexes hosted by a memory engine need to support it.
Auto Trait Implementations§
impl !Freeze for KeyValueHNSWIndex
impl !RefUnwindSafe for KeyValueHNSWIndex
impl !UnwindSafe for KeyValueHNSWIndex
impl Send for KeyValueHNSWIndex
impl Sync for KeyValueHNSWIndex
impl Unpin for KeyValueHNSWIndex
impl UnsafeUnpin for KeyValueHNSWIndex
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