@@ -249,24 +249,24 @@ private IOFunction<LeafReaderContext, CheckedIntFunction<List<Object>, IOExcepti
249249            if  (searchExecutionContext .isSourceSynthetic ()) {
250250                if  (isWithinMultiField ) {
251251                    // fetch the value from parent 
252-                     return  parentFieldValueFetcher (searchExecutionContext );
252+                     return  parentFieldFetcher (searchExecutionContext );
253253                } else  if  (textFieldType .syntheticSourceDelegate ().isPresent ()) {
254254                    // otherwise, if there is a delegate field, fetch the value from it 
255-                     return  delegateFieldValueFetcher (searchExecutionContext , textFieldType .syntheticSourceDelegate ().get ());
255+                     return  delegateFieldFetcher (searchExecutionContext , textFieldType .syntheticSourceDelegate ().get ());
256256                } else  {
257257                    // otherwise, fetch the value from self 
258258                    return  storedFieldFetcher (name (), syntheticSourceFallbackFieldName ());
259259                }
260260            }
261261
262262            // otherwise, synthetic source must be disabled, so fetch the value directly from _source 
263-             return  sourceFieldValueFetcher (searchExecutionContext );
263+             return  sourceFieldFetcher (searchExecutionContext );
264264        }
265265
266266        /** 
267267         * Returns a function that will fetch values directly from _source. 
268268         */ 
269-         private  IOFunction <LeafReaderContext , CheckedIntFunction <List <Object >, IOException >> sourceFieldValueFetcher (
269+         private  IOFunction <LeafReaderContext , CheckedIntFunction <List <Object >, IOException >> sourceFieldFetcher (
270270            final  SearchExecutionContext  searchExecutionContext 
271271        ) {
272272            return  context  -> {
@@ -284,9 +284,9 @@ private IOFunction<LeafReaderContext, CheckedIntFunction<List<Object>, IOExcepti
284284        }
285285
286286        /** 
287-          * Returns a function that will fetch value  from a  parent field. 
287+          * Returns a function that will fetch fields  from the  parent field. 
288288         */ 
289-         private  IOFunction <LeafReaderContext , CheckedIntFunction <List <Object >, IOException >> parentFieldValueFetcher (
289+         private  IOFunction <LeafReaderContext , CheckedIntFunction <List <Object >, IOException >> parentFieldFetcher (
290290            final  SearchExecutionContext  searchExecutionContext 
291291        ) {
292292            assert  searchExecutionContext .isSourceSynthetic () : "Synthetic source should be enabled" ;
@@ -311,14 +311,14 @@ private IOFunction<LeafReaderContext, CheckedIntFunction<List<Object>, IOExcepti
311311                return  docValuesFieldFetcher (ifd );
312312            } else  {
313313                assert  false  : "parent field should either be stored or have doc values" ;
314-                 return  sourceFieldValueFetcher (searchExecutionContext );
314+                 return  sourceFieldFetcher (searchExecutionContext );
315315            }
316316        }
317317
318318        /** 
319-          * Returns a function that will fetch values  from a synthetic source delegate . 
319+          * Returns a function that will fetch the fields  from the delegate field (ex. keyword multi field) . 
320320         */ 
321-         private  IOFunction <LeafReaderContext , CheckedIntFunction <List <Object >, IOException >> delegateFieldValueFetcher (
321+         private  IOFunction <LeafReaderContext , CheckedIntFunction <List <Object >, IOException >> delegateFieldFetcher (
322322            final  SearchExecutionContext  searchExecutionContext ,
323323            final  KeywordFieldMapper .KeywordFieldType  keywordDelegate 
324324        ) {
@@ -340,7 +340,7 @@ private IOFunction<LeafReaderContext, CheckedIntFunction<List<Object>, IOExcepti
340340                );
341341            } else  {
342342                assert  false  : "multi field should either be stored or have doc values" ;
343-                 return  sourceFieldValueFetcher (searchExecutionContext );
343+                 return  sourceFieldFetcher (searchExecutionContext );
344344            }
345345        }
346346
@@ -715,11 +715,11 @@ protected SyntheticSourceSupport syntheticSourceSupport() {
715715    }
716716
717717    private  SourceLoader .SyntheticFieldLoader  syntheticFieldLoader (String  fullFieldName , String  leafFieldName ) {
718-         // match_only_text is not stored for space efficiency, except when synthetic source is enabled as  synthetic source 
719-         // needs something to load to reconstruct source. In such cases, we * might* store this  field or we *might* rely  
720-         // on a delegate field if one exists . Because of this uncertainty, we need multiple field loaders. 
718+         // we're using two field loaders here because we don't know who was responsible for storing this field to support  synthetic source 
719+         // on one hand, if a delegate keyword field exists, then it  might've stored the  field. However, this is not true if said field was  
720+         // ignored during indexing (ex. it tripped ignore_above) . Because of this uncertainty, we need multiple field loaders. 
721721
722-         // first field loader, representing  this field 
722+         // first field loader - to check whether the field's value was stored under  this match_only_text  field 
723723        final  String  fieldName  = fieldType ().syntheticSourceFallbackFieldName ();
724724        final  var  thisFieldLayer  = new  CompositeSyntheticFieldLoader .StoredFieldLayer (fieldName ) {
725725            @ Override 
@@ -735,7 +735,7 @@ protected void writeValue(Object value, XContentBuilder b) throws IOException {
735735
736736        final  CompositeSyntheticFieldLoader  fieldLoader  = new  CompositeSyntheticFieldLoader (leafFieldName , fullFieldName , thisFieldLayer );
737737
738-         // second loader, representing a delegate  field, if one exists  
738+         // second loader - to check whether the  field's value was stored by a keyword delegate field  
739739        var  kwd  = TextFieldMapper .SyntheticSourceHelper .getKeywordFieldMapperForSyntheticSource (this );
740740        if  (kwd  != null ) {
741741            // merge the two field loaders into one 
0 commit comments