[PROPOSAL] Introduce `spring-data-opensearch` to support OpenSearch integration
See original GitHub issuePicking up the discussion started in https://github.com/spring-projects/spring-data-elasticsearch/issues/1770, at this moment it becomes clear that both projects are going to evolve in (slightly) incompatible fashion. Taking into account how widely popular Spring Data Elasticsearch is, it is highly likely that community would seek the first class support of the OpenSearch integration as well.
In scope of this issue, it would be great to hear the feedback on the proposal to introduce dedicated spring-data-opensearch
project so to have OpenSearch supported out of the box, not depending on Elasticsearch. @sothawo if there is an interest and willing to accept the contribution, I would be more than happy to work on the pull request.
The OpenSearch project just published the Maven artifacts for client libraries [1], there should be no issues to rely on those for spring-data-opensearch
and disconnect from Elasticsearch.
Thank you very much.
[1] https://discuss.opendistrocommunity.dev/t/maven-repository-artifacts-for-plugin-development/6406/7]
Issue Analytics
- State:
- Created 2 years ago
- Reactions:20
- Comments:24
Yesterday we had a call - @brijos (AWS/Opensearch), @mp911de and Ilayaperumal Gopinathan (both VMware/Spring Data) @reta and me - about how and where the integration of Opensearch into Spring Data Elasticsearch will be done. The result of this call:
The issue for this setup in Opensearch: https://github.com/opensearch-project/opensearch-clients/issues/28.
This setup allows changes in Spring Data Elasticsearch to be available for users of Opensearch as well as long as no client modifications are necessary. Once this setup is done, the documentation in Spring Data Elasticsearch will be adapted to inform the users about the new possibility to integrate Opensearch.
No. The Elasticsearch clients are forward compatible — if you use the client for Elasticsearch 7.15, it expects the full 7.15 API (or newer); not an older version which misses endpoints or a different API. This has been causing more than enough issues and complaints in the past that we are clear about it from starting rather than having runtime issues later on. It just doesn’t work.
If you use an old version of Elasticsearch, use that version of the client. You’re not gaining anything from upgrading just the client. If you’re using a different project with a diverging API, you’ll need a client for that.
We also like getting paid. We actually give most of our work away for free and still do. But others monetizing it (instead of us) has reached a point where it wasn’t reasonable any more. Given your opening sentence here, I appreciate your understanding 😃
No. We waived it for the now deprecated HLRC client and the new Java API client is Apache 2 licensed as announced last year.