Skip to content

Releases: alexklibisz/elastiknn

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.

0.1.0-PRE18

17 Jun 01:46
5246a26
Compare
Choose a tag to compare
  • Removed the internal vector caching and instead using sun.misc.Unsafe to speed up vector serialization and deserialization.
    The result is actually faster queries without caching than it previously had with caching.
    Also able to remove the protobuf dependency which was previously used to serialize vectors.
  • Upgraded Elasticsearch version from 7.4.0 to 7.6.2.
    Attempted to use 7.7.1 but the Apache Lucene version used in 7.7.x introduces a performance regression (Details).
    Switching from Java 13 to 14 also yields a slight speedup for intersections on sparse vectors.

0.1.0-PRE17

19 May 23:38
9d582a1
Compare
Choose a tag to compare
  • Internal change from custom Lucene queries to FunctionScoreQueries. This reduces quite a bit of boilerplate code and
    surface area for bugs and performance regressions.
  • Add optional progress bar to Python ElastiknnModel.

0.1.0-PRE16

19 Apr 23:55
d06038a
Compare
Choose a tag to compare
  • Updated client-elastic4s to use elastic4s version 7.6.0.
  • Implemented a demo webapp using Play framework. Hosted at demo.elastiknn.klibisz.com.

0.1.0-PRE15

10 Apr 00:37
Compare
Choose a tag to compare
  • Implemented LSH for Hamming, Angular, and L2 similarities.
  • First pass at a documentation website.

0.1.0-PRE14

10 Apr 00:26
Compare
Choose a tag to compare
0.1.0-PRE14 Pre-release
Pre-release
  • Implemented LSH for Hamming, Angular, and L2 similarities.
  • First pass at a documentation website.

0.1.0-PRE12

06 Apr 22:33
Compare
Choose a tag to compare
0.1.0-PRE12 Pre-release
Pre-release
  • Implemented LSH for Hamming, Angular, and L2 similarities.
  • First pass at a documentation website.