Skip to content

Prepare for the "next generation" clients #1853

Closed
@sothawo

Description

@sothawo

Spring Data Elasticsearch needs to be changed in the near future to support new clients:

imperative code:

  • Elasticsearch is working on a new client that will be the successor of the RestHighLevelClient as the RestHighLevelClient uses libraries from the Elasticsearch core that are not licensed under the Apache 2 license anymore.
  • Opensearch is a fork based on Elasticsearch 7.10.2 and should be supported as well. We need a client that is based on the 7.10.2 libraries. Edit 03.09.20201: the client can use the now available OpenSearch fork of the Elasticsearch client libraries.
  • it should be possible to use external client implementations that adhere to a to-be-defined API. This would for example allow Opensearch to implement their own implementation.

reactive code:

The reactive code uses code (classes) from the Elasticsearch libraries and code copied from the pre 7.11 codebase which was Apache licensed. The transport layer is implemented using Spring's WebClient.

  • reactive implementation must be adapted to use the types provided by the new Elasticsearch client library, the existing copied code is not necessary anymore then
  • the existing implementation is provided on the pre-7.11 level.

The currently supported clients, the RestHighLevelClient and the TransportClient should not be used anymore when the new Elasticsearch client is available due to potential licensing problems.

The purpose of this ticket is to prepare the internal package structure and architectural changes to enable use of the new clients as well as to document the needed changes

Metadata

Metadata

Assignees

Labels

in: coreIssues in core supporttype: taskA general task

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions