diskann 0.55.0

DiskANN3 is a composable library for bringing scalable, accurate and cost-effective vector indexing to multiple databases.
Documentation
/*
 * Copyright (c) Microsoft Corporation.
 * Licensed under the MIT license.
 */

//! Sequential ("flat") search.
//!
//! This module is the streaming counterpart to the random-access
//! [`crate::provider::Accessor`] family. It is designed for backends whose natural access
//! pattern is a one-pass scan over their data -- for example append-only buffered stores or
//! on-disk shards streamed via I/O.
//!
//! # Architecture
//!
//! The module mirrors the layering used by graph search:
//!
//! | Graph (random access)                       | Flat (sequential)                          |  Shared?  |
//! | :------------------------------------       | :----------------------------------------- |:--------- |
//! | [`crate::provider::DataProvider`]           | [`crate::provider::DataProvider`]          | Yes       |
//! | [`crate::graph::DiskANNIndex`]              | [`FlatIndex`]                              | No        |
//! | [`crate::graph::glue::SearchAccessor`]      | [`DistancesUnordered`]                     | No        |
//! | [`crate::graph::glue::SearchStrategy`]      | [`SearchStrategy`]                         | No        |
//! | [`crate::graph::Search`]                    | [`FlatIndex::knn_search`]                  | No        |
//! | [`crate::graph::glue::SearchPostProcess`]   | [`crate::graph::glue::SearchPostProcess`]  | Yes       |
//!
pub mod index;
pub mod strategy;

pub use index::{FlatIndex, SearchStats};
pub use strategy::{DistancesUnordered, SearchStrategy};

#[cfg(test)]
mod test;