Link Search Menu Expand Document

Libraries

The Elastiknn project includes some additional Python, Java, and Scala libraries.

  1. Python client
  2. Java library with exact and approximate similarity models
  3. Java library with custom Lucene queries
  4. Scala client
  5. Scala case classes and codecs for the JSON API

Python client

The Python client provides a pythonic interface for using Elastiknn. This includes a low level client that roughly mirrors the Scala client, as well as a higher level “model” that mimics the scikit-learn interface.

Install

pip install elastiknn-client

Documentation

Versions

Release Python Release

Java library with exact and approximate similarity models

This library contains the exact and approximate similarity models used by Elastiknn.

Install

In a Gradle project:

implementation 'com.klibisz.elastiknn:models:<version below>'

Versions

Release Models Release
Snapshot Models Snapshot

Java library with custom Lucene queries

This library contains a custom Lucene query used by Elastiknn, as well as a handful of related utilities.

Install

In a Gradle project:

implementation 'com.klibisz.elastiknn:lucene:<version below>'

Versions

Rekease Lucene Release
Snapshot Lucene Snapshot

Scala client

The Scala client provides type-safe, asynchronous methods for using the Elastiknn plugin from your Scala project. It’s built on top of the popular elastic4s library and abstracts over effect types. A default instance for Scala Futures ships with the client.

Install

In an sbt project:

libraryDependencies += "com.klibisz.elastiknn" %% "client-elastic4s" % <version below>

Documentation

Versions

Release Elastic4s Release
Snapshot Elastic4s Snapshot

Scala case classes and codecs for the JSON API

This library contains case classes and Circe codecs for the data structures in Elastiknn’s JSON API.

Install

In an sbt project:

libraryDependencies += "com.klibisz.elastiknn" %% "api4s" % <version below>

Versions

Release Api4s Release
Snapshot Api4s Snapshot