Skip to content

Recommend synthetic _source before disabling _source entirely - #7699

Open
ash9146 wants to merge 1 commit into
elastic:mainfrom
ash9146:synthetic-source-disk-usage-note
Open

Recommend synthetic _source before disabling _source entirely#7699
ash9146 wants to merge 1 commit into
elastic:mainfrom
ash9146:synthetic-source-disk-usage-note

Conversation

@ash9146

@ash9146 ash9146 commented Aug 1, 2026

Copy link
Copy Markdown

Summary

The mapping-source-field.md reference page lists synthetic _source
as the first option to consider for reducing _source disk usage,
before disabling _source completely:

If disk usage is important to you, then consider the following options:

  1. Using synthetic _source...
  2. Disabling the _source field completely.

This production-guidance page (disk-usage.md) only covered the second,
more disruptive option under "Disable _source" - reindex, update, and
highlighting stop working once _source is disabled. Synthetic
_source avoids that tradeoff for most common field types by
reconstructing _source at retrieval time from doc_values instead of
storing it, so reindex and update continue to work normally.

What's added

A new "Reduce _source storage overhead" section, placed right before
the existing "Disable _source" section, that:

  • Recommends synthetic _source as the option to consider first
  • Notes it requires an Enterprise subscription
    (per elastic.co/subscriptions, synthetic _source has been an
    Enterprise feature since 8.17)
  • Notes the reconstructed _source can differ slightly from the
    original document (field order, array handling), linking to the
    relevant reference section for details

This isn't presented as a strictly better replacement for the existing
"Disable _source" section - both stay, since synthetic _source
requires a subscription and has its own caveats, so fully disabling
_source remains a valid option for some readers.

Testing

  • Docs build passes
  • New section renders correctly between "Watch your shard size" and
    "Disable _source"

The mapping-source-field.md reference page lists synthetic _source as
the first option to consider for reducing _source disk usage, before
disabling _source completely - but this production-guidance page only
covered the latter, more disruptive option (reindex/update stop
working). Synthetic _source avoids that tradeoff for most common field
types by reconstructing _source at retrieval time from doc_values
instead of storing it.

Notes the Enterprise subscription requirement (per elastic.co/subscriptions,
synthetic _source has been an Enterprise feature since 8.17) and the
minor document-shape differences synthetic _source can introduce, so
this isn't presented as a free lunch.
@ash9146
ash9146 requested a review from a team as a code owner August 1, 2026 00:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant