This version is still in development and is not considered stable yet. For the latest stable version, please use Spring Data Elasticsearch 5.4.0! |
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
RestHighLevelClient
has 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.ClientLogger
class has been removed. This logger was configured with theorg.springframework.data.elasticsearch.client.WIRE
setting, 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.Range
has been removed, useorg.springframework.data.domain.Range
instead. -
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.IndexQuery
class as well.