Mapping APIs

edit

Geo Point Type

edit

The geo_point format has been changed to reduce index size and the time required to both index and query geo point data. To make these performance improvements possible both doc_values and coerce are required and therefore cannot be changed. For this reason the doc_values and coerce parameters have been removed from the geo_point field mapping.

These new geo-points are not yet supported in the percolator, but see Percolating geo-queries in Elasticsearch 2.2.0 and later for a workaround.

Scripting and security

edit

The Java Security Manager is being used to lock down the privileges available to the scripting languages and to restrict the classes they are allowed to load to a predefined whitelist. These changes may cause scripts which worked in earlier versions to fail. See Scripting and the Java Security Manager for more details.

Field stats API

edit

The field stats' response format has been changed for number based and date fields. The min_value and max_value elements now return values as number and the new min_value_as_string and max_value_as_string return the values as string.

Default logging using systemd

edit

In previous versions of Elasticsearch using systemd, the default logging configuration routed standard output to /dev/null and standard error to the journal. However, there are often critical error messages at startup that are logged to standard output rather than standard error and these error messages would be lost to the ether. The default has changed to now route standard output to the journal and standard error to inherit this setting (these are the defaults for systemd). These settings can be modified by editing the elasticsearch.service file.

Java Client

edit

Previously it was possible to iterate over ClusterHealthResponse to get information about ClusterIndexHealth. While this is still possible, it requires now iterating over the values returned from getIndices():

ClusterHealthResponse clusterHealthResponse = client.admin().cluster().prepareHealth().get();
for (Map.Entry<String, ClusterIndexHealth> index : clusterHealthResponse.getIndices().entrySet()) {
    String indexName = index.getKey();
    ClusterIndexHealth health = index.getValue();
}

Also ClusterHealthStatus has been moved from org.elasticsearch.action.admin.cluster.health to org.elasticsearch.cluster.health.

Cloud AWS Plugin

edit

Proxy settings have been deprecated and renamed:

  • from cloud.aws.proxy_host to cloud.aws.proxy.host
  • from cloud.aws.ec2.proxy_host to cloud.aws.ec2.proxy.host
  • from cloud.aws.s3.proxy_host to cloud.aws.s3.proxy.host
  • from cloud.aws.proxy_port to cloud.aws.proxy.port
  • from cloud.aws.ec2.proxy_port to cloud.aws.ec2.proxy.port
  • from cloud.aws.s3.proxy_port to cloud.aws.s3.proxy.port

If you are using proxy settings, update your settings as deprecated ones will be removed in next major version.

Multicast plugin deprecated

edit

The discovery-multicast plugin has been deprecated in 2.2.0 and has been removed in 5.0.