-
Notifications
You must be signed in to change notification settings - Fork 25.6k
Description
We have some mapping options that sound interesting but are actually almost useless or dangerous. I propose to remove them:
_type: { index: no }
Not indexing the _type
sounds appealing since documentation mentions everything will keep on working, so that should just save space. Except that elasticsearch will internally run a prefix query on the _uid
field instead, which is going to be super slow. I think we should remove this option.
_type: { store: yes }
and _id: { store: yes }
Storing the type and _id is useless since we already enforce the _uid to be stored, and the _uid contains these informations.
_id: { index: not_analyzed }
The _id
field is the same for all documents so we should not need to index, store or doc-value it. (Can be done now thanks to #6073 and #7965)
In general I'm wondering if we shouldn't go further and completely lock down how data is indexed/stored/docvalued for meta fields. There would just remain high-level configuration options such as enabled
on the _timestamp
mapper or type
on _parent
.
Relates to #8870