124 lines
5.3 KiB
Plaintext
124 lines
5.3 KiB
Plaintext
[discrete]
|
|
[[breaking_70_indices_changes]]
|
|
=== Indices changes
|
|
|
|
//NOTE: The notable-breaking-changes tagged regions are re-used in the
|
|
//Installation and Upgrade Guide
|
|
|
|
//tag::notable-breaking-changes[]
|
|
|
|
// end::notable-breaking-changes[]
|
|
|
|
[discrete]
|
|
==== Index creation no longer defaults to five shards
|
|
Previous versions of Elasticsearch defaulted to creating five shards per index.
|
|
Starting with 7.0.0, the default is now one shard per index.
|
|
|
|
[discrete]
|
|
[[_literal_literal_is_no_longer_allowed_in_index_name]]
|
|
==== `:` is no longer allowed in index name
|
|
|
|
Due to cross-cluster search using `:` to separate a cluster and index name,
|
|
index names may no longer contain `:`.
|
|
|
|
[discrete]
|
|
[[index-unassigned-node-left-delayed-timeout-no-longer-negative]]
|
|
==== `index.unassigned.node_left.delayed_timeout` may no longer be negative
|
|
|
|
Negative values were interpreted as zero in earlier versions but are no
|
|
longer accepted.
|
|
|
|
[discrete]
|
|
[[flush-force-merge-no-longer-refresh]]
|
|
==== `_flush` and `_force_merge` will no longer refresh
|
|
|
|
In previous versions issuing a `_flush` or `_force_merge` (with `flush=true`)
|
|
had the undocumented side-effect of refreshing the index which made new documents
|
|
visible to searches and non-realtime GET operations. From now on these operations
|
|
don't have this side-effect anymore. To make documents visible an explicit `_refresh`
|
|
call is needed unless the index is refreshed by the internal scheduler.
|
|
|
|
[discrete]
|
|
==== Limit to the difference between max_size and min_size in NGramTokenFilter and NGramTokenizer
|
|
|
|
To safeguard against creating too many index terms, the difference between `max_ngram` and
|
|
`min_ngram` in `NGramTokenFilter` and `NGramTokenizer` has been limited to 1. This default
|
|
limit can be changed with the index setting `index.max_ngram_diff`. Note that if the limit is
|
|
exceeded a error is thrown only for new indices. For existing pre-7.0 indices, a deprecation
|
|
warning is logged.
|
|
|
|
[discrete]
|
|
==== Limit to the difference between max_shingle_size and min_shingle_size in ShingleTokenFilter
|
|
|
|
To safeguard against creating too many tokens, the difference between `max_shingle_size` and
|
|
`min_shingle_size` in `ShingleTokenFilter` has been limited to 3. This default
|
|
limit can be changed with the index setting `index.max_shingle_diff`. Note that if the limit is
|
|
exceeded a error is thrown only for new indices. For existing pre-7.0 indices, a deprecation
|
|
warning is logged.
|
|
|
|
[discrete]
|
|
==== Document distribution changes
|
|
|
|
Indices created with version `7.0.0` onwards will have an automatic `index.number_of_routing_shards`
|
|
value set. This might change how documents are distributed across shards depending on how many
|
|
shards the index has. In order to maintain the exact same distribution as a pre `7.0.0` index, the
|
|
`index.number_of_routing_shards` must be set to the `index.number_of_shards` at index creation time.
|
|
Note: if the number of routing shards equals the number of shards `_split` operations are not supported.
|
|
|
|
[discrete]
|
|
==== Skipped background refresh on search idle shards
|
|
|
|
Shards belonging to an index that does not have an explicit
|
|
`index.refresh_interval` configured will no longer refresh in the background
|
|
once the shard becomes "search idle", ie the shard hasn't seen any search
|
|
traffic for `index.search.idle.after` seconds (defaults to `30s`). Searches
|
|
that access a search idle shard will be "parked" until the next refresh
|
|
happens. Indexing requests with `wait_for_refresh` will also trigger
|
|
a background refresh.
|
|
|
|
[discrete]
|
|
==== Remove deprecated url parameters for Clear Indices Cache API
|
|
|
|
The following previously deprecated url parameter have been removed:
|
|
|
|
* `filter` - use `query` instead
|
|
* `filter_cache` - use `query` instead
|
|
* `request_cache` - use `request` instead
|
|
* `field_data` - use `fielddata` instead
|
|
|
|
[discrete]
|
|
[[network-breaker-inflight-requests-overhead-increased-to-2]]
|
|
==== `network.breaker.inflight_requests.overhead` increased to 2
|
|
|
|
Previously the in flight requests circuit breaker considered only the raw byte representation.
|
|
By bumping the value of `network.breaker.inflight_requests.overhead` from 1 to 2, this circuit
|
|
breaker considers now also the memory overhead of representing the request as a structured object.
|
|
|
|
[discrete]
|
|
==== Parent circuit breaker changes
|
|
|
|
The parent circuit breaker defines a new setting `indices.breaker.total.use_real_memory` which is
|
|
`true` by default. This means that the parent circuit breaker will trip based on currently used
|
|
heap memory instead of only considering the reserved memory by child circuit breakers. When this
|
|
setting is `true`, the default parent breaker limit also changes from 70% to 95% of the JVM heap size.
|
|
The previous behavior can be restored by setting `indices.breaker.total.use_real_memory` to `false`.
|
|
|
|
[discrete]
|
|
==== Field data circuit breaker changes
|
|
As doc values have been enabled by default in earlier versions of Elasticsearch,
|
|
there is less need for fielddata. Therefore, the default value of the setting
|
|
`indices.breaker.fielddata.limit` has been lowered from 60% to 40% of the JVM
|
|
heap size.
|
|
|
|
[discrete]
|
|
[[fix-value-for-index-shard-check-on-startup-removed]]
|
|
==== `fix` value for `index.shard.check_on_startup` is removed
|
|
|
|
Deprecated option value `fix` for setting `index.shard.check_on_startup` is not supported.
|
|
|
|
[discrete]
|
|
[[elasticsearch-translog-removed]]
|
|
==== `elasticsearch-translog` is removed
|
|
|
|
Use the `elasticsearch-shard` tool to remove corrupted translog data.
|