Migrate migration docs from 6.0 to 7.0 (#26227)

* Migrate migration docs from 6.0 to 7.0

Since we only keep one version of migration docs and master is now on 7.0, we
should migrate these so breaking changes can be added in the right place.

* Remove release notes as well

They link to the migration guides, so they have to go.

* Add placeholder notes for 7.0 so doc build is happy
This commit is contained in:
Lee Hinman 2017-08-16 13:12:44 -06:00 committed by GitHub
parent f69cc78b67
commit cfad6688b0
28 changed files with 42 additions and 2634 deletions

View File

@ -46,7 +46,6 @@ buildRestTests.expectedUnconvertedCandidates = [
'reference/indices/recovery.asciidoc',
'reference/indices/segments.asciidoc',
'reference/indices/shard-stores.asciidoc',
'reference/migration/migrate_6_0/scripting.asciidoc',
'reference/search/profile.asciidoc',
]
@ -542,4 +541,4 @@ for (int i = 0; i < 5; i++) {
buildRestTests.setups['iprange'] += """
{"index":{}}
{"ip": "12.0.0.$i"}"""
}
}

View File

@ -8,15 +8,15 @@ your application from one version of Elasticsearch to another.
As a general rule:
* Migration between minor versions -- e.g. `6.x` to `6.y` -- can be
* Migration between minor versions -- e.g. `7.x` to `7.y` -- can be
performed by <<rolling-upgrades,upgrading one node at a time>>.
* Migration between consecutive major versions -- e.g. `5.x` to `6.x` --
* Migration between consecutive major versions -- e.g. `6.x` to `7.x` --
requires a <<restart-upgrade,full cluster restart>>.
* Migration between non-consecutive major versions -- e.g. `2.x` to `6.x` --
* Migration between non-consecutive major versions -- e.g. `5.x` to `7.x` --
is not supported.
See <<setup-upgrade>> for more info.
--
include::migrate_6_0.asciidoc[]
include::migrate_7_0.asciidoc[]

View File

@ -1,65 +0,0 @@
[[breaking-changes-6.0]]
== Breaking changes in 6.0
This section discusses the changes that you need to be aware of when migrating
your application to Elasticsearch 6.0.
[float]
=== Indices created before 6.0
Elasticsearch 6.0 can read indices created in version 5.0 or above. An
Elasticsearch 6.0 node will not start in the presence of indices created in a
version of Elasticsearch before 5.0.
[IMPORTANT]
.Reindex indices from Elasticseach 2.x or before
=========================================
Indices created in Elasticsearch 2.x or before will need to be reindexed with
Elasticsearch 5.x in order to be readable by Elasticsearch 6.x. The easiest
way to reindex old indices is to use the `reindex` API.
=========================================
[float]
=== Also see:
* <<breaking_60_aggregations_changes>>
* <<breaking_60_cat_changes>>
* <<breaking_60_clients_changes>>
* <<breaking_60_cluster_changes>>
* <<breaking_60_docs_changes>>
* <<breaking_60_indices_changes>>
* <<breaking_60_ingest_changes>>
* <<breaking_60_java_changes>>
* <<breaking_60_mappings_changes>>
* <<breaking_60_packaging_changes>>
* <<breaking_60_percolator_changes>>
* <<breaking_60_plugins_changes>>
* <<breaking_60_reindex_changes>>
* <<breaking_60_rest_changes>>
* <<breaking_60_stats_changes>>
* <<breaking_60_search_changes>>
* <<breaking_60_settings_changes>>
* <<breaking_60_scripting_changes>>
include::migrate_6_0/aggregations.asciidoc[]
include::migrate_6_0/analysis.asciidoc[]
include::migrate_6_0/cat.asciidoc[]
include::migrate_6_0/clients.asciidoc[]
include::migrate_6_0/cluster.asciidoc[]
include::migrate_6_0/docs.asciidoc[]
include::migrate_6_0/indices.asciidoc[]
include::migrate_6_0/ingest.asciidoc[]
include::migrate_6_0/java.asciidoc[]
include::migrate_6_0/mappings.asciidoc[]
include::migrate_6_0/packaging.asciidoc[]
include::migrate_6_0/percolator.asciidoc[]
include::migrate_6_0/plugins.asciidoc[]
include::migrate_6_0/reindex.asciidoc[]
include::migrate_6_0/rest.asciidoc[]
include::migrate_6_0/scripting.asciidoc[]
include::migrate_6_0/search.asciidoc[]
include::migrate_6_0/settings.asciidoc[]
include::migrate_6_0/stats.asciidoc[]

View File

@ -1,59 +0,0 @@
[[breaking_60_aggregations_changes]]
=== Aggregations changes
==== Deprecated `pattern` element of include/exclude for terms aggregations has been removed
The `include` and `exclude` options of `terms` aggregations used to accept a
sub `pattern` object which has been removed. The pattern should now be directly
put as a value of the `include` and `exclude` fields. For instance, the below
`terms` aggregation:
[source,js]
--------------------------------------------------
POST /twitter/_search?size=0
{
"aggs" : {
"top_users" : {
"terms" : {
"field" : "user",
"include": {
"pattern": "foo.*"
},
"exclude": {
"pattern": ".*bar"
}
}
}
}
}
--------------------------------------------------
// CONSOLE
// TEST[skip: uses old unsupported syntax]
should be replaced with:
[source,js]
--------------------------------------------------
POST /twitter/_search?size=0
{
"aggs" : {
"top_users" : {
"terms" : {
"field" : "user",
"include": "foo.*",
"exclude": ".*bar"
}
}
}
}
--------------------------------------------------
// CONSOLE
// TEST[setup:twitter]
==== Numeric `to` and `from` parameters in `date_range` aggregation are interpreted according to `format` now
Numeric `to` and `from` parameters in `date_range` aggregations used to always be interpreted as `epoch_millis`,
making other numeric formats like `epoch_seconds` unusable for numeric input values.
Now we interpret these parameters according to the `format` of the target field.
If the `format` in the mappings is not compatible with the numeric input value, a compatible
`format` (e.g. `epoch_millis`, `epoch_second`) must be specified in the `date_range` aggregation, otherwise an error is thrown.

View File

@ -1,13 +0,0 @@
[[breaking_60_analysis_changes]]
=== Analysis changes
==== Synonym Token Filter
In 6.0, Synonym Token Filter tokenizes synonyms with whatever
tokenizer and token filters appear before it in the chain.
The `tokenizer` and `ignore_case` parameters are deprecated
and will be ignored when used in new indices. These parameters
will continue to function as before when used in indices
created in 5.x.

View File

@ -1,7 +0,0 @@
[[breaking_60_cat_changes]]
=== Cat API changes
==== Unbounded queue size in cat thread pool
Previously if a queue size backing a thread pool was unbounded, the cat thread pool API would output an empty string in
the queue_size column. This has been changed to now output -1 so that the output is always present and always numeric.

View File

@ -1,11 +0,0 @@
[[breaking_60_clients_changes]]
=== Clients changes
==== Java High Level REST Client
Starting from version 5.6.0 a new Java client has been released: the Java High Level REST Client.
This official high-level client (named like this to differentiate it from the existing low-level client) for
Elasticsearch can be used to execute search, index, delete, update and bulk operations using the same Core
Java classes as the `TransportClient` uses.
This Java High Level REST Client is designed to replace the `TransportClient` in a near future.

View File

@ -1,27 +0,0 @@
[[breaking_60_cluster_changes]]
=== Cluster changes
==== Cluster name no longer allowed in path.data
Previously the cluster name could be used in the `path.data` setting with a
warning. This is now no longer allowed. For instance, in the previous version
this was valid:
[source,sh]
--------------------------------------------------
# Assuming path.data is /tmp/mydata
# No longer supported:
$ tree /tmp/mydata
/tmp/mydata
├── <cluster_name>
│   └── nodes
│   └── 0
│   └── <etc>
# Should be changed to:
$ tree /tmp/mydata
/tmp/mydata
├── nodes
│   └── 0
│   └── <etc>
--------------------------------------------------

