awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
nmslib avatar

nmslib/hnsw

0
View on GitHub↗
5,257 stars·831 forks·C++·Apache-2.0·18 viewsgithub.com/nmslib/hnswlib↗

Hnsw

This project is a C++ vector similarity engine and implementation of the Hierarchical Navigable Small World algorithm. It provides a header-only library for performing approximate nearest neighbor searches in high-dimensional spaces, alongside Python bindings that expose these indexing and search capabilities to data science environments.

The engine enables real-time embedding retrieval and high-dimensional similarity search using a multi-layered graph structure to balance search speed and accuracy. It supports custom distance metrics to calculate similarity between vectors in various mathematical spaces.

The system covers a broad range of indexing operations, including incremental vector insertion and the ability to mark elements as deleted without rebuilding the index. It also supports multi-vector search, search result filtering, and disk-based persistence to save and reload the index state.

Features

  • Vector Similarity Search - Provides a high-performance engine for similarity search on high-dimensional vector embeddings.
  • Low-Latency Vector Retrieval - Enables low-latency retrieval of the most relevant vectors from large datasets in real-time.
  • Approximate Nearest Neighbor Search - Finds the closest vectors in high-dimensional space by balancing lookup speed and accuracy.
  • Proximity Graph Indexes - Uses a multi-layered proximity graph to efficiently navigate and retrieve approximate nearest neighbors.
  • Vector Indexing - Organizes high-dimensional embeddings into optimized indexes to support efficient semantic retrieval.
  • HNSW Indexes - Implements the Hierarchical Navigable Small World algorithm for fast approximate nearest neighbor search.
  • Vector Distance Metrics - Provides pluggable distance functions to calculate similarity between high-dimensional vectors in various mathematical spaces.
  • Disk-Persistent Data Structures - Implements the ability to serialize the in-memory graph structure to disk for session recovery.
  • Incremental Indexing Engines - Allows for the insertion and modification of vectors without rebuilding the entire index from scratch.
  • Python Vector Index Wrappers - Exposes high-performance C++ vector indexing and search capabilities to Python environments.
  • Search Result Filtering - Restricts search results to specific subsets of elements using labels or boolean logic.
  • Incremental Vector Sync - Supports adding new vectors to the index incrementally without requiring a full rebuild.
  • Header-Only Libraries - Distributed as a header-only C++ library to simplify integration and enable compiler optimizations.
  • Python-C++ Bindings - Provides Python bindings for high-performance C++ vector indexing and search operations.
  • Radius Vector Searches - Supports executing queries using distance thresholds to find all neighbors within a specific radius.
  • Similarity Search - Graph-based method for efficient approximate nearest neighbor search.

Star history

Star history chart for nmslib/hnswStar history chart for nmslib/hnsw

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does nmslib/hnsw do?

This project is a C++ vector similarity engine and implementation of the Hierarchical Navigable Small World algorithm. It provides a header-only library for performing approximate nearest neighbor searches in high-dimensional spaces, alongside Python bindings that expose these indexing and search capabilities to data science environments.

What are the main features of nmslib/hnsw?

The main features of nmslib/hnsw are: Vector Similarity Search, Low-Latency Vector Retrieval, Approximate Nearest Neighbor Search, Proximity Graph Indexes, Vector Indexing, HNSW Indexes, Vector Distance Metrics, Disk-Persistent Data Structures.

What are some open-source alternatives to nmslib/hnsw?

Open-source alternatives to nmslib/hnsw include: nmslib/hnswlib — hnswlib is a header-only C++ library and vector indexing engine designed for high-dimensional approximate nearest… unum-cloud/usearch — USearch is a high-performance vector similarity search engine and approximate nearest neighbor index designed for… lancedb/lancedb — LanceDB is a vector database and columnar data store designed to function as a versioned dataset manager and vector… microsoft/sptag — SPTAG is a vector approximate nearest neighbor search library and distributed vector search engine. It provides a… redisearch/redisearch — RediSearch is a Redis module that adds secondary indexing, full-text search, aggregation, and vector similarity search… redis/go-redis — This project is a feature-rich Go client library designed for interacting with Redis. It serves as a comprehensive…

Open-source alternatives to Hnsw

Similar open-source projects, ranked by how many features they share with Hnsw.
  • nmslib/hnswlibnmslib avatar

    nmslib/hnswlib

    5,253View on GitHub↗

    hnswlib is a header-only C++ library and vector indexing engine designed for high-dimensional approximate nearest neighbor search. It organizes large collections of embeddings into a searchable graph structure to enable rapid proximity queries and distance calculations. The system utilizes Hierarchical Navigable Small World graphs to achieve fast vector similarity search. It distinguishes itself by allowing the definition of custom distance metrics and similarity functions to adapt calculations to specific data requirements. The engine covers the full indexing lifecycle, including incrementa

    C++
    View on GitHub↗5,253
  • unum-cloud/usearchunum-cloud avatar

    unum-cloud/USearch

    3,888View on GitHub↗

    USearch is a high-performance vector similarity search engine and approximate nearest neighbor index designed for dense embeddings. It functions as a low-level vector database core and high-dimensional vector indexer, providing the primitives necessary to store and retrieve vectors across massive datasets. The engine distinguishes itself through hardware-level SIMD acceleration for distance kernels and a proximity-graph indexing system that enables fast retrieval across billions of vectors. It supports multi-precision vector quantization to balance memory usage and accuracy, and utilizes memo

    C++approximate-nearest-neighbor-searchclusteringdatabase
    View on GitHub↗3,888
  • lancedb/lancedblancedb avatar

    lancedb/lancedb

    9,031View on GitHub↗

    LanceDB is a vector database and columnar data store designed to function as a versioned dataset manager and vector search engine. It serves as a high-performance backend for indexing and retrieving high-dimensional embeddings, providing the foundation for machine learning data pipelines. The system distinguishes itself through a combination of cloud-native object storage and immutable version tracking, allowing for data time-travel and reproducible AI experiments. It integrates hybrid search capabilities, merging dense vector similarity with BM25 full-text search and SQL-like scalar filters

    HTMLapproximate-nearest-neighbor-searchimage-searchnearest-neighbor-search
    View on GitHub↗9,031
  • microsoft/sptagmicrosoft avatar

    microsoft/SPTAG

    5,004View on GitHub↗

    SPTAG is a vector approximate nearest neighbor search library and distributed vector search engine. It provides a large-scale vector index designed to organize and retrieve similar vectors from massive datasets using high-performance similarity search and proximity queries. The system functions as a dynamic vector index manager, supporting incremental updates, insertions, and deletions of vectors without requiring a full index rebuild. It scales search operations across multiple machines to handle large-scale datasets and high volumes of online requests through distributed search request hand

    C++
    View on GitHub↗5,004
  • See all 30 alternatives to Hnsw→