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↗
github.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.

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

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.
5,257 stars·831 forks·C++·Apache-2.0·28 views

Star history

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

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

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.

Which projects share features with nmslib/hnsw?

Projects with overlapping indexed features 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…

Projects sharing features with Hnsw

These projects share indexed features with Hnsw. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • 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
Compare all 30 related projects→