I used GitHub - elastic/elasticsearch-migration: This plugin will help you to check whether you can upgrade directly to the next major version of Elasticsearch, or whether you need to make changes to your data and cluster before doing so. v0.11 on our production index and it flagged our 3 usages of _id with a _path which the docs clearly say will no longer be allowed. However, the wording confuses me as to what is allowed:
The
_idfield can no longer be configured in new indices. Importantly, it will not be possible to extract the_idvalue from apathin types, ...
and
(you can't have) "Custom configured
_idfield."
_id field | Elasticsearch Guide [2.0] | Elastic it says
The
_idfield is not indexed as its value can be derived automatically from the_uidfield.
and
The value of the
_idfield is accessible in queries and scripts, but not in aggregations or when sorting, where the _uid field should be used instead
My question is in ES 2.0 can we still define a custom type mapping (e.g., 'type': 'string', 'store': True, 'index': 'not_analyzed') and populate our own value of the _id field (just not using path)? On a related note, I notice our current setup using path ends up with some mappings of _id with type string and others with type long, which would appear to be a conflict which is not flagged. Are there global restrictions on the type of the _id field (e.g., can only be 'type': 'string', 'index': 'not_analyzed')?
Please advise.