Backwards compatibility between Elastiknn 8.5.x and Elasticsearch 7.x #455
-
Hi Alex! Thank you for building and maintaining this library. I am looking into approximate vector similarity search solutions to run search and recommendations solutions. I had a look at the native ANN solution offered by Elasticsearch in 8.x but unfortunately their Helm charts are still under development for anything after 7.x (See here). I am now looking into Elastiknn as a solution. I need to deploy this with Helm using a customer docker image, so I wanted to know if the latest version of Elasticknn will have backwards compatibility with Elasticsearch 7.x. Thank you! |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 1 reply
-
I'm not 100% sure I follow what you mean by backwards compatibility. Every version of Elastiknn is tied to a specific version of Elasticsearch. There are versions for 7.x, the last one being https://github.com/alexklibisz/elastiknn/releases/tag/7.17.6.0, which is compatible w/ Elasticsearch 7.17.6. Each version is exclusively compatible with its corresponding version of Elasticsearch. For example, if you try to install Elstiknn 7.17.6.0 on Elasticsearch 7.17.5, you will get an error. I don't plan to support any additional versions for 7.x. It's a non-trivial problem to maintain code for both 7.x and 8.x releases. Elastic evolves the internals quite rapidly. |
Beta Was this translation helpful? Give feedback.
-
I ended up adding support for the latest 7.x version, e.g., https://github.com/alexklibisz/elastiknn/releases/tag/7.17.9.0. I'm doing this by just maintaining a second branch. That branch won't get bug fixes or new features. I'll just keep it up-to-date w/ the latest 7.x version. |
Beta Was this translation helpful? Give feedback.
-
As an update, I have not been maintaining the 7.x branch, as it's unclear if anyone is using it, and I have no use for it. |
Beta Was this translation helpful? Give feedback.
I'm not 100% sure I follow what you mean by backwards compatibility.
Every version of Elastiknn is tied to a specific version of Elasticsearch. There are versions for 7.x, the last one being https://github.com/alexklibisz/elastiknn/releases/tag/7.17.6.0, which is compatible w/ Elasticsearch 7.17.6.
Each version is exclusively compatible with its corresponding version of Elasticsearch. For example, if you try to install Elstiknn 7.17.6.0 on Elasticsearch 7.17.5, you will get an error.
I don't plan to support any additional versions for 7.x. It's a non-trivial problem to maintain code for both 7.x and 8.x releases. Elastic evolves the internals quite rapidly.