Skip to content

Releases: alexklibisz/elastiknn

0.1.0-PRE38

01 Oct 03:41
4db792f
Compare
Choose a tag to compare
  • Fixed docs for running nearest neighbors query on a filtered subset of documents.
    The original suggestion to use a bool query results in evaluating all docs.
    The correct way to do it is to use a standard query with a rescorer.

0.1.0-PRE37

24 Sep 22:18
c89f989
Compare
Choose a tag to compare
  • Fixed null pointer exception which was happening when running queries after deleting some vectors.

0.1.0-PRE36

18 Sep 23:12
9d40e2c
Compare
Choose a tag to compare
  • Fixed null pointer exception which was happening when running queries after deleting some vectors.

0.1.0-PRE35

17 Sep 00:51
4840ad1
Compare
Choose a tag to compare
  • Removed guava dependency from models project.
  • Some internal cleanup.

0.1.0-PRE34

14 Sep 02:01
f3d45ce
Compare
Choose a tag to compare
  • More memory-efficient implementation of Python ElastiknnModel.fit method. Uses an iterator over the vectors instead of a list of the vectors.

0.1.0-PRE33

13 Sep 18:38
da6ee6a
Compare
Choose a tag to compare
  • Renamed parameter r in L2Lsh mapping to w, which is more appropriate and common for "width".
  • Updates and fixes in the Python client based on usage for ann-benchmarks. Mainly adding/fixing data classes in elastiknn.api.

0.1.0-PRE32

10 Sep 11:59
21efbd3
Compare
Choose a tag to compare
  • Updated MatchHashesAndScoreQuery so that approximate queries will emit no more than candidates doc IDs.
    This slightly decreases recall, since the previous implementation could emit > candidates IDs.

0.1.0-PRE31

11 Aug 02:09
0b66b64
Compare
Choose a tag to compare
  • Support sparse bool query vectors with unsorted true indices.

0.1.0-PRE30

10 Aug 16:23
c3d2440
Compare
Choose a tag to compare
  • Added new submodules which can be used without Elasticsearch:
    • com.klibisz.elastiknn:models contains exact and approximate similarity models, all in Java with minimal dependencies.
    • com.klibisz.elastiknn:lucene contains the custom Lucene queries and some Lucene-related utilities used by Elastiknn.
    • com.klibisz.elastiknn:api4s_2.12 contains Scala case classes and codecs representing the Elastiknn JSON API.
    • com.klibisz.elastiknn:client-elastic4s_2.12 contains the Elastiknn Scala client.

0.1.0-PRE29

07 Aug 00:28
f590029
Compare
Choose a tag to compare
  • Switched to less-naive implementation of multiprobe L2 LSH. Specifically, uses algorithm 1 from Qin, et. al. to generate
    perturbation sets lazily at query time instead of generating them exhaustively. This does not use the estimated
    scoring optimization from that paper.
  • Performance optimizations for approximate queries. Specifically using a faster sorting method to sort the hashes before
    retrieving matching docs from the shard.