A vector indexing library to bring fast, fresh and filtered search to your database
Rust
1,932
335 commits
updated Sep 23, 2026
DiskANN3 is a composable library for bringing scalable, accurate and cost-effective vector indexing to multiple databases. It draws on research from the DiskANN project. See the research overview page for more details and references.
To use DiskANN3 in your system, you would implement the DataProvider trait for your store to describe how index terms such as vectors, adjacency lists should be store and retrieved. DiskANN3 provides vector update and query API to users and internally uses the implementation of DataProvider trait to serve these requests.
This repo offers the following Provider implementations as illustrative examples:
The provider for Cosmos DB NoSQL Vector Search is not included here but documented in the VLDB'25 paper.
The library supports the following algorithmic features
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
See guidelines for contributing to this project.
Older C++ code is retained on the cpp_main branch, and implements the following papers, but is not actively developed or maintained.
This was the second rewrite of DiskANN algorithms.
The legacy C++ code was forked off from code for NSG algorithm.
If you use the C++ version in your software please cite the following:
@misc{diskann-github,
author = {Simhadri, Harsha Vardhan and Krishnaswamy, Ravishankar and Srinivasa, Gopal and Subramanya, Suhas Jayaram and Antonijevic, Andrija and Pryce, Dax and Kaczynski, David and Williams, Shane and Gollapudi, Siddarth and Sivashankar, Varun and Karia, Neel and Singh, Aditi and Jaiswal, Shikhar and Mahapatro, Neelam and Adams, Philip and Tower, Bryan and Patel, Yash}},
title = {{DiskANN: Graph-structured Indices for Scalable, Fast, Fresh and Filtered Approximate Nearest Neighbor Search}},
url = {https://github.com/Microsoft/DiskANN},
version = {0.6.1},
year = {2023}
}
[!NOTE] Trademarks: This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft’s Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party’s policies.
Rust
99.9%
A vector indexing library to bring fast, fresh and filtered search to your database
Rust
1,932
335 commits
updated Sep 23, 2026
DiskANN3 is a composable library for bringing scalable, accurate and cost-effective vector indexing to multiple databases. It draws on research from the DiskANN project. See the research overview page for more details and references.
To use DiskANN3 in your system, you would implement the DataProvider trait for your store to describe how index terms such as vectors, adjacency lists should be store and retrieved. DiskANN3 provides vector update and query API to users and internally uses the implementation of DataProvider trait to serve these requests.
This repo offers the following Provider implementations as illustrative examples:
The provider for Cosmos DB NoSQL Vector Search is not included here but documented in the VLDB'25 paper.
The library supports the following algorithmic features
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
See guidelines for contributing to this project.
Older C++ code is retained on the cpp_main branch, and implements the following papers, but is not actively developed or maintained.
This was the second rewrite of DiskANN algorithms.
The legacy C++ code was forked off from code for NSG algorithm.
If you use the C++ version in your software please cite the following:
@misc{diskann-github,
author = {Simhadri, Harsha Vardhan and Krishnaswamy, Ravishankar and Srinivasa, Gopal and Subramanya, Suhas Jayaram and Antonijevic, Andrija and Pryce, Dax and Kaczynski, David and Williams, Shane and Gollapudi, Siddarth and Sivashankar, Varun and Karia, Neel and Singh, Aditi and Jaiswal, Shikhar and Mahapatro, Neelam and Adams, Philip and Tower, Bryan and Patel, Yash}},
title = {{DiskANN: Graph-structured Indices for Scalable, Fast, Fresh and Filtered Approximate Nearest Neighbor Search}},
url = {https://github.com/Microsoft/DiskANN},
version = {0.6.1},
year = {2023}
}
[!NOTE] Trademarks: This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft’s Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party’s policies.
Rust
99.9%