diff --git a/test/framework/src/main/java/org/elasticsearch/logsdb/datageneration/MappingGenerator.java b/test/framework/src/main/java/org/elasticsearch/logsdb/datageneration/MappingGenerator.java index bdb80ee09868..9a7add456fd6 100644 --- a/test/framework/src/main/java/org/elasticsearch/logsdb/datageneration/MappingGenerator.java +++ b/test/framework/src/main/java/org/elasticsearch/logsdb/datageneration/MappingGenerator.java @@ -101,11 +101,6 @@ public class MappingGenerator { } if (templateEntry instanceof Template.Leaf leaf) { - // For simplicity we only copy to keyword fields, synthetic source logic to handle copy_to is generic. - if (leaf.type() == FieldType.KEYWORD) { - context.addCopyToCandidate(fieldName); - } - var mappingParametersGenerator = specification.dataSource() .get( new DataSourceRequest.LeafMappingParametersGenerator( @@ -120,6 +115,11 @@ public class MappingGenerator { mappingParameters.put("type", leaf.type().toString()); mappingParameters.putAll(mappingParametersGenerator.get()); + // For simplicity we only copy to keyword fields, synthetic source logic to handle copy_to is generic. + if (leaf.type() == FieldType.KEYWORD) { + context.addCopyToCandidate(fieldName); + } + } else if (templateEntry instanceof Template.Object object) { var mappingParametersGenerator = specification.dataSource() .get(new DataSourceRequest.ObjectMappingParametersGenerator(false, object.nested(), context.parentSubobjects()))