OpenSearch/docs/reference/migration/migrate_2_1.asciidoc

58 lines
1.8 KiB
Plaintext

[[breaking-changes-2.1]]
== Breaking changes in 2.1
This section discusses the changes that you need to be aware of when migrating
your application to Elasticsearch 2.1.
=== Search changes
==== `search_type=scan` deprecated
The `scan` search type has been deprecated. All benefits from this search
type can now be achieved by doing a scroll request that sorts documents in
`_doc` order, for instance:
[source,sh]
---------------
GET /my_index/_search?scroll=2m
{
"sort": [
"_doc"
]
}
---------------
Scroll requests sorted by `_doc` have been optimized to more efficiently resume
from where the previous request stopped, so this will have the same performance
characteristics as the former `scan` search type.
=== Update changes
==== Updates now `detect_noop` by default
We've switched the default value of the `detect_noop` option from `false` to
`true`. This means that Elasticsearch will ignore updates that don't change
source unless you explicitly set `"detect_noop": false`. `detect_noop` was
always computationally cheap compared to the expense of the update which can be
thought of as a delete operation followed by an index operation.
=== Removed features
==== `indices.fielddata.cache.expire`
The experimental feature `indices.fielddata.cache.expire` has been removed.
For indices that have this setting configured, this config will be ignored.
=== More Like This
The MoreLikeThisQueryBuilder#ignoreLike methods have been deprecating in favor
to using the unlike methods.
MoreLikeThisBuilder#addItem has been deprecated in favor to using
MoreLikeThisBuilder#addLikeItem.
=== Nested sorting
If sorting on field inside a nested object then the `nested_path` should be specified.
Before there was an attempt to resolve the nested path automatically, but that was sometimes incorrect.
To avoid confusion the `nested_path` should always be specified.