opendistro-for-elasticsearch / k-NN

🆕 A machine learning plugin which supports an approximate k-NN search algorithm for Open Distro.

Home Page:https://opendistro.github.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Feature: Support for FAISS JNI

luyuncheng opened this issue · comments

*As Issue #225 mentioned. It is possible to support faiss as future.

But i do not implement the codec services, because i want to ask for your opinions about this part.
I prefer to use the same interface(saveIndex, init, queryIndex) as same as nmslib's code with the same input parameter. so i do PR #285
i think with the same interface we can support nmslib and faiss in knn plugin at the same time.

Description of changes:

  1. This PR is support Faiss index and Query with the same interface in jni code.
  2. In KNNJNIFaissTests tests, it can do the same logic as KNNIndex and KNNJNITests
  3. We can modified interface code as less as mush.
  4. To build this, we need to build faiss firstly which depends on some external Libs like OpenMP,BLAS etc.
  5. Is there any possible to open a faiss branch?

For this feature, we will be tracking in #225