Releases: alexklibisz/elastiknn
Releases · alexklibisz/elastiknn
0.1.0-PRE9
- Remove the usage of Protobufs at the API level. Instead implemented a more idiomatic Elasticsearch API. Now using c
ustom case classes in scala and data classes in Python, which is more tedious, but worth it for a more intuitive API. - Remove the pipelines in favor of processing/indexing vectors in the custom mapping. The model parameters are defined in
the mapping and applied to any document field with typeelastiknn_sparse_bool_vector
orelastiknn_dense_float_vector
.
This eliminates the need for a pipeline/processor and the need to maintain custom mappings for the indexed vectors. - Implement all queries using custom Lucene queries. This is tightly coupled to the custom mappings, since the mappings
determine how vector hashes are stored and can be queried. For now I've been able to use very simple Lucene Term and
Boolean queries. - Add a "sparse indexed" mapping for jaccard and hamming similarities. This stores the indices of sparse boolean vectors
as Lucene terms, allowing you to run a term query to get the intersection of the query vector against all stored vectors.
0.1.0-PRE8
- Removed the
num_tables
argument fromJaccardLshOptions
as it's redundant tonum_bands
. - Profiled and refactored the
JaccardLshModel
using the Ann-benchmarks Kosarak Jaccard dataset. - Added an example program that grid-searches JaccardLshOptions for best performance and plots the Pareto front.
0.1.0-PRE7
- Got rid of base64 encoding/decoding in ElastiKnnVectorFieldMapper. This improves ann-benchmarks performance by about 20%.
0.1.0-PRE6
- Improved exact Jaccard performance by implementing a critical path in Java so that it uses primitive
int []
arrays instead of boxed integers in scala.
0.1.0-PRE5
- Fixed performance regression.
0.1.0-PRE4
- Client and core library interface improvements.
- Added
use_cache
parameter toKNearestNeighborsQuery
which signals that the vectors should only be read once from Lucene and then cached in memory.
0.1.0-PRE3
- Releasing versioned python client library to PyPi.
0.1.0-PRE2
- Releasing versioned elastiknn plugin zip file.