Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jelmerk/hnswlib
Java library for approximate nearest neighbors search using Hierarchical Navigable Small World graphs
https://github.com/jelmerk/hnswlib
algorithm java k-nearest-neighbors knn-search pyspark scala spark
Last synced: 25 days ago
JSON representation
Java library for approximate nearest neighbors search using Hierarchical Navigable Small World graphs
- Host: GitHub
- URL: https://github.com/jelmerk/hnswlib
- Owner: jelmerk
- License: apache-2.0
- Created: 2019-03-31T20:23:08.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-01-20T21:49:37.000Z (10 months ago)
- Last Synced: 2024-09-29T04:42:02.934Z (about 1 month ago)
- Topics: algorithm, java, k-nearest-neighbors, knn-search, pyspark, scala, spark
- Language: Java
- Homepage:
- Size: 1.17 MB
- Stars: 255
- Watchers: 16
- Forks: 55
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
[![Build Status](https://github.com/jelmerk/hnswlib/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/jelmerk/hnswlib/actions/workflows/ci.yml)
Hnswlib
=======Java implementation of the [the Hierarchical Navigable Small World graphs](https://arxiv.org/abs/1603.09320) (HNSW) algorithm for doing approximate nearest neighbour search.
The index is thread safe, serializable, supports adding items to the index incrementally and has experimental support for deletes.
It's flexible interface makes it easy to apply it to use it with any type of data and distance metric.
The following distance metrics are currently pre-packaged :- bray curtis dissimilarity
- canberra distance
- correlation distance
- cosine distance
- euclidean distance
- inner product
- manhattan distanceIt comes with a [scala wrapper](https://github.com/jelmerk/hnswlib/tree/master/hnswlib-scala) that should feel native to scala developers
Apache spark support was moved into the [hnswlib-spark](https://github.com/jelmerk/hnswlib-spark) project.
To find out more about how to use this library take a look at the [hnswlib-examples](https://github.com/jelmerk/hnswlib/tree/master/hnswlib-examples) module or browse the documentation
in the readme files of the submodulesSponsors
--------![YourKIT logo](https://www.yourkit.com/images/yklogo.png)
YourKit is the creator of [YourKit Java Profiler](https://www.yourkit.com/java/profiler),
[YourKit .NET Profiler](https://www.yourkit.com/.net/profiler/),
and [YourKit YouMonitor](https://www.yourkit.com/youmonitor/).