C++ approximate-nearest-neighbor-search

Open-source C++ projects categorized as approximate-nearest-neighbor-search

Top 4 C++ approximate-nearest-neighbor-search Projects

  • annoy

    Approximate Nearest Neighbors in C++/Python optimized for memory usage and loading/saving to disk

  • Project mention: Do we think about vector dbs wrong? | news.ycombinator.com | 2023-09-05

    The focus on the top 10 in vector search is a product of wanting to prove value over keyword search. Keyword search is going to miss some conceptual matches. You can try to work around that with tokenization and complex queries with all variations but it's not easy.

    Vector search isn't all that new a concept. For example, the annoy library (https://github.com/spotify/annoy) has been around since 2014. It was one of the first open source approximate nearest neighbor libraries. Recommendations have always been a good use case for vector similarity.

    Recommendations are a natural extension of search and transformers models made building the vectors for natural language possible. To prove the worth of vector search over keyword search, the focus was always on showing how the top N matches include results not possible with keyword search.

    In 2023, there has been a shift towards acknowledging keyword search also has value and that a combination of vector + keyword search (aka hybrid search) operates in the sweet spot. Once again this is validated through the same benchmarks which focus on the top 10.

    On top of all this, there is also the reality that the vector database space is very crowded and some want to use their performance benchmarks for marketing.

    Disclaimer: I am the author of txtai (https://github.com/neuml/txtai), an open source embeddings database

  • SPTAG

    A distributed approximate nearest neighborhood search (ANN) library which provides a high quality vector index build, search and distributed online serving toolkits for large scale vector search scenario.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • infinity

    The AI-native database built for LLM applications, providing incredibly fast full-text and vector search

  • Project mention: Better RAG Results with Reciprocal Rank Fusion and Hybrid Search | news.ycombinator.com | 2024-05-30

    Within our open source RAG product RAGFlow(https://github.com/infiniflow/ragflow), Elasticsearch is currently used instead of other general vector databases, because it can provide hybrid search right now. Under the default cases, embedding based reranker is not required, just RRF is enough, while even if reranker is used, keywords based retrieval is also a MUST to be hybridized with embedding based retrieval, that's just what RAGFlow's latest 0.7 release has provided.

    On the other hand let me introduce another database we developed, Infinity(https://github.com/infiniflow/infinity), which can provide the fastest hybrid search, you can see the performance here(https://github.com/infiniflow/infinity/blob/main/docs/refere...), both vector search and full-text search could perform much faster than other open source alternatives.

    From the next version(weeks later), Infinity will also provide more comprehensive hybrid search capabilities, what you have mentioned the 3-way recalls(dense vector, sparse vector, keyword search) could be provided within single request.

  • usearch

    Fast Open-Source Search & Clustering engine × for Vectors & 🔜 Strings × in C++, C, Python, JavaScript, Rust, Java, Objective-C, Swift, C#, GoLang, and Wolfram 🔍

  • Project mention: I'm writing a new vector search SQLite Extension | news.ycombinator.com | 2024-05-02

    Might have a look at this library:

    https://github.com/unum-cloud/usearch

    It does HNSW and there is a SQLite related project, though not quite the same thing.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

C++ approximate-nearest-neighbor-search related posts

  • USearch SQLite Extensions for Vector and Text Search

    1 project | news.ycombinator.com | 22 Feb 2024
  • Ask HN: What is the state of art approximate k-NN search algorithm today?

    1 project | news.ycombinator.com | 17 Jan 2024
  • [P] unum-cloud/usearch: Fastest Open-Source Similarity Search engine for Vectors in Python, JavaScript, C++, C, Rust, Java, Objective-C, Swift, C#, GoLang, and Wolfram 🔍

    1 project | /r/MachineLearning | 28 Nov 2023
  • USearch: SIMD-accelerated Vector Search Structure for 10 Programming Languages

    1 project | /r/programming | 11 Sep 2023
  • Ask HN: Who is hiring? (September 2023)

    14 projects | news.ycombinator.com | 1 Sep 2023
  • Code Search with Vector Embeddings: A Transformer's Approach

    3 projects | dev.to | 27 Aug 2023
  • Why TileDB as a Vector Database

    2 projects | news.ycombinator.com | 2 Aug 2023
  • A note from our sponsor - SaaSHub
    www.saashub.com | 1 Jun 2024
    SaaSHub helps you find the best software and product alternatives Learn more →

Index

What are some of the best open-source approximate-nearest-neighbor-search projects in C++? This list will help you:

Project Stars
1 annoy 12,798
2 SPTAG 4,725
3 infinity 1,868
4 usearch 1,771

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com