Description
With synthetic _source
enabled, values of fields that are not indexed (e.g. using dynamic: false
) are stored in a special stored field. This is needed to replicate the behaviour of stored _source
and enable reindexing that changes the mapping to now index such a field.
With stored _source
it is possible to use excludes
field on _source
mapper to exclude the field from being stored in _source
stored field. With this configuration a field will be not represented on disk in any way. This scenario is currently not possible using synthetic _source
because excludes
field is not compatible with synthetic _source
. So in such case field values will be stored via fallback synthetic source making such setup less efficient in terms of storage space.
This issue is about exposing configuration options to achieve the same result of zero bytes being stored for a field.