#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)]
pub struct DiskANNPageReadStats {
pub page_requests: u64,
pub cache_hits: u64,
pub provider_pages: u64,
pub provider_batches: u64,
}
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)]
pub struct DiskANNScoringStats {
pub documents: u64,
pub vectors: u64,
}
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)]
pub struct DiskANNQueryWork {
pub pages: DiskANNPageReadStats,
pub side_entries: u64,
pub reranked: DiskANNScoringStats,
pub changed: DiskANNScoringStats,
pub unversioned: DiskANNScoringStats,
pub exact: DiskANNScoringStats,
}
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)]
pub struct DiskANNTraversalStats {
pub approximate_expansions: u64,
pub completion_expansions: u64,
pub pq_estimates: u64,
pub beams: u64,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum DiskANNExecutionRoute {
Approximate,
ExactZeroNorm,
ExactNonFiniteNorm,
ExactThreshold,
EmptyK,
}
#[derive(Debug, Clone, Copy, PartialEq)]
pub enum VectorSearchOperation {
KNN { k: usize },
Threshold { threshold: f32 },
}