FieldMapper fieldMapper = context.mapperService().smartNameFieldMapper(name);
if (fieldMapper != null) {
if (fieldMapper.stored()) {
context.fieldNames().add(name);
} else {
SearchScript searchScript = context.scriptService().search(context.lookup(), "mvel", "_source." + fieldMapper.names().fullName(), null);
context.scriptFields().add(new ScriptFieldsContext.ScriptField(name, searchScript, true));
}
} else {
context.emptyFieldNames(); // don't load anything if we can't find mapping
}