WARNING: Version 6.2 of Elasticsearch has passed its EOL date.
This documentation is no longer being maintained and may be removed. If you are running this version, we strongly advise you to upgrade. For the latest information, see the current release documentation.
Java API changes
editJava API changes
editsetSource methods require XContentType
editPreviously 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
editIn 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
editThe 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
editWhen 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
editThe 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
editIn 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
editAs GetField and SearchHitField have the same members, they have been unified into
DocumentField.
Some Aggregation classes have moved packages
editThe 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
Constructor for PercentileRanksAggregationBuilder has changed
editIt is now required to include the desired ranks as a non-null, non-empty array of doubles to the builder’s constructor,
rather than configuring them via a setter on the builder. The setter method values() has correspondingly
been removed.