Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A locality-sensitive hashing library

branch: master

Merge pull request #1 from a1k0n/patch-1

Fix bug in negative orthoplex vertex indices
latest commit 939d19e529
Utkan Güngördü authored
COPYING initial commit
Makefile initial commit
README.md initial commit
bitvector64.h initial commit
hash.cc initial commit
hash.h initial commit
lsh.h initial commit
lsh_test.cc initial commit
math.cc initial commit
math.h initial commit
querycontext.h initial commit
slsh.h Fix bug in negative orthoplex vertex indices
types.h initial commit
util.cc initial commit
util.h initial commit
README.md

Introduction

slash is a high-performance locality-sensitive hashing (LSH) [1] library, written in C++. It currently implements Spherical LSH (SLSH) [2] which is suitable for high dimensional feature-spaces.

Dependencies

gperftools, sparsehash.

Usage

Simply copy the files lsh.h, slsh.h, querycontext.h, math.h and math.cc into your source tree. To start using the library, you need to define a class satisfying an interface. (see BitVector64 class defined in bitvector64.h for a working example) and a hash function (see hash.*). The file lsh_test.cc contains a benchmark suite.

License

slash is released under GNU General Public License version 3.

References

[1] A. Gionis, P. Indyk and R. Motwani, ``Similarity Search in High Dimensions via Hashing'', Proc. 25th International Conference on Very Large Data Bases, VLDB1999, pp.518-529, 1999.

[2] `Terasawa, K., Tanaka, Y., 2007. Spherical LSH for Approximate Nearest-Neighbor Search on Unit Hypersphere. Springer. pp. 27–38''.

Something went wrong with that request. Please try again.