View File

@ -1,23 +0,0 @@
[[breaking_60_docs_changes]]
=== Document API changes
==== version type `force` removed
Document modification operations may no longer specify the `version_type` of
`force` to override any previous version checks.
==== <<upserts,Upserts>> no longer support versions
Adding a `version` to an upsert request is no longer supported.
==== `created` field removed in the Index API
The `created` field has been removed in the Index API as in the `index` and
`create` bulk operations. `operation` field should be used instead.
==== `found` field removed in the Delete API
The `found` field has been removed in the Delete API as in the `delete` bulk
operations. `operation` field should be used instead.

View File

@ -1,75 +0,0 @@
[[breaking_60_indices_changes]]
=== Indices changes
==== Index templates use `index_patterns` instead of `template`
Previously templates expressed the indices that they should match using a glob
style pattern in the `template` field. They should now use the `index_patterns`
field instead. As the name implies you can define multiple glob style patterns
in an array but for convenience defining a single pattern as a bare string is
also supported. So both of these examples are valid:
[source,js]
--------------------------------------------------
PUT _template/template_1
{
"index_patterns": ["te*", "bar*"],
"settings": {
"number_of_shards": 1
}
}
PUT _template/template_2
{
"index_patterns": "te*",
"settings": {
"number_of_shards": 1
}
}
--------------------------------------------------
// CONSOLE
==== Shadow Replicas have been removed
Shadow replicas don't see enough usage, and have been removed. This includes the
following settings:
- `index.shared_filesystem`
- `index.shadow_replicas`
- `node.add_lock_id_to_custom_path`
==== Open/Close index API allows wildcard expressions that match no indices by default
The default value of the `allow_no_indices` option for the Open/Close index API
has been changed from `false` to `true` so it is aligned with the behaviour of the
Delete index API. As a result, Open/Close index API don't return an error by
default when a provided wildcard expression doesn't match any closed/open index.
==== Delete a document
Delete a document from non-existing index has been modified to not create the index.
However if an external versioning is used the index will be created and the document
will be marked for deletion.
==== Indices aliases api resolves indices expressions only against indices
The index parameter in the update-aliases, put-alias, and delete-alias APIs no
longer accepts alias names. Instead, it accepts only index names (or wildcards
which will expand to matching indices).
==== Delete index api resolves indices expressions only against indices
The index parameter in the delete index API no longer accepts alias names.
Instead, it accepts only index names (or wildcards which will expand to
matching indices).
==== Support for `+` has been removed in index expressions
Omitting the `+` has the same effect as specifying it, hence support for `+`
has been removed in index expressions.
==== Translog retention
Translog files are now kept for up to 12 hours (by default), with a maximum size of `512mb` (default), and
are no longer deleted on `flush`. This is to increase the chance of doing an operation based recovery when
bringing up replicas up to speed.

View File

@ -1,14 +0,0 @@
[[breaking_60_ingest_changes]]
=== Ingest changes
==== Timestamp meta-data field type has changed
The type of the "timestamp" meta-data field has changed from `java.lang.String` to `java.util.Date`.
==== The format of the string-formatted ingest.timestamp field has changed
Previously, since Elasticsearch 5.4.0, you needed to use `ingest.new_date_format` to have the
`ingest.timestamp` metadata field be formatted in such a way that ES can coerce it to a field
of type `date` without further transformation. This is not necessary anymore and this setting was
removed. You can now simply set a field to `{{ingest.timestamp}}` in a pipeline, and have that
field be of type `date` without any mapping errors.

View File

