mirror of
https://github.com/spring-projects/spring-data-elasticsearch.git
synced 2025-06-08 05:02:11 +00:00
Add info to readme about Elasticsearch versions.
Original Pull Request #2128 Closes #2127 (cherry picked from commit 3154c74f941a8a433299ad43619c8bb0cccaf2fe)
This commit is contained in:
parent
5549216db0
commit
b9e2b13f21
25
README.adoc
25
README.adoc
@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
image:https://spring.io/badges/spring-data-elasticsearch/ga.svg[Spring Data Elasticsearch,link=https://projects.spring.io/spring-data-elasticsearch#quick-start] image:https://spring.io/badges/spring-data-elasticsearch/snapshot.svg[Spring Data Elasticsearch,link=https://projects.spring.io/spring-data-elasticsearch#quick-start]
|
image:https://spring.io/badges/spring-data-elasticsearch/ga.svg[Spring Data Elasticsearch,link=https://projects.spring.io/spring-data-elasticsearch#quick-start] image:https://spring.io/badges/spring-data-elasticsearch/snapshot.svg[Spring Data Elasticsearch,link=https://projects.spring.io/spring-data-elasticsearch#quick-start]
|
||||||
|
|
||||||
= Spring Data for Elasticsearch image:https://jenkins.spring.io/buildStatus/icon?job=spring-data-elasticsearch%2Fmain&subject=Build[link=https://jenkins.spring.io/view/SpringData/job/spring-data-elasticsearch/] https://gitter.im/spring-projects/spring-data[image:https://badges.gitter.im/spring-projects/spring-data.svg[Gitter]]
|
= Spring Data for Elasticsearch image:https://jenkins.spring.io/buildStatus/icon?job=spring-data-elasticsearch%2Fmain&subject=Build[link=https://jenkins.spring.io/view/SpringData/job/spring-data-elasticsearch/] https://gitter.im/spring-projects/spring-data[image:https://badges.gitter.im/spring-projects/spring-data.svg[Gitter]]
|
||||||
@ -12,13 +13,35 @@ This project is lead and maintained by the community.
|
|||||||
== Features
|
== Features
|
||||||
|
|
||||||
* Spring configuration support using Java based `@Configuration` classes or an XML namespace for a ES clients instances.
|
* Spring configuration support using Java based `@Configuration` classes or an XML namespace for a ES clients instances.
|
||||||
* `ElasticsearchRestTemplate` helper class that increases productivity performing common ES operations.
|
* `ElasticsearchOperations` class and implementations that increases productivity performing common ES operations.
|
||||||
Includes integrated object mapping between documents and POJOs.
|
Includes integrated object mapping between documents and POJOs.
|
||||||
* Feature Rich Object Mapping integrated with Spring’s Conversion Service
|
* Feature Rich Object Mapping integrated with Spring’s Conversion Service
|
||||||
* Annotation based mapping metadata
|
* Annotation based mapping metadata
|
||||||
* Automatic implementation of `Repository` interfaces including support for custom search methods.
|
* Automatic implementation of `Repository` interfaces including support for custom search methods.
|
||||||
* CDI support for repositories
|
* CDI support for repositories
|
||||||
|
|
||||||
|
== About Elasticsearch versions and clients
|
||||||
|
|
||||||
|
=== Elasticsearch 7.17 client libraries
|
||||||
|
|
||||||
|
At the end of 2021 Elasticsearch with version 7.17 released the new version of their Java client and deprecated the `RestHighLevelCLient` which was the default way to access Elasticsearch up to then.
|
||||||
|
|
||||||
|
Spring Data Elasticsearch will in version 4.4 offer the possibility to optionally use the new client as an alternative to the existing setup using the `RestHighLevelCLient`.
|
||||||
|
The default client that is used still is the `RestHighLevelCLient`, first because the integration of the new client is not yet complete, the new client still has features missing and bugs which will hopefully be resolved soon.
|
||||||
|
Second, and more important, the new Elasticsearch client forces users to switch from using `javax.json.spi.JsonProvider` to `jakarta.json.spi.JsonProvider`.
|
||||||
|
Spring Data Elasticsearch cannot enforce this switch; Spring Boot will switch to `jakarta` with version 3 and then it's safe for Spring Data Elasticsearch to switch to the new client.
|
||||||
|
|
||||||
|
So for version 4.4 Spring Data Elasticsearch will keep using the `RestHighLevelCLient` in version 7.17.x (as long as this will be available).
|
||||||
|
|
||||||
|
=== Elasticsearch 8 client libraries
|
||||||
|
|
||||||
|
In Elasticsearch 8, the `RestHighLevelCLient` has been removed.
|
||||||
|
This means that a switch to this client version can only be done with the next major upgrade which will be Spring Data Elasticsearch 5, based on Spring Data 3, used by Spring Boot 3, based on Spring 6 and Java 17.
|
||||||
|
|
||||||
|
=== Elasticsearch 8 cluster
|
||||||
|
|
||||||
|
It should be possible to use the Elasticsearch 7 client to access a cluster running version 8 by setting the appropriate aompatibility headers (see the documentation at https://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/#elasticsearch.clients.configuration). but I encountered and heard of cases where the response from the server is not parseable by the client although the headers are set, so use with care.
|
||||||
|
|
||||||
== Code of Conduct
|
== Code of Conduct
|
||||||
|
|
||||||
This project is governed by the https://github.com/spring-projects/.github/blob/e3cc2ff230d8f1dca06535aa6b5a4a23815861d4/CODE_OF_CONDUCT.md[Spring Code of Conduct].
|
This project is governed by the https://github.com/spring-projects/.github/blob/e3cc2ff230d8f1dca06535aa6b5a4a23815861d4/CODE_OF_CONDUCT.md[Spring Code of Conduct].
|
||||||
|
Loading…
x
Reference in New Issue
Block a user