59 lines
3.0 KiB
Plaintext
59 lines
3.0 KiB
Plaintext
[[breaking_60_java_changes]]
|
|
=== Java API changes
|
|
|
|
==== `setSource` methods require XContentType
|
|
|
|
Previously the `setSource` methods and other methods that accepted byte/string representations of
|
|
an object source did not require the XContentType to be specified. The auto-detection of the content
|
|
type is no longer used, so these methods now require the XContentType as an additional argument when
|
|
providing the source in bytes or as a string.
|
|
|
|
==== `DeleteByQueryRequest` requires an explicitly set query
|
|
|
|
In previous versions of Elasticsearch, delete by query requests without an explicit query
|
|
were accepted, match_all was used as the default query and all documents were deleted
|
|
as a result. From version 6.0.0, a `DeleteByQueryRequest` requires an explicit query be set.
|
|
|
|
==== `InternalStats` and `Stats` getCountAsString() method removed
|
|
|
|
The `count` value in the stats aggregation represents a doc count that shouldn't require a formatted
|
|
version. This method was deprecated in 5.4 in favour of just using
|
|
`String.valueOf(getCount())` if needed
|
|
|
|
==== `ActionRequestBuilder#execute` returns `ActionFuture` rather than `ListenableActionFuture`
|
|
|
|
When sending a request through the request builders e.g. client.prepareSearch().execute(), it used to
|
|
be possible to call `addListener` against the returned `ListenableActionFuture`. With this change an
|
|
`ActionFuture` is returned instead, which is consistent with what the `Client` methods return, hence
|
|
it is not possible to associate the future with listeners. The `execute` method that accept a listener
|
|
as an argument can be used instead.
|
|
|
|
==== `Terms.Order` and `Histogram.Order` classes replace by `BucketOrder`
|
|
|
|
The `terms`, `histogram`, and `date_histogram` aggregation code has been refactored to use common
|
|
code for ordering buckets. The `BucketOrder` class must be used instead of `Terms.Order` and
|
|
`Histogram.Order`. The `static` methods in the `BucketOrder` class must be called instead of directly
|
|
accessing internal order instances, e.g. `BucketOrder.count(boolean)` and `BucketOrder.aggregation(String, boolean)`.
|
|
Use `BucketOrder.key(boolean)` to order the `terms` aggregation buckets by `_term`.
|
|
|
|
=== `getTookInMillis()` removed in `BulkResponse`, `SearchResponse` and `TermVectorsResponse`
|
|
|
|
In `BulkResponse`, `SearchResponse` and `TermVectorsResponse` `getTookInMiilis()` method
|
|
has been removed in favor of `getTook` method. `getTookInMiilis()` is easily replaced by
|
|
`getTook().getMillis()`.
|
|
|
|
=== `GetField` and `SearchHitField` replaced by `DocumentField`
|
|
|
|
As `GetField` and `SearchHitField` have the same members, they have been unified into
|
|
`DocumentField`.
|
|
|
|
=== Some Aggregation classes have moved packages
|
|
|
|
The classes for the variants of the range aggregation (geo_distance, date and ip) were moved into the `org.elasticsearch.search.aggregations.bucket.range`
|
|
package.
|
|
|
|
The `org.elasticsearch.search.aggregations.bucket.terms.support` package was removed and the classes were moved to
|
|
`org.elasticsearch.search.aggregations.bucket.terms`.
|
|
|
|
The filter aggregation classes were moved to `org.elasticsearch.search.aggregations.bucket.filter`
|