Link

Installation

The Elastiknn plugin gets published as a zip file in a Github release. The lastest release can be found here.

To install it, copy the zip file URL and run elasticsearch-plugin install <THE URL> on each of your Elasticsearch nodes.

Versions

Plugin Release Plugin Release Status
Plugin Snapshot Plugin Snapshot Status

A caveat on versioning: Elasticsearch requires that the plugin’s Elasticsearch version matches the version on the node. For now I’m only releasing the plugin for a single Elasticsearch version. I’d like to eventually come back and implement releases for multiple versions.

Example Installation in a Docker Image

Make a Dockerfile like below. The image version (elasticsearch:A.B.C) must match the plugin’s version (e.g. _esA.B.C).

FROM docker.elastic.co/elasticsearch/elasticsearch:7.4.0
RUN elasticsearch-plugin install https://github.com/alexklibisz/elastiknn/releases/download/0.1.0-PRE15/elastiknn-0.1.0-PRE15_es7.4.0.zip

Build and run the Dockerfile. If you have any issues please refer to the official docs.

$ docker build -t elastiknn-example .
$ sudo sysctl -w vm.max_map_count=262144 # Have to do this on Ubuntu host; not sure about others.
$ docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elastiknn-example

In another terminal, use curl to check the health status and make sure the plugin is installed.

$ curl localhost:9200/_cat/health
1586481957 01:25:57 docker-cluster green 1 1 0 0 0 0 0 0 - 100.0%
$ curl localhost:9200/_cat/plugins
ccba91520728 elastiknn 0.1.0-PRE15_es7.4.0