NMSLIB

NMSLIB is an efficient similarity search library and toolkit for high-dimensional vector spaces, supporting a variety of indexing algorithms for vector database use cases.

About this tool

NMSLIB

NMSLIB (Non-Metric Space Library) is an efficient and extensible similarity search library and toolkit for high-dimensional vector spaces, with a particular focus on generic and non-metric spaces. It is widely used for approximate nearest neighbor (ANN) search and evaluation of k-NN methods.

Features

  • Efficient Similarity Search: Provides fast search methods in high-dimensional and non-metric spaces.
  • Extensible Architecture: Supports adding new search methods and distance functions.
  • Multiple Algorithms: Implements various algorithms for approximate nearest neighbor search, including:
    • Hierarchical Navigable Small World Graphs (HNSW)
    • VP-tree (Vantage Point tree)
    • Neighborhood Approximation index (NAPP)
    • Inverted file based methods
    • k-NN graph construction (NN-Descent)
  • Metric and Non-Metric Spaces: Principled support for both metric and non-metric space search.
  • Cross-Platform: Usable on multiple platforms with no third-party dependencies in the core library.
  • Language Support:
    • Native C++ API
    • Python bindings
    • Query server for Java and other languages via Apache Thrift (Java native client available)
  • Benchmarking Toolkit: Includes tools to evaluate and benchmark k-NN methods.
  • Standalone HNSW: Fastest method (HNSW) also available as a header-only standalone library.
  • Open Source: Actively maintained, with contributions from multiple authors and a strong community.
  • Used in Production: Integrated into services like Amazon Elasticsearch Service.

Pricing

NMSLIB is open-source and free to use under the Apache-2.0 license.

Information

PublisherFox
Websitegithub.com
PublishedMay 13, 2025

Category

1 item