Skip to content

Releases: alexklibisz/elastiknn

0.1.0-PRE28

02 Aug 02:23
3cf67de
Compare
Choose a tag to compare
  • Introduced multiprobe L2 LSH. It's a small change. Search for probes in the API docs.
  • Bug fix for an edge case in approximate queries.

0.1.0-PRE27

31 Jul 13:11
Compare
Choose a tag to compare

0.1.0-PRE26

29 Jul 01:47
3a67e30
Compare
Choose a tag to compare
  • Added Permutation Lsh model and query, based on paper Large Scale Image Retrieval with Elasticsearch by Amato, et. al.
  • Several internal improvements, including support for LSH models with repeated hashes.

0.1.0-PRE25

24 Jul 02:08
cfe34d0
Compare
Choose a tag to compare
  • Performance improvements for LSH queries. 1.5-2x faster on regular benchmarks with randomized data. See PR #114.

0.1.0-PRE24

14 Jul 02:23
a4d85f6
Compare
Choose a tag to compare
  • Fixed error with KNN queries against vectors that are stored in nested fields, e.g. outer.inner.vec.

0.1.0-PRE23

12 Jul 17:57
f1cb38a
Compare
Choose a tag to compare
  • Switched LSH parameter names to more canonical equivalents: bands -> L, rows -> k,
    based on the LSH wikipedia article
    and material from Indyk, et. al, e.g. these slides.
  • Added a k parameter to Hamming LSH model, which lets you concatenate > 1 bits to form a single hash value.

0.1.0-PRE22

07 Jul 02:27
de456ca
Compare
Choose a tag to compare
  • Switched scala client to store the ID as a doc-value field. This avoids decompressing the document source
    when reading results, which is about 40% faster on benchmarks for both exact and approx. search.

0.1.0-PRE21

29 Jun 02:21
ffe0aff
Compare
Choose a tag to compare
  • Re-implemented LSH and sparse-indexed queries using an optimized custom Lucene query based on the TermInSetQuery.
    This is 3-5x faster on LSH benchmarks.
  • Updated L1, and L2 similarities such that they're bounded in [0,1].

0.1.0-PRE20

21 Jun 17:18
c951cf5
Compare
Choose a tag to compare
  • Added an option for LSH queries to use the more-like-this heuristics to pick a subset of LSH hashes to retrieve candidate vectors.
    Uses Lucene's MoreLikeThis class
    to pick a subset of hashes based on index statistics. It's generally much faster than using all of the hashes,
    yields comparable recall, but is still disabled by default.

0.1.0-PRE19

18 Jun 01:29
Compare
Choose a tag to compare
  • Omitting norms in LSH and sparse indexed queries.
    This shaves ~15% of runtime off of a sparse indexed benchmark.
    Results for LSH weren't as meaningful unfortunately.