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

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
spotify avatar

spotify/annoy

0
View on GitHub↗
14,157 stars·1,218 forks·C++·apache-2.0·12 vues

Annoy

Annoy is a C++ library designed for approximate nearest neighbor search in high-dimensional vector spaces. It functions as a vector similarity search engine that constructs static, disk-based data structures to facilitate fast lookups. By mapping identifiers to vector data and persisting these structures to disk, the library enables efficient, memory-mapped access to large datasets.

The project distinguishes itself through the use of random projection trees and distance-metric-based partitioning, which organize data into hierarchical binary trees to balance search precision against computational overhead. Because the resulting indices are immutable and memory-mapped, they can be shared across multiple independent system processes without requiring the entire dataset to reside in active memory.

The library supports a broad range of indexing and retrieval capabilities, including the ability to scale to datasets that exceed available system memory. It provides cross-language integration through generated bindings and standard build system support, allowing the core search engine to be utilized across various programming environments.

Features

  • Approximate Nearest Neighbor Search - Provides a high-performance library for approximate nearest neighbor search using random projection trees and memory-mapped indices.
  • Memory-Mapped Indexing - Enables efficient access to large datasets by persisting search structures to disk and mapping them directly into process memory.
  • Vector Search Indexes - Constructs memory-mapped vector search indexes that enable fast, memory-efficient similarity queries.
  • Similarity Search Engines - Constructs static, disk-based data structures to perform high-dimensional nearest neighbor lookups with configurable precision.
  • Vector Similarity Search - Performs similarity queries by applying distance metrics to find nearest neighbors in high-dimensional space.
  • K-Nearest Neighbor Retrieval - Retrieves the closest items to a query vector using pre-built, memory-mapped data structures.
  • Memory-Disk Layering - Persists search structures to disk, allowing large datasets to be shared across processes without requiring full memory residency.
  • Trees - Organizes high-dimensional data into hierarchical random projection trees to enable rapid approximate nearest neighbor lookups.
  • AI & Machine Learning - Approximate nearest neighbors library optimized for memory
  • General Machine Learning - Library for approximate nearest neighbor search.
  • Nearest Neighbor Search - Approximate nearest neighbor search with memory-mapped files.
  • NLP - Approximate nearest neighbor search library.
  • Recommender Systems - Approximate Nearest Neighbors in C++/Python optimized for memory usage.
  • Vector Databases - Library for efficient approximate nearest neighbor search in vector spaces.
  • Search and Indexing - C++ library for fast approximate nearest neighbor search.
  • Search Engines - C++ library for searching points in space.
  • Similarity Search - Memory-optimized approximate nearest neighbor search library.
  • Vector Databases - Listed in the “Vector Databases” section of the Llm Course awesome list.
  • Search Index Management - Enables saving and loading of static search indices to disk for distribution and reuse across system environments.
  • Search and Indexing - Supports scaling indexing to disk to accommodate datasets that exceed available system memory.
  • Static Content Indexing - Constructs immutable, pre-computed binary search structures that remain fixed after creation for fast, shared lookups.
  • Native Library Integrations - Exposes high-performance search capabilities to multiple programming environments through native bindings and build system support.
  • Language Bindings - Generates interface wrappers to allow core search functionality to be utilized from various programming languages.
  • Distance Metrics - Provides configurable distance metrics to partition vector spaces for efficient similarity search.

Historique des stars

Graphique de l'historique des stars pour spotify/annoyGraphique de l'historique des stars pour spotify/annoy

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Questions fréquentes

Que fait spotify/annoy ?

Annoy is a C++ library designed for approximate nearest neighbor search in high-dimensional vector spaces. It functions as a vector similarity search engine that constructs static, disk-based data structures to facilitate fast lookups. By mapping identifiers to vector data and persisting these structures to disk, the library enables efficient, memory-mapped access to large datasets.

Quelles sont les fonctionnalités principales de spotify/annoy ?

Les fonctionnalités principales de spotify/annoy sont : Approximate Nearest Neighbor Search, Memory-Mapped Indexing, Vector Search Indexes, Similarity Search Engines, Vector Similarity Search, K-Nearest Neighbor Retrieval, Memory-Disk Layering, Trees.

Quelles sont les alternatives open-source à spotify/annoy ?

Les alternatives open-source à spotify/annoy incluent : facebookresearch/faiss — This project is a high-performance library designed for the similarity search and clustering of dense vectors across… redis/go-redis — This project is a feature-rich Go client library designed for interacting with Redis. It serves as a comprehensive… unum-cloud/usearch — USearch is a high-performance vector similarity search engine and approximate nearest neighbor index designed for… microsoft/sptag — SPTAG is a vector approximate nearest neighbor search library and distributed vector search engine. It provides a… pgvector/pgvector — Vector similarity search extension for PostgreSQL. hora-search/hora — Hora is a vector similarity search library written in Rust designed for efficient approximate nearest neighbor…

Alternatives open source à Annoy

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Annoy.
  • facebookresearch/faissAvatar de facebookresearch

    facebookresearch/faiss

    40,302Voir sur GitHub↗

    This project is a high-performance library designed for the similarity search and clustering of dense vectors across massive datasets. It functions as a vector similarity search engine, providing the necessary tools to organize complex numerical data into specialized structures that facilitate rapid retrieval and efficient querying of millions of records. The library distinguishes itself through a variety of advanced indexing and compression techniques, including hierarchical navigable small worlds for logarithmic time complexity and inverted file indexing to partition vector spaces into mana

    C++
    Voir sur GitHub↗40,302
  • redis/go-redisAvatar de redis

    redis/go-redis

    22,159Voir sur GitHub↗

    This project is a feature-rich Go client library designed for interacting with Redis. It serves as a comprehensive interface for managing remote data stores, enabling developers to execute standard database commands, handle complex data structures, and perform asynchronous operations within Go applications. The library distinguishes itself through its support for advanced Redis capabilities, including connection pooling, pipelining, and transactional integrity. It provides specialized primitives for managing distributed clusters, including automated topology updates and request routing to sha

    Gogogolangredis
    Voir sur GitHub↗22,159
  • unum-cloud/usearchAvatar de unum-cloud

    unum-cloud/USearch

    3,888Voir sur 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
    Voir sur GitHub↗3,888
  • microsoft/sptagAvatar de microsoft

    microsoft/SPTAG

    5,004Voir sur 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++
    Voir sur GitHub↗5,004
Voir les 30 alternatives à Annoy→