本地英文版地址: ../en/breaking-changes-7.6.html
Breaking changes in 7.6edit
This section discusses the changes that you need to be aware of when migrating your application to Elasticsearch 7.6.
See also 7.7版本的新特性 and Release notes.
Security changesedit
Elasticsearch API key privilegesedit
If you use an API key to create another API key (sometimes called a derived key), its behavior is impacted by the fix for CVE-2020-7009.
When you make a request to create API keys, you can specify an expiration and privileges for the API key. Previously, when you created a derived key, it had no privileges. This behavior disregarded any privileges that you specified in the create API key API.
As of 7.6.2, this behavior changes. To create a derived key, you must explicitly specify a role descriptor with no privileges:
... "role_descriptors": { "no-privilege": { } } ...
Search changesedit
Aggregating and sorting on _id
is deprecatededit
It’s possible to aggregate and sort on the built-in _id
field by loading an
expensive data structure called fielddata. This was deprecated in 7.6 and will
be disallowed by default in 8.0. As an alternative, the _id
field’s contents
can be duplicated into another field with docvalues enabled (note that this
does not apply to auto-generated IDs).
Deprecation of sparse vector fieldsedit
The sparse_vector
field type has been deprecated and will be removed in 8.0.
We have not seen much interest in this experimental field type, and don’t see
a clear use case as it’s currently designed. If you have feedback or
suggestions around sparse vector functionality, please let us know through
GitHub or the discuss forums.
Update to vector function signaturesedit
The vector functions of the form function(query, doc['field'])
are
deprecated, and the form function(query, 'field')
should be used instead.
For example, cosineSimilarity(query, doc['field'])
is replaced by
cosineSimilarity(query, 'field')
.
Disallow use of the nGram
and edgeNGram
tokenizer namesedit
The nGram
and edgeNGram
tokenizer names haven been deprecated with 7.6.
Mappings for indices created after 7.6 will continue to work but emit a
deprecation warning. The tokenizer name should be changed to the fully
equivalent ngram
or edge_ngram
names for new indices and in index
templates.