oxirs_vec/diskann/mod.rs
1//! DiskANN - Disk-based Approximate Nearest Neighbor Search
2//!
3//! Implementation of Microsoft's DiskANN algorithm for billion-scale vector search.
4//! DiskANN is optimized for SSD storage and can handle datasets too large for RAM.
5//!
6//! ## Key Features
7//! - Disk-based storage with memory-mapped files
8//! - SSD-optimized I/O patterns
9//! - Vamana graph for efficient navigation
10//! - Streaming search without full index loading
11//! - Incremental updates support
12//!
13//! ## Architecture
14//! - **In-memory layer**: Hot vectors and navigation graph
15//! - **Disk layer**: Full vector dataset on SSD
16//! - **Compressed layer**: Optionally compressed vectors (PQ)
17//!
18//! ## References
19//! - DiskANN paper: <https://proceedings.neurips.cc/paper/2019/file/09853c7fb1d3f8ee67a61b6bf4a7f8e6-Paper.pdf>
20
21pub mod builder;
22pub mod config;
23pub mod graph;
24pub mod index;
25pub mod search;
26pub mod storage;
27pub mod types;
28
29pub use builder::{DiskAnnBuildStats, DiskAnnBuilder};
30pub use config::{DiskAnnConfig, PruningStrategy, SearchMode};
31pub use graph::{VamanaGraph, VamanaNode};
32pub use index::{DiskAnnIndex, IndexMetadata};
33pub use search::{BeamSearch, SearchStats};
34pub use storage::{DiskStorage, MemoryMappedStorage, StorageBackend};
35pub use types::{DiskAnnError, DiskAnnResult, NodeId, VectorId};