My question is: where is Elasticsearch storing this unmapped field?
Since synthetic _source is generally described as being reconstructed from doc_values and stored fields, I'm trying to understand what happens in this case. foo has no mapping, so it shouldn't have doc values or an inverted index, yet it is still available in _source.
Hi @ddoroshenko Ahhh I remembering wondering this myself a while ago.
Run
POST <my-index>/_disk_usage?run_expensive_tasks=true
So Elasticsearch keeps the unmapped content separately for _source reconstruction. Internally, these fields are stored special _ignore_source storage used by synthetic source for data that cannot be reconstructed purely from mapped field structures.
It does not call out specifically each field.
Curious if you are just curious ... or seeing an issue
Also to be clear you will only Actually get synthetic source if you have a license.
We're evaluating whether unmapped (non-indexed) fields will still be visible in Kibana when using synthetic _source. This question came up while investigating that behavior.
Just because you enable synthetic in the settings does not mean it's actually taking effect... It requires a commercial enterprise license or trial license.
If the cluster had a basic or platinum license and set it, it will accept the setting yeah but it will not actually take effect
This is why I suggest running the above command to validate it.
Just being clear in case of anyone else reads this.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.