@ -1,64 +0,0 @@
[[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`
=== Constructor for `PercentileRanksAggregationBuilder` has changed
It 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.

View File

@ -1,32 +0,0 @@
[[breaking_60_mappings_changes]]
=== Mapping changes
==== Coercion of boolean fields
Previously, Elasticsearch recognized the strings `true`, `false`, `on`, `off`, `yes`, `no`, `0`, `1` as booleans. Elasticsearch 6.0
recognizes only the strings `true` and `false` as booleans and will throw an error otherwise. For backwards compatibility purposes, during the 6.x
series the previous coercion rules will continue to work on pre-6.0 indices. This means that you do not need to change affected existing
mappings immediately. However, it is not possible to create new indices from existing index templates that violate the strict `boolean`
coercion rules.
==== The `_all` meta field is now disabled by default
On new mappings, the `_all` meta field that contains a copy of the text from
each field is now disabled by default. The `query_string` and
`simple_query_string` queries that previously used `_all` to search will now
check if `_all` is enabled/disabled and switch to executing the query across all
fields if `_all` is disabled. `_all` can no longer be configured for indices
created with Elasticsearch version 6.0 or later.
==== The `include_in_all` mapping parameter is now disallowed
Since the ++_all++ field is now disabled by default and cannot be configured for
indices created with Elasticsearch 6.0 or later, the `include_in_all` setting is
now disallowed for these indices' mappings.
==== Unrecognized `match_mapping_type` options not silently ignored
Previously Elasticsearch would silently ignore any dynamic templates that
included a `match_mapping_type` type that was unrecognized. An exception is now
thrown on an unrecognized type.

View File

@ -1,78 +0,0 @@
[[breaking_60_packaging_changes]]
=== Packaging changes
==== Configuring custom user and group for package is no longer allowed
Previously someone could configure the `$ES_USER` and `$ES_GROUP` variables to
change which user and group Elasticsearch was run as. This is no longer
possible, the DEB and RPM packages now exclusively use the user and group
`elasticsearch`. If a custom user or group is needed then a provisioning system
should use the tarball distribution instead of the provided RPM and DEB
packages.
==== `path.conf` is no longer a configurable setting
Previous versions of Elasticsearch enabled setting `path.conf` as a
setting. This was rather convoluted as it meant that you could start
Elasticsearch with a config file that specified via `path.conf` that
Elasticsearch should use another config file. Instead, to configure a custom
config directory, use the <<config-files-location,`ES_PATH_CONF` environment
variable>>.
==== `CONF_DIR` is no longer supported
Previous versions of Elasticsearch enabled using the `CONF_DIR` environment
variable to specify a custom configuration directory for some configuration
files and some scripts (it was used inconsistently). Starting in Elasticsearch
6.0.0, the usage of this environment variable has been superceded by
`ES_PATH_CONF`, and this new environment variable is consistently used for all
configuration files and scripts.
==== Default path settings are removed
Previous versions of Elasticsearch enabled setting `default.path.data` and
`default.path.logs` to set the default data path and default logs path if they
were not otherwise set in the configuration file. These settings have been
removed and now data paths and log paths can be configured via settings
only. Related, this means that the environment variables `DATA_DIR` and
`LOG_DIR` no longer have any effect as these were used to set
`default.path.data` and `default.path.logs` in the packaging scripts.
Additionally, this means that if you were using the package distributions (i.e.,
you have installed Elasticsearch from the RPM or the DEB distributions), you had
not previously explicitly configured `path.data` or `path.logs`, and you carry
over your `elasticsearch.yml` file from 5.x, then you will need to add settings
for `path.data` and `path.logs`. To use the defaults that you were implicitly
using previously, you should add these lines to your `elasticsearch.yml`:
[source,yaml]
--------------------------------------------------
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
--------------------------------------------------
(If you already had explicit values for either of these settings, you should of
course preserve those). If you do not do this, Elasticsearch will refuse to
start.
==== 32-bit is no longer maintained
We previously attempted to ensure that Elasticsearch could be started on 32-bit
JVM (although a bootstrap check prevented using a 32-bit JVM in production). We
are no longer maintaining this attempt.
==== `ES_JVM_OPTIONS`is no longer supported
The environment variable `ES_JVM_OPTIONS` that enabled a custom location for the
`jvm.options` file has been removed in favor of using the environment variable
`ES_PATH_CONF`. This environment variable is already used in the packaging to
support relocating the configuration files so this change merely aligns the
other configuration files with the location of the `jvm.options` file.
==== `ES_INCLUDE` is no longer supported
The environment variable `ES_INCLUDE` could previously be used to establish the
environment used to start Elasticsearch (and various supporting scripts). This
legacy feature could be useful when there were several environment variables
useful for configuring JVM options; this functionality had previously been
replaced by <<jvm-options>>. Therefore, `ES_INCLUDE` has been removed.

View File

@ -1,6 +0,0 @@
[[breaking_60_percolator_changes]]
=== Percolator changes
==== Deprecated percolator and mpercolate apis have been removed
Instead the `percolate` query should be used via either the search or msearch apis.

View File

@ -1,92 +0,0 @@
[[breaking_60_plugins_changes]]
=== Plugins changes
==== Mapper attachments plugin
* The mapper attachments plugin has been deprecated in elasticsearch 5.0 and is now removed.
You can use {plugins}/ingest-attachment.html[ingest attachment plugin] instead.
==== S3 Repository plugin
* The bucket an s3 repository is configured with will no longer be created automatically.
It must exist before the s3 repository is created.
* Support for specifying s3 credentials through environment variables and
system properties has been removed. Use the `elasticsearch-keystore` tool
to securely store the credentials.
* Specifying region has been removed. This includes the settings `cloud.aws.region`,
`cloud.aws.s3.region`, `repositories.s3.region`, and specifying
region inside the repository settings. Instead, specify the full endpoint if a custom
s3 location is needed, or rely on the default behavior which automatically locates
the region of the configured bucket.
* Specifying s3 signer type has been removed, including `cloud.aws.signer` and `cloud.aws.s3.signer`.
* Global repositories settings have been removed. This includes `repositories.s3.bucket`,
`repositories.s3.server_side_encryption`, `repositories.s3.buffer_size`,
`repositories.s3.max_retries`, `repositories.s3.use_throttle_retries`,
`repositories.s3.chunk_size`, `repositories.s3.compress`, `repositories.s3.storage_class`,
`repositories.s3.canned_acl`, `repositories.s3.base_path`, and
`repositories.s3.path_style_access`. Instead, these settings should be set directly in the
settings per repository.
See {plugins}/repository-s3-repository.html[S3 Repository settings].
* Shared client settings have been removed. This includes `cloud.aws.access_key`,
`cloud.aws.secret_key`, `cloud.aws.protocol`, `cloud.aws.proxy.host`,
`cloud.aws.proxy.port`, `cloud.aws.proxy.username`, `cloud.aws.proxy.password`,
`cloud.aws.signer`, `cloud.aws.read_timeout`, `cloud.aws.s3.access_key`,
`cloud.aws.s3.secret_key`, `cloud.aws.s3.protocol`, `cloud.aws.s3.proxy.host`,
`cloud.aws.s3.proxy.port`, `cloud.aws.s3.proxy.username`, `cloud.aws.s3.proxy.password`,
`cloud.aws.s3.signer`, `cloud.aws.s3.read_timeout`, `repositories.s3.access_key`,
`repositories.s3.secret_key`, `repositories.s3.endpoint` and `repositories.s3.protocol`.
Instead, use the new named client settings under `s3.client.CLIENT_NAME.*`.
==== Azure Repository plugin
* The container an azure repository is configured with will no longer be created automatically.
It must exist before the azure repository is created.
* Global repositories settings you are able to set in elasticsearch config file under `repositories.azure`
name space have been removed. This includes `repositories.azure.account`, `repositories.azure.container`,
`repositories.azure.base_path`, `repositories.azure.location_mode`, `repositories.azure.chunk_size` and
`repositories.azure.compress`.
You must set those settings per repository instead. Respectively `account`, `container`, `base_path`,
`location_mode`, `chunk_size` and `compress`.
See {plugins}/repository-azure-usage.html#repository-azure-repository-settings[Azure Repository settings].
==== GCS Repository plugin
* The `service_account` setting has been removed. A service account json credential file must now be
specified in the <<secure-settings, elasticsearch keystore>>.
==== EC2 Discovery plugin
* Specifying ec2 signer type has been removed, including `cloud.aws.signer` and `cloud.aws.ec2.signer`.
* The region setting has been removed. This includes the settings `cloud.aws.region`
and `cloud.aws.ec2.region`. Instead, specify the full endpoint.
* All `cloud.aws.*` and `cloud.aws.ec2.*` settings have been removed. Use `discovery.ec2.*` settings instead.
==== Ignoring hidden folders
Previous versions of Elasticsearch would skip hidden files and directories when
scanning the plugins folder. This leniency has been removed.
==== ICU Analysis plugin
The icu4j library has been upgraded to 59.1,
Indices created in the previous major version will need to be reindexed
in order to return correct (and correctly ordered) results,
and to take advantage of new characters.
==== Plugins should not construct `Environment` instances from `Settings`
Previously, plugins could construct an `Environment` instance from `Settings` to
discover the path to plugin-specific config files. This will no longer work in
all situations as the `Settings` object does not carry the necessary information
for the config path to be set correctly. Instead, plugins that need to know the
config path should have a single constructor that accepts a pair of `Settings`
and `Path` instances, and construct an `Environment` using the corresponding
constructor on `Environment`.

View File

@ -1,6 +0,0 @@
[[breaking_60_reindex_changes]]
=== Reindex changes
==== `size` parameter
The `size` parameter can no longer be explicitly set to `-1`. If all documents are required then the `size` parameter should not be set.

View File

@ -1,121 +0,0 @@
[[breaking_60_rest_changes]]
=== REST changes
==== Unquoted JSON
In previous versions of Elasticsearch, JSON documents were allowed to contain unquoted field names.
This feature was removed in the 5.x series, but a backwards-compatibility layer was added via the
system property `elasticsearch.json.allow_unquoted_field_names`. This backwards-compatibility layer
has been removed in Elasticsearch 6.0.0.
==== Duplicate Keys in JSON, CBOR, Yaml and Smile
In previous versions of Elasticsearch, documents were allowed to contain duplicate keys. Elasticsearch 6.0.0
enforces that all keys are unique. This applies to all content types: JSON, CBOR, Yaml and Smile.
==== Content-Type Auto-detection
In previous versions of Elasticsearch, having a proper Content-Type for the data in a request was not enforced.
Elasticsearch 6.0.0 enforces that all requests with a body must have a supported Content-Type and this type will
be used when parsing the data.
When using the `source` query string parameter, the `source_content_type` parameter must also be specified with
the media type of the source.
==== Boolean API parameters
All REST APIs parameters (both request parameters and JSON body) support providing boolean "false" as the
value `false` and boolean "true" as the value `true`. All other values will raise an error.
==== Analyze API changes
The deprecated request parameters and plain text in request body has been removed. Define parameters in request body.
==== Support custom normalizer in Analyze API
Analyze API can analyze normalizer and custom normalizer.
In previous versions of Elasticsearch, Analyze API is requiring a `tokenizer` or `analyzer` parameter.
In Elasticsearch 6.0.0, Analyze API can analyze a text as a keyword field with custom normalizer
or if `char_filter`/`filter` is set and `tokenizer`/`analyzer` is not set.
==== Indices exists API
The `ignore_unavailable` and `allow_no_indices` options are no longer accepted
as they could cause undesired results when their values differed from their
defaults.
==== `timestamp` and `ttl` in index requests
`timestamp` and `ttl` are not accepted anymore as parameters of index/update
requests.
==== Refresh requests with one or more shard failures return HTTP 500 response instead of 200
Refresh requests that are broadcast to multiple shards that can have one or more
shards fail during the request now return a 500 response instead of a 200
response in the event there is at least one failure.
==== Delete by Query API requires an explicit 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, delete by query requests require an explicit query.
==== DELETE document calls now implicitly create the type
Running `DELETE index/type/id` now implicitly creates `type` with a default
mapping if it did not exist yet.
==== Indices information APIs
Previously it was possible to execute `GET /_aliases,_mappings` or `GET
/myindex/_settings,_alias` by separating mulitple types of requests with commas
in order to retrieve multiple types of information about one or more indices.
This comma-separation for retrieving multiple pieces of information has been
removed.. `GET /_all` can be used to retrieve all aliases, settings, and
mappings for all indices. In order to retrieve only the mappings for an index,
`GET /myindex/_mappings` (or `_aliases`, or `_settings`).
==== Requests to existing endpoints with incorrect HTTP verb now return 405 responses
Issuing a request to an endpoint that exists, but with an incorrect HTTP verb
(such as a `POST` request to `/myindex/_settings`) now returns an HTTP 405
response instead of a 404. An `Allow` header is added to the 405 responses
containing the allowed verbs. For example:
[source,text]
-------------------------------------------
$ curl -v -XPOST 'localhost:9200/my_index/_settings'
* Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to localhost (127.0.0.1) port 9200 (#0)
> POST /my_index/_settings HTTP/1.1
> Host: localhost:9200
> User-Agent: curl/7.51.0
> Accept: */*
>
< HTTP/1.1 405 Method Not Allowed
< Allow: PUT,GET
< content-type: application/json; charset=UTF-8
< content-length: 134
<
{
"error" : "Incorrect HTTP method for uri [/my_index/_settings] and method [POST], allowed: [PUT, GET]",
"status" : 405
}
* Curl_http_done: called premature == 0
* Connection #0 to host localhost left intact
--------------------------------------------
==== Disallow using `_cache` and `_cache_key`
The `_cache` and `_cache_key` options in queries have been deprecated since version 2.0.0 and
have been ignored since then, issuing a deprecation warning. These options have now been completely
removed, so using them now will throw an error.
==== IndexClosedException to return 400 status code
An `IndexClosedException` is returned whenever an api that doesn't support
closed indices (e.g. search) is called passing closed indices as parameters
and `ignore_unavailable` is set to `false`. The response status code returned
in such case changed from `403` to `400`

View File

@ -1,81 +0,0 @@
[[breaking_60_scripting_changes]]
=== Scripting changes
==== Groovy, JavaScript, and Python languages removed
The Groovy, JavaScript, and Python scripting languages were deprecated in
elasticsearch 5.0 and have now been removed. Use painless instead.
==== Native scripts removed
Native scripts have been removed. Instead,
<<modules-scripting-engine, implement a `ScriptEngine`>>.
==== Date fields now return dates
`doc.some_date_field.value` now returns ++ReadableDateTime++s instead of
milliseconds since epoch as a `long`. The same is true for
`doc.some_date_field[some_number]`. Use `doc.some_date_field.value.millis` to
fetch the milliseconds since epoch if you need it.
==== Removed access to index internal via the `_index` variable
The `_index` variable has been removed. If you used it for advanced scoring, consider writing a `Similarity` plugin.
==== Script Settings
All of the existing scripting security settings have been removed. Instead
they are replaced with `script.allowed_types` and `script.allowed_contexts`.
==== `lang` can no longer be specified when using a stored script as part of a request
The `lang` variable can no longer be specified as part of a request that uses a stored
script otherwise an error will occur. Note that a request using a stored script is
different from a request that puts a stored script. The language of the script has
already been stored as part of the cluster state and an `id` is sufficient to access
all of the information necessary to execute a stored script.
==== 'lang` can no longer be used when putting, getting, or deleting a stored script
Stored scripts can no longer have the `lang` parameter specified as part of the url
when performing PUT, GET, and DELETE actions on the `_scripts/` path. All stored
scripts must have a unique `id` as the namespace is only `id` now and no longer `lang`
and `id`.
==== Stored search template apis removed
The PUT, GET and DELETE `_search/template` apis have been removed. Store search templates with the stored scripts apis instead.
For example, previously one might have stored a search template with the following:
[source,js]
--------------------------------------------------
PUT /_search/template/my_template
{
"query": {
"match": {
"f1": "{{f1}}"
}
}
}
--------------------------------------------------
And instead one would now use the following:
[source,js]
--------------------------------------------------
PUT /_scripts/my_template
{
"script": {
"lang": "mustache",
"source": {
"query": {
"match": {
"f1": "{{f1}}"
}
}
}
}
}
--------------------------------------------------

View File

@ -1,143 +0,0 @@
[[breaking_60_search_changes]]
=== Search and Query DSL changes
==== Changes to queries
* The `collect_payloads` parameter of the `span_near` query has been removed. Payloads will be
loaded when needed.
* Queries on boolean fields now strictly parse boolean-like values. This means
only the strings `"true"` and `"false"` will be parsed into their boolean
counterparts. Other strings will cause an error to be thrown.
* The `in` query (a synonym for the `terms` query) has been removed
* The `geo_bbox` query (a synonym for the `geo_bounding_box` query) has been removed
* The `mlt` query (a synonym for the `more_like_this` query) has been removed
* The `fuzzy_match` and `match_fuzzy` query (synonyma for the `match` query) have been removed
* The `terms` query now always returns scores equal to `1` and is not subject to
`indices.query.bool.max_clause_count` anymore.
* The deprecated `indices` query has been removed.
* Support for empty query objects (`{ }`) has been removed from the query DSL.
An error is thrown whenever an empty query object is provided.
* The deprecated `minimum_number_should_match` parameter in the `bool` query has
been removed, use `minimum_should_match` instead.
* The `query_string` query now correctly parses the maximum number of
states allowed when
"https://en.wikipedia.org/wiki/Powerset_construction#Complexity[determinizing]"
a regex as `max_determinized_states` instead of the typo
`max_determined_states`.
* The `query_string` query no longer accepts `enable_position_increment`, use
`enable_position_increments` instead.
* For `geo_distance` queries, sorting, and aggregations the `sloppy_arc` option
has been removed from the `distance_type` parameter.
* The `geo_distance_range` query, which was deprecated in 5.0, has been removed.
* The `optimize_bbox` parameter has been removed from `geo_distance` queries.
* The `ignore_malformed` and `coerce` parameters have been removed from
`geo_bounding_box`, `geo_polygon`, and `geo_distance` queries.
* The `disable_coord` parameter of the `bool` and `common_terms` queries has
been removed. If provided, it will be ignored and issue a deprecation warning.
* The `template` query has been removed. This query was deprecated since 5.0
* The `percolate` query's `document_type` has been deprecated. From 6.0 and later
it is no longer required to specify the `document_type` parameter.
* The `split_on_whitespace` parameter for the `query_string` query has been removed.
If provided, it will be ignored and issue a deprecation warning.
The `query_string` query now splits on operator only.
* The `use_dismax` parameter for the `query_string` query has been removed.
If provided, it will be ignored and issue a deprecation warning.
The `tie_breaker` parameter must be used instead.
* The `auto_generate_phrase_queries` parameter for the `query_string` query has been removed,
use an explicit quoted query instead.
If provided, it will be ignored and issue a deprecation warning.
* The `all_fields` parameter for the `query_string` has been removed.
Set `default_field` to *` instead.
If provided, `default_field` will be automatically set to `*`
* The `index` parameter in the terms filter, used to look up terms in a dedicated index is
now mandatory. Previously, the index defaulted to the index the query was executed on. Now this index
must be explicitly set in the request.
==== Search shards API
The search shards API no longer accepts the `type` url parameter, which didn't
have any effect in previous versions.
==== Changes to the Profile API
The `"time"` field showing human readable timing output has been replaced by the `"time_in_nanos"`
field which displays the elapsed time in nanoseconds. The `"time"` field can be turned on by adding
`"?human=true"` to the request url. It will display a rounded, human readable time value.
==== Scoring changes
===== Query normalization
Query normalization has been removed. This means that the TF-IDF similarity no
longer tries to make scores comparable across queries and that boosts are now
integrated into scores as simple multiplicative factors.
Other similarities are not affected as they did not normalize scores and
already integrated boosts into scores as multiplicative factors.
See https://issues.apache.org/jira/browse/LUCENE-7347[`LUCENE-7347`] for more
information.
===== Coordination factors
Coordination factors have been removed from the scoring formula. This means that
boolean queries no longer score based on the number of matching clauses.
Instead, they always return the sum of the scores of the matching clauses.
As a consequence, use of the TF-IDF similarity is now discouraged as this was
an important component of the quality of the scores that this similarity
produces. BM25 is recommended instead.
See https://issues.apache.org/jira/browse/LUCENE-7347[`LUCENE-7347`] for more
information.
==== Fielddata on `_uid`
Fielddata on `_uid` is deprecated. It is possible to switch to `_id` instead
but the only reason why it has not been deprecated too is because it is used
for the `random_score` function. If you really need access to the id of
documents for sorting, aggregations or search scripts, the recommendation is
to duplicate the id as a field in the document.
==== Highlighters
The `unified` highlighter is the new default choice for highlighter.
The offset strategy for each field is picked internally by this highlighter depending on the
type of the field (`index_options`).
It is still possible to force the highlighter to `fvh` or `plain` types.
The `postings` highlighter has been removed from Lucene and Elasticsearch.
The `unified` highlighter outputs the same highlighting when `index_options` is set
to `offsets`.
==== `fielddata_fields`
The deprecated `fielddata_fields` have now been removed. `docvalue_fields` should be used instead.
==== Inner hits
The source inside a hit of inner hits keeps its full path with respect to the entire source.
In prior versions the source field names were relative to the inner hit.

View File

@ -1,88 +0,0 @@
[[breaking_60_settings_changes]]
=== Settings changes
==== Remove support for elasticsearch.json and elasticsearch.yaml configuration file
The configuration file found in the Elasticsearch config directory could previously have
a `.yml`, `.yaml` or `.json` extension. Only `elasticsearch.yml` is now supported.
==== Duplicate keys in configuration file
In previous versions of Elasticsearch, the configuration file was allowed to
contain duplicate keys. For example:
[source,yaml]
--------------------------------------------------
node:
name: my-node
node
attr:
rack: my-rack
--------------------------------------------------
In Elasticsearch 6.0.0, this is no longer permitted. Instead, this must be
specified in a single key as:
[source,yaml]
--------------------------------------------------
node:
name: my-node
attr:
rack: my-rack
--------------------------------------------------
==== Coercion of boolean settings
Previously, Elasticsearch recognized the strings `true`, `false`, `on`, `off`, `yes`, `no`, `0`, `1` as booleans. Elasticsearch 6.0
recognizes only `true` and `false` as boolean and will throw an error otherwise. For backwards compatibility purposes, during the 6.x series
index settings on pre-6.0 indices will continue to work. Note that this does not apply to node-level settings that are stored
in `elasticsearch.yml`.
==== Snapshot settings
The internal setting `cluster.routing.allocation.snapshot.relocation_enabled` that allowed shards with running snapshots to be reallocated to
different nodes has been removed. Enabling this setting could cause allocation issues if a shard got allocated off a node and then
reallocated back to this node while a snapshot was running.
==== Store throttling settings
Store throttling has been removed. As a consequence, the
`indices.store.throttle.type` and `indices.store.throttle.max_bytes_per_sec`
cluster settings and the `index.store.throttle.type` and
`index.store.throttle.max_bytes_per_sec` index settings are not
recognized anymore.
==== Store settings
The `default` `index.store.type` has been removed. If you were using it, we
advise that you simply remove it from your index settings and Elasticsearch
will use the best `store` implementation for your operating system.
==== Network settings
The blocking TCP client, blocking TCP server, and blocking HTTP server have been removed.
As a consequence, the `network.tcp.blocking_server`, `network.tcp.blocking_client`,
`network.tcp.blocking`,`transport.tcp.blocking_client`, `transport.tcp.blocking_server`,
and `http.tcp.blocking_server` settings are not recognized anymore.
The previously unused settings `transport.netty.max_cumulation_buffer_capacity`,
`transport.netty.max_composite_buffer_components` and
`http.netty.max_cumulation_buffer_capacity` have been removed.
==== Similarity settings
The `base` similarity is now ignored as coords and query normalization have
been removed. If provided, this setting will be ignored and issue a
deprecation warning.
==== Script Settings
All of the existing scripting security settings have been removed. Instead
they are replaced with `script.allowed_types` and `script.allowed_contexts`.
==== Discovery Settings
The `discovery.type` settings no longer supports the values `gce`, `aws` and `ec2`.
Integration with these platforms should be done by setting the `discovery.zen.hosts_provider` setting to
one of those values.

View File

@ -1,17 +0,0 @@
[[breaking_60_stats_changes]]
=== Stats and info changes
==== Removal of `throttle_time` in the `store` stats
Given that store throttling has been removed, the `store` stats do not report
`throttle_time` anymore.
==== FS stats no longer reports if the disk spins
Elasticsearch has defaulted to assuming that it is running on SSDs since
the 2.x series of Elasticsearch. As such, Elasticsearch no longer needs to
collect information from the operating system as to whether or not the
underlying disks of each data path spin or not. While this functionality was no
longer needed starting in the 2.x series of Elasticsearch, it was maintained in
the filesystem section of the nodes stats APIs. This information has now been
removed.

View File

@ -0,0 +1,23 @@
[[breaking-changes-7.0]]
== Breaking changes in 7.0
This section discusses the changes that you need to be aware of when migrating
your application to Elasticsearch 7.0.
[float]
=== Indices created before 7.0
Elasticsearch 7.0 can read indices created in version 6.0 or above. An
Elasticsearch 7.0 node will not start in the presence of indices created in a
version of Elasticsearch before 6.0.
[IMPORTANT]
.Reindex indices from Elasticseach 5.x or before
=========================================
Indices created in Elasticsearch 5.x or before will need to be reindexed with
Elasticsearch 6.x in order to be readable by Elasticsearch 7.x. The easiest
way to reindex old indices is to use the `reindex` API.
=========================================

View File

@ -3,13 +3,11 @@
[partintro]
--
This section summarizes the changes in each release.
* <<release-notes-6.0.0-alpha2>>
* <<release-notes-6.0.0-alpha1>>
* <<release-notes-6.0.0-alpha1-5x>>
* <<release-notes-7.0.0-alpha1>>
--
include::release-notes/6.0.0-alpha2.asciidoc[]
include::release-notes/6.0.0-alpha1.asciidoc[]
include::release-notes/6.0.0-alpha1-5x.asciidoc[]
include::release-notes/7.0.0-alpha1.asciidoc[]

File diff suppressed because it is too large Load Diff

View File

@ -1,312 +0,0 @@
[[release-notes-6.0.0-alpha1]]
== 6.0.0-alpha1 Release Notes
The changes listed below have been released for the first time in Elasticsearch 6.0.0-alpha1. Changes in this release which were first released in the 5.x series are listed in <<release-notes-6.0.0-alpha1-5x>>.
Also see <<breaking-changes-6.0>>.
[[breaking-6.0.0-alpha1]]
[float]
=== Breaking changes
Allocation::
* Remove `cluster.routing.allocation.snapshot.relocation_enabled` setting {pull}20994[#20994]
Analysis::
* Removing query-string parameters in `_analyze` API {pull}20704[#20704] (issue: {issue}20246[#20246])
CAT API::
* Write -1 on unbounded queue in cat thread pool {pull}21342[#21342] (issue: {issue}21187[#21187])
CRUD::
* Disallow `VersionType.FORCE` for GetRequest {pull}21079[#21079] (issue: {issue}20995[#20995])
* Disallow `VersionType.FORCE` versioning for 6.x indices {pull}20995[#20995] (issue: {issue}20377[#20377])
Cluster::
* No longer allow cluster name in data path {pull}20433[#20433] (issue: {issue}20391[#20391])
Core::
* Simplify file store {pull}24402[#24402] (issue: {issue}24390[#24390])
* Make boolean conversion strict {pull}22200[#22200]
* Remove the `default` store type. {pull}21616[#21616]
* Remove store throttling. {pull}21573[#21573]
Geo::
* Remove deprecated geo search features {pull}22876[#22876]
* Reduce GeoDistance Insanity {pull}19846[#19846]
Index APIs::
* Open/Close index api to allow_no_indices by default {pull}24401[#24401] (issues: {issue}24031[#24031], {issue}24341[#24341])
* Remove support for controversial `ignore_unavailable` and `allow_no_indices` from indices exists api {pull}20712[#20712]
Index Templates::
* Allows multiple patterns to be specified for index templates {pull}21009[#21009] (issue: {issue}20690[#20690])
Java API::
* Enforce Content-Type requirement on the rest layer and remove deprecated methods {pull}23146[#23146] (issue: {issue}19388[#19388])
Mapping::
* Enforce at most one type. {pull}24428[#24428] (issue: {issue}24317[#24317])
* Disallow `include_in_all` for 6.0+ indices {pull}22970[#22970] (issue: {issue}22923[#22923])
* Disable _all by default, disallow configuring _all on 6.0+ indices {pull}22144[#22144] (issues: {issue}19784[#19784], {issue}20925[#20925], {issue}21341[#21341])
* Throw an exception on unrecognized "match_mapping_type" {pull}22090[#22090] (issue: {issue}17285[#17285])
Network::
* Remove blocking TCP clients and servers {pull}22639[#22639]
* Remove `modules/transport_netty_3` in favor of `netty_4` {pull}21590[#21590]
* Remove LocalTransport in favor of MockTcpTransport {pull}20695[#20695]
Packaging::
* Remove customization of ES_USER and ES_GROUP {pull}23989[#23989] (issue: {issue}23848[#23848])
Percolator::
* Remove deprecated percolate and mpercolate apis {pull}22331[#22331]
Plugin Delete By Query::
* Require explicit query in _delete_by_query API {pull}23632[#23632] (issue: {issue}23629[#23629])
Plugin Discovery EC2::
* Ec2 Discovery: Cleanup deprecated settings {pull}24150[#24150]
* Discovery EC2: Remove region setting {pull}23991[#23991] (issue: {issue}22758[#22758])
* AWS Plugins: Remove signer type setting {pull}23984[#23984] (issue: {issue}22599[#22599])
Plugin Lang JS::
* Remove lang-python and lang-javascript {pull}20734[#20734] (issue: {issue}20698[#20698])
Plugin Mapper Attachment::
* Remove mapper attachments plugin {pull}20416[#20416] (issue: {issue}18837[#18837])
Plugin Repository Azure::
* Remove global `repositories.azure` settings {pull}23262[#23262] (issues: {issue}22800[#22800], {issue}22856[#22856])
* Remove auto creation of container for azure repository {pull}22858[#22858] (issue: {issue}22857[#22857])
Plugin Repository S3::
* S3 Repository: Cleanup deprecated settings {pull}24097[#24097]
* S3 Repository: Remove region setting {pull}22853[#22853] (issue: {issue}22758[#22758])
* S3 Repository: Remove bucket auto create {pull}22846[#22846] (issue: {issue}22761[#22761])
* S3 Repository: Remove env var and sysprop credentials support {pull}22842[#22842]
Query DSL::
* Remove deprecated `minimum_number_should_match` in BoolQueryBuilder {pull}22416[#22416]
* Remove support for empty queries {pull}22092[#22092] (issue: {issue}17624[#17624])
* Remove deprecated query names: in, geo_bbox, mlt, fuzzy_match and match_fuzzy {pull}21852[#21852]
* The `terms` query should always map to a Lucene `TermsQuery`. {pull}21786[#21786]
* Be strict when parsing values searching for booleans {pull}21555[#21555] (issue: {issue}21545[#21545])
* Remove collect payloads parameter {pull}20385[#20385]
REST::
* Remove ldjson support and document ndjson for bulk/msearch {pull}23049[#23049] (issue: {issue}23025[#23025])
* Enable strict duplicate checks for all XContent types {pull}22225[#22225] (issues: {issue}19614[#19614], {issue}22073[#22073])
* Enable strict duplicate checks for JSON content {pull}22073[#22073] (issue: {issue}19614[#19614])
* Remove lenient stats parsing {pull}21417[#21417] (issues: {issue}20722[#20722], {issue}21410[#21410])
* Remove allow unquoted JSON {pull}20388[#20388] (issues: {issue}17674[#17674], {issue}17801[#17801])
* Remove FORCE version_type {pull}20377[#20377] (issue: {issue}19769[#19769])
Scripting::
* Make dates be ReadableDateTimes in scripts {pull}22948[#22948] (issue: {issue}22875[#22875])
* Remove groovy scripting language {pull}21607[#21607]
Search::
* ProfileResult and CollectorResult should print machine readable timing information {pull}22561[#22561]
* Remove indices query {pull}21837[#21837] (issue: {issue}17710[#17710])
* Remove ignored type parameter in search_shards api {pull}21688[#21688]
Sequence IDs::
* Change certain replica failures not to fail the replica shard {pull}22874[#22874] (issue: {issue}10708[#10708])
Shadow Replicas::
* Remove shadow replicas {pull}23906[#23906] (issue: {issue}22024[#22024])
[[breaking-java-6.0.0-alpha1]]
[float]
=== Breaking Java changes
Java API::
* Java api: ActionRequestBuilder#execute to return a PlainActionFuture {pull}24415[#24415] (issues: {issue}24412[#24412], {issue}9201[#9201])
Network::
* Simplify TransportAddress {pull}20798[#20798]
[[deprecation-6.0.0-alpha1]]
[float]
=== Deprecations
Index Templates::
* Restore deprecation warning for invalid match_mapping_type values {pull}22304[#22304]
Internal::
* Deprecate XContentType auto detection methods in XContentFactory {pull}22181[#22181] (issue: {issue}19388[#19388])
[[feature-6.0.0-alpha1]]
[float]
=== New features
Core::
* Enable index-time sorting {pull}24055[#24055] (issue: {issue}6720[#6720])
[[enhancement-6.0.0-alpha1]]
[float]
=== Enhancements
Aggregations::
* Agg builder accessibility fixes {pull}24323[#24323]
* Remove support for the include/pattern syntax. {pull}23141[#23141] (issue: {issue}22933[#22933])
* Promote longs to doubles when a terms agg mixes decimal and non-decimal numbers {pull}22449[#22449] (issue: {issue}22232[#22232])
Analysis::
* Match- and MultiMatchQueryBuilder should only allow setting analyzer on string values {pull}23684[#23684] (issue: {issue}21665[#21665])
Bulk::
* Simplify bulk request execution {pull}20109[#20109]
CRUD::
* Added validation for upsert request {pull}24282[#24282] (issue: {issue}16671[#16671])
Cluster::
* Separate publishing from applying cluster states {pull}24236[#24236]
* Adds cluster state size to /_cluster/state response {pull}23440[#23440] (issue: {issue}3415[#3415])
Core::
* Remove connect SocketPermissions from core {pull}22797[#22797]
* Add repository-url module and move URLRepository {pull}22752[#22752] (issue: {issue}22116[#22116])
* Remove accept SocketPermissions from core {pull}22622[#22622] (issue: {issue}22116[#22116])
* Move IfConfig.logIfNecessary call into bootstrap {pull}22455[#22455] (issue: {issue}22116[#22116])
* Remove artificial default processors limit {pull}20874[#20874] (issue: {issue}20828[#20828])
* Simplify write failure handling {pull}19105[#19105] (issue: {issue}20109[#20109])
Engine::
* Fill missing sequence IDs up to max sequence ID when recovering from store {pull}24238[#24238] (issue: {issue}10708[#10708])
* Use sequence numbers to identify out of order delivery in replicas & recovery {pull}24060[#24060] (issue: {issue}10708[#10708])
* Add replica ops with version conflict to translog {pull}22626[#22626]
* Clarify global checkpoint recovery {pull}21934[#21934] (issue: {issue}21254[#21254])
Internal::
* Try to convince the JVM not to lose stacktraces {pull}24426[#24426] (issue: {issue}24376[#24376])
* Make document write requests immutable {pull}23038[#23038]
Java High Level REST Client::
* Add info method to High Level Rest client {pull}23350[#23350]
* Add support for named xcontent parsers to high level REST client {pull}23328[#23328]
* Add BulkRequest support to High Level Rest client {pull}23312[#23312]
* Add UpdateRequest support to High Level Rest client {pull}23266[#23266]
* Add delete API to the High Level Rest Client {pull}23187[#23187]
* Add Index API to High Level Rest Client {pull}23040[#23040]
* Add get/exists method to RestHighLevelClient {pull}22706[#22706]
* Add fromxcontent methods to delete response {pull}22680[#22680] (issue: {issue}22229[#22229])
* Add REST high level client gradle submodule and first simple method {pull}22371[#22371]
Java REST Client::
* Wrap rest httpclient with doPrivileged blocks {pull}22603[#22603] (issue: {issue}22116[#22116])
Mapping::
* Date detection should not rely on a hardcoded set of characters. {pull}22171[#22171] (issue: {issue}1694[#1694])
Network::
* Isolate SocketPermissions to Netty {pull}23057[#23057]
* Wrap netty accept/connect ops with doPrivileged {pull}22572[#22572] (issue: {issue}22116[#22116])
* Replace Socket, ServerSocket, and HttpServer usages in tests with mocksocket versions {pull}22287[#22287] (issue: {issue}22116[#22116])
Plugin Discovery EC2::
* Read ec2 discovery address from aws instance tags {pull}22743[#22743] (issue: {issue}22566[#22566])
Plugin Repository HDFS::
* Add doPrivilege blocks for socket connect ops in repository-hdfs {pull}22793[#22793] (issue: {issue}22116[#22116])
Plugins::
* Add doPrivilege blocks for socket connect operations in plugins {pull}22534[#22534] (issue: {issue}22116[#22116])
Recovery::
* Peer Recovery: remove maxUnsafeAutoIdTimestamp hand off {pull}24243[#24243] (issue: {issue}24149[#24149])
* Introduce sequence-number-based recovery {pull}22484[#22484] (issue: {issue}10708[#10708])
Search::
* Add parsing from xContent to Suggest {pull}22903[#22903]
* Add parsing from xContent to ShardSearchFailure {pull}22699[#22699]
Sequence IDs::
* Block global checkpoint advances when recovering {pull}24404[#24404] (issue: {issue}10708[#10708])
* Add primary term to doc write response {pull}24171[#24171] (issue: {issue}10708[#10708])
* Preserve multiple translog generations {pull}24015[#24015] (issue: {issue}10708[#10708])
* Introduce translog generation rolling {pull}23606[#23606] (issue: {issue}10708[#10708])
* Replicate write failures {pull}23314[#23314]
* Introduce sequence-number-aware translog {pull}22822[#22822] (issue: {issue}10708[#10708])
* Introduce translog no-op {pull}22291[#22291] (issue: {issue}10708[#10708])
* Tighten sequence numbers recovery {pull}22212[#22212] (issue: {issue}10708[#10708])
* Add BWC layer to seq no infra and enable BWC tests {pull}22185[#22185] (issue: {issue}21670[#21670])
* Add internal _primary_term doc values field, fix _seq_no indexing {pull}21637[#21637] (issues: {issue}10708[#10708], {issue}21480[#21480])
* Add global checkpoint to translog checkpoints {pull}21254[#21254]
* Sequence numbers commit data for Lucene uses Iterable interface {pull}20793[#20793] (issue: {issue}10708[#10708])
* Simplify GlobalCheckpointService and properly hook it for cluster state updates {pull}20720[#20720]
Stats::
* Expose disk usage estimates in nodes stats {pull}22081[#22081] (issue: {issue}8686[#8686])
Store::
* Remote support for lucene versions without checksums {pull}24021[#24021]
Suggesters::
* Remove deprecated _suggest endpoint {pull}22203[#22203] (issue: {issue}20305[#20305])
Task Manager::
* Add descriptions to bulk tasks {pull}22059[#22059] (issue: {issue}21768[#21768])
[[bug-6.0.0-alpha1]]
[float]
=== Bug fixes
Ingest::
* Remove support for Visio and potm files {pull}22079[#22079] (issue: {issue}22077[#22077])
Inner Hits::
* If size / offset are out of bounds just do a plain count {pull}20556[#20556] (issue: {issue}20501[#20501])
Internal::
* Fix handling of document failure exception in InternalEngine {pull}22718[#22718]
Plugin Ingest Attachment::
* Add missing mime4j library {pull}22764[#22764] (issue: {issue}22077[#22077])
Plugin Repository S3::
* Wrap getCredentials() in a doPrivileged() block {pull}23297[#23297] (issues: {issue}22534[#22534], {issue}23271[#23271])
Sequence IDs::
* Avoid losing ops in file-based recovery {pull}22945[#22945] (issue: {issue}22484[#22484])
Snapshot/Restore::
* Keep snapshot restore state and routing table in sync {pull}20836[#20836] (issue: {issue}19774[#19774])
Translog::
* Fix Translog.Delete serialization for sequence numbers {pull}22543[#22543]
[[regression-6.0.0-alpha1]]
[float]
=== Regressions
Bulk::
* Only re-parse operation if a mapping update was needed {pull}23832[#23832] (issue: {issue}23665[#23665])
[[upgrade-6.0.0-alpha1]]
[float]
=== Upgrades
Core::
* Upgrade to a Lucene 7 snapshot {pull}24089[#24089] (issues: {issue}23966[#23966], {issue}24086[#24086], {issue}24087[#24087], {issue}24088[#24088])
Plugin Ingest Attachment::
* Update to Tika 1.14 {pull}21591[#21591] (issue: {issue}20390[#20390])

View File

@ -1,180 +0,0 @@
[[release-notes-6.0.0-alpha2]]
== 6.0.0-alpha2 Release Notes
Also see <<breaking-changes-6.0>>.
[[breaking-6.0.0-alpha2]]
[float]
=== Breaking changes
CRUD::
* Deleting a document from a non-existing index creates the indexIf the index does not exist, delete document will not auto create it {pull}24518[#24518] (issue: {issue}15425[#15425])
Plugin Analysis ICU::
* Upgrade icu4j to latest version {pull}24821[#24821]
Plugin Repository S3::
* Remove deprecated S3 settings {pull}24445[#24445]
Scripting::
* Remove script access to term statistics {pull}19462[#19462] (issue: {issue}19359[#19359])
[[breaking-java-6.0.0-alpha2]]
[float]
=== Breaking Java changes
Aggregations::
* Make Terms.Bucket an interface rather than an abstract class {pull}24492[#24492]
* Compound order for histogram aggregations {pull}22343[#22343] (issues: {issue}14771[#14771], {issue}20003[#20003], {issue}23613[#23613])
Plugins::
* Drop name from TokenizerFactory {pull}24869[#24869]
[[deprecation-6.0.0-alpha2]]
[float]
=== Deprecations
Settings::
* Deprecate settings in .yml and .json {pull}24059[#24059] (issue: {issue}19391[#19391])
[[feature-6.0.0-alpha2]]
[float]
=== New features
Aggregations::
* SignificantText aggregation - like significant_terms, but for text {pull}24432[#24432] (issue: {issue}23674[#23674])
Internal::
* Automatically adjust search threadpool queue_size {pull}23884[#23884] (issue: {issue}3890[#3890])
Mapping::
* Add new ip_range field type {pull}24433[#24433]
Plugin Analysis ICU::
* Add ICUCollationFieldMapper {pull}24126[#24126]
[[enhancement-6.0.0-alpha2]]
[float]
=== Enhancements
Core::
* Improve bootstrap checks error messages {pull}24548[#24548]
Engine::
* Move the IndexDeletionPolicy to be engine internal {pull}24930[#24930] (issue: {issue}10708[#10708])
Internal::
* Add assertions enabled helper {pull}24834[#24834]
Java High Level REST Client::
* Add doc_count to ParsedMatrixStats {pull}24952[#24952] (issue: {issue}24776[#24776])
* Add fromXContent method to ClearScrollResponse {pull}24909[#24909]
* ClearScrollRequest to implement ToXContentObject {pull}24907[#24907]
* SearchScrollRequest to implement ToXContentObject {pull}24906[#24906] (issue: {issue}3889[#3889])
* Add aggs parsers for high level REST Client {pull}24824[#24824] (issues: {issue}23965[#23965], {issue}23973[#23973], {issue}23974[#23974], {issue}24085[#24085], {issue}24160[#24160], {issue}24162[#24162], {issue}24182[#24182], {issue}24183[#24183], {issue}24208[#24208], {issue}24213[#24213], {issue}24239[#24239], {issue}24284[#24284], {issue}24312[#24312], {issue}24330[#24330], {issue}24365[#24365], {issue}24371[#24371], {issue}24442[#24442], {issue}24521[#24521], {issue}24524[#24524], {issue}24564[#24564], {issue}24583[#24583], {issue}24589[#24589], {issue}24648[#24648], {issue}24667[#24667], {issue}24675[#24675], {issue}24682[#24682], {issue}24700[#24700], {issue}24706[#24706], {issue}24717[#24717], {issue}24720[#24720], {issue}24738[#24738], {issue}24746[#24746], {issue}24789[#24789], {issue}24791[#24791], {issue}24794[#24794], {issue}24796[#24796], {issue}24822[#24822])
Mapping::
* Identify documents by their `_id`. {pull}24460[#24460]
Packaging::
* Set number of processes in systemd unit file {pull}24970[#24970] (issue: {issue}20874[#20874])
Plugin Lang Painless::
* Make Painless Compiler Use an Instance Per Context {pull}24972[#24972]
* Make PainlessScript An Interface {pull}24966[#24966]
Recovery::
* Introduce primary context {pull}25031[#25031] (issue: {issue}10708[#10708])
Scripting::
* Add StatefulFactoryType as optional intermediate factory in script contexts {pull}24974[#24974] (issue: {issue}20426[#20426])
* Make contexts available to ScriptEngine construction {pull}24896[#24896]
* Make ScriptEngine.compile generic on the script context {pull}24873[#24873]
* Add instance and compiled classes to script contexts {pull}24868[#24868]
Search::
* Eliminate array access in tight loops when profiling is enabled. {pull}24959[#24959]
* Support Multiple Inner Hits on a Field Collapse Request {pull}24517[#24517]
* Expand cross cluster search indices for search requests to the concrete index or to it's aliases {pull}24502[#24502]
Search Templates::
* Add max concurrent searches to multi template search {pull}24255[#24255] (issues: {issue}20912[#20912], {issue}21907[#21907])
Sequence IDs::
* Fill gaps on primary promotion {pull}24945[#24945] (issue: {issue}10708[#10708])
* Introduce clean transition on primary promotion {pull}24925[#24925] (issue: {issue}10708[#10708])
* Guarantee that translog generations are seqNo conflict free {pull}24825[#24825] (issues: {issue}10708[#10708], {issue}24779[#24779])
* Inline global checkpoints {pull}24513[#24513] (issue: {issue}10708[#10708])
Snapshot/Restore::
* Enhances get snapshots API to allow retrieving repository index only {pull}24477[#24477] (issue: {issue}24288[#24288])
[[bug-6.0.0-alpha2]]
[float]
=== Bug fixes
Aggregations::
* Terms aggregation should remap global ordinal buckets when a sub-aggregator is used to sort the terms {pull}24941[#24941] (issue: {issue}24788[#24788])
* Correctly set doc_count when MovAvg "predicts" values on existing buckets {pull}24892[#24892] (issue: {issue}24327[#24327])
* DateHistogram: Fix `extended_bounds` with `offset` {pull}23789[#23789] (issue: {issue}23776[#23776])
* Fix ArrayIndexOutOfBoundsException when no ranges are specified in the query {pull}23241[#23241] (issue: {issue}22881[#22881])
Analysis::
* PatternAnalyzer should lowercase wildcard queries when `lowercase` is true. {pull}24967[#24967]
Cache::
* fix bug of weight computation {pull}24856[#24856]
Core::
* Fix cache expire after access {pull}24546[#24546]
Index APIs::
* Validates updated settings on closed indices {pull}24487[#24487] (issue: {issue}23787[#23787])
Ingest::
* Fix floating-point error when DateProcessor parses UNIX {pull}24947[#24947]
* add option for _ingest.timestamp to use new ZonedDateTime (5.x backport) {pull}24030[#24030] (issues: {issue}23168[#23168], {issue}23174[#23174])
Inner Hits::
* Fix Source filtering in new field collapsing feature {pull}24068[#24068] (issue: {issue}24063[#24063])
Internal::
* Ensure remote cluster is connected before fetching `_field_caps` {pull}24845[#24845] (issue: {issue}24763[#24763])
Network::
* Fix error message if an incompatible node connects {pull}24884[#24884]
Plugins::
* Fix plugin installation permissions {pull}24527[#24527] (issue: {issue}24480[#24480])
Scroll::
* Fix single shard scroll within a cluster with nodes in version `>= 5.3` and `<= 5.3` {pull}24512[#24512]
Search::
* Fix script field sort returning Double.MAX_VALUE for all documents {pull}24942[#24942] (issue: {issue}24940[#24940])
* Compute the took time of the query after the expand phase of field collapsing {pull}24902[#24902] (issue: {issue}24900[#24900])
Sequence IDs::
* Handle primary failure handling replica response {pull}24926[#24926] (issue: {issue}24935[#24935])
Snapshot/Restore::
* Fix inefficient (worst case exponential) loading of snapshot repository {pull}24510[#24510] (issue: {issue}24509[#24509])
Stats::
* Avoid double decrement on current query counter {pull}24922[#24922] (issues: {issue}22996[#22996], {issue}24872[#24872])
* Adjust available and free bytes to be non-negative on huge FSes {pull}24911[#24911] (issues: {issue}23093[#23093], {issue}24453[#24453])
Suggesters::
* Fix context suggester to read values from keyword type field {pull}24200[#24200] (issue: {issue}24129[#24129])

View File

@ -0,0 +1,10 @@
[[release-notes-7.0.0-alpha1]]
== 7.0.0-alpha1 Release Notes
The changes listed below have been released for the first time in Elasticsearch 7.0.0-alpha1.
[[breaking-7.0.0-alpha1]]
[float]
=== Breaking changes
No breaking changes have been made (yet)