diff --git a/core/src/main/java/org/elasticsearch/index/mapper/ParentFieldMapper.java b/core/src/main/java/org/elasticsearch/index/mapper/ParentFieldMapper.java index 482935437ed..f984871fbed 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/ParentFieldMapper.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/ParentFieldMapper.java @@ -65,7 +65,7 @@ public class ParentFieldMapper extends MetadataFieldMapper { FIELD_TYPE.setIndexOptions(IndexOptions.NONE); FIELD_TYPE.setHasDocValues(true); FIELD_TYPE.setDocValuesType(DocValuesType.SORTED); - FIELD_TYPE.setEagerGlobalOrdinals(true); + FIELD_TYPE.setEagerGlobalOrdinals(false); FIELD_TYPE.freeze(); } } @@ -78,6 +78,8 @@ public class ParentFieldMapper extends MetadataFieldMapper { public Builder(String documentType) { super(Defaults.NAME, new ParentFieldType(Defaults.FIELD_TYPE, documentType), Defaults.FIELD_TYPE); + // Defaults to true + eagerGlobalOrdinals(true); this.documentType = documentType; builder = this; } diff --git a/core/src/test/java/org/elasticsearch/index/mapper/ParentFieldMapperTests.java b/core/src/test/java/org/elasticsearch/index/mapper/ParentFieldMapperTests.java index 935562a2bc4..d7d94786938 100644 --- a/core/src/test/java/org/elasticsearch/index/mapper/ParentFieldMapperTests.java +++ b/core/src/test/java/org/elasticsearch/index/mapper/ParentFieldMapperTests.java @@ -124,6 +124,8 @@ public class ParentFieldMapperTests extends ESSingleNodeTestCase { Set allFields = new HashSet<>(mapperService.simpleMatchToIndexNames("*")); assertTrue(allFields.contains("_parent")); assertFalse(allFields.contains("_parent#null")); + MappedFieldType fieldType = mapperService.fullName("_parent"); + assertFalse(fieldType.eagerGlobalOrdinals()); } private static int getNumberOfFieldWithParentPrefix(ParseContext.Document doc) {