Upgrading from 5.1.x to 5.2.x
This section describes breaking changes from version 5.1.x to 5.2.x and how removed features can be replaced by new introduced features.
Breaking Changes
Bulk failures
In the org.springframework.data.elasticsearch.BulkFailureException class, the return type of the getFailedDocuments is changed from Map<String, String>
to Map<String, FailureDetails>, which allows to get additional details about failure reasons.
The definition of the FailureDetails class (inner to BulkFailureException):
public record FailureDetails(Integer status, String errorMessage) {
}
scripted and runtime fields
The classes org.springframework.data.elasticsearch.core.RuntimeField and org.springframework.data.elasticsearch.core.query.ScriptType have been moved to the subpackage org.springframework.data.elasticsearch.core.query.
The type parameter of the ScriptData constructor is not nullable any longer.
Deprecations
Removal of deprecated code
-
All the code using the old deprecated
RestHighLevelClienthas been removed. The default Elasticsearch client used since version 5.0 is the (not so) new Elasticsearch Java client. -
The
org.springframework.data.elasticsearch.client.ClientLoggerclass has been removed. This logger was configured with theorg.springframework.data.elasticsearch.client.WIREsetting, but was not working with all clients. From version 5 on, use the trace logger available in the Elasticsearch Java client, see Client Logging. -
The method
org.springframework.data.elasticsearch.core.ElasticsearchOperations.stringIdRepresentation(Object)has been removed, use theconvertId(Object)method defined in the same interface instead. -
The class
org.springframework.data.elasticsearch.core.Rangehas been removed, useorg.springframework.data.domain.Rangeinstead. -
The methods
org.springframework.data.elasticsearch.core.query.IndexQuery.getParentId() and `setParentId(String)have been removed, they weren’t used anymore and were no-ops. It has been removed from theorg.springframework.data.elasticsearch.core.query.IndexQueryclass as well.