summaryrefslogtreecommitdiff
path: root/modules/parent-join/src/test/java/org/elasticsearch/join/mapper/ParentJoinFieldMapperTests.java
diff options
context:
space:
mode:
Diffstat (limited to 'modules/parent-join/src/test/java/org/elasticsearch/join/mapper/ParentJoinFieldMapperTests.java')
-rw-r--r--modules/parent-join/src/test/java/org/elasticsearch/join/mapper/ParentJoinFieldMapperTests.java39
1 files changed, 39 insertions, 0 deletions
diff --git a/modules/parent-join/src/test/java/org/elasticsearch/join/mapper/ParentJoinFieldMapperTests.java b/modules/parent-join/src/test/java/org/elasticsearch/join/mapper/ParentJoinFieldMapperTests.java
index 161a6f3992..d1b726a02d 100644
--- a/modules/parent-join/src/test/java/org/elasticsearch/join/mapper/ParentJoinFieldMapperTests.java
+++ b/modules/parent-join/src/test/java/org/elasticsearch/join/mapper/ParentJoinFieldMapperTests.java
@@ -366,4 +366,43 @@ public class ParentJoinFieldMapperTests extends ESSingleNodeTestCase {
assertThat(exc.getMessage(), containsString("Field [_parent_join] is defined twice in [type]"));
}
}
+
+ public void testEagerGlobalOrdinals() throws Exception {
+ String mapping = XContentFactory.jsonBuilder().startObject()
+ .startObject("properties")
+ .startObject("join_field")
+ .field("type", "join")
+ .field("parent", "child")
+ .field("child", "grand_child")
+ .endObject()
+ .endObject()
+ .endObject().string();
+ IndexService service = createIndex("test");
+ DocumentMapper docMapper = service.mapperService().merge("type", new CompressedXContent(mapping),
+ MapperService.MergeReason.MAPPING_UPDATE, false);
+ assertTrue(docMapper.mappers().getMapper("join_field") == ParentJoinFieldMapper.getMapper(service.mapperService()));
+ assertFalse(service.mapperService().fullName("join_field").eagerGlobalOrdinals());
+ assertNotNull(service.mapperService().fullName("join_field#parent"));
+ assertTrue(service.mapperService().fullName("join_field#parent").eagerGlobalOrdinals());
+ assertNotNull(service.mapperService().fullName("join_field#child"));
+ assertTrue(service.mapperService().fullName("join_field#child").eagerGlobalOrdinals());
+
+ mapping = XContentFactory.jsonBuilder().startObject()
+ .startObject("properties")
+ .startObject("join_field")
+ .field("type", "join")
+ .field("eager_global_ordinals", false)
+ .field("parent", "child")
+ .field("child", "grand_child")
+ .endObject()
+ .endObject()
+ .endObject().string();
+ docMapper = service.mapperService().merge("type", new CompressedXContent(mapping),
+ MapperService.MergeReason.MAPPING_UPDATE, false);
+ assertFalse(service.mapperService().fullName("join_field").eagerGlobalOrdinals());
+ assertNotNull(service.mapperService().fullName("join_field#parent"));
+ assertFalse(service.mapperService().fullName("join_field#parent").eagerGlobalOrdinals());
+ assertNotNull(service.mapperService().fullName("join_field#child"));
+ assertFalse(service.mapperService().fullName("join_field#child").eagerGlobalOrdinals());
+ }
}