Add support for dynamic runtime fields that are not added to the mapping #88249
Labels
>enhancement
:Search Foundations/Mapping
Index mappings, including merging and defining field types
Team:Search
Meta label for search team
Description
Scenario: say a user does not want to index all fields of a document (such as a log event) by default to save on disk space and ingest time. But they still want to be able to search by any field and potentially index the fields in the future.
This sounds like a perfect fit for setting
dynamic: runtime
. Well, almost. The issue is that this will still add all of the fields to the mapping which makes the index prone to mapping explosions (by default only 1000 fields are allowed). While bumping the field limit is a temporary workaround, the underlying issue of the cluster state taking up a lot of heap space still remains.So ideally, we would not add
dynamic: runtime
fields to the mapping. Or we makedynamic: false
behave in a way where it's still possible to search by fields that aren’t declared in the mapping and instead apply runtime-field like behavior by looking values_source
or stored fields. It would be similar to the behavior offlattened
fields, but for runtime fields.The text was updated successfully, but these errors were encountered: