aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/test
diff options
context:
space:
mode:
authorGeir Storli <geirst@yahooinc.com>2022-07-12 09:28:45 +0000
committerGeir Storli <geirst@yahooinc.com>2022-07-12 09:28:45 +0000
commita82fcc5b74a6fb788e29103585779bcae2af5ad7 (patch)
tree6543097104c09e87da6a18fbe1c011537b413d0d /config-model/src/test
parente65c9d4cc7d4950f309b50b8d5443e97188d6321 (diff)
Add new summary transform for all 'documentid' summary fields.
This prepares for no longer inserting 'documentid' fields in the docsum blob in the backend. Instead such fields will be produced using a docsum writer (transform) that uses the document instance to get the id.
Diffstat (limited to 'config-model/src/test')
-rw-r--r--config-model/src/test/derived/imported_struct_fields/summarymap.cfg3
-rw-r--r--config-model/src/test/java/com/yahoo/schema/derived/SummaryMapTestCase.java25
2 files changed, 25 insertions, 3 deletions
diff --git a/config-model/src/test/derived/imported_struct_fields/summarymap.cfg b/config-model/src/test/derived/imported_struct_fields/summarymap.cfg
index cd19a75e85f..653b0a26b75 100644
--- a/config-model/src/test/derived/imported_struct_fields/summarymap.cfg
+++ b/config-model/src/test/derived/imported_struct_fields/summarymap.cfg
@@ -1,4 +1,7 @@
defaultoutputclass -1
+override[].field "documentid"
+override[].command "documentid"
+override[].arguments ""
override[].field "my_elem_array"
override[].command "attributecombiner"
override[].arguments ""
diff --git a/config-model/src/test/java/com/yahoo/schema/derived/SummaryMapTestCase.java b/config-model/src/test/java/com/yahoo/schema/derived/SummaryMapTestCase.java
index f0fc58b97e5..2f1b837554d 100644
--- a/config-model/src/test/java/com/yahoo/schema/derived/SummaryMapTestCase.java
+++ b/config-model/src/test/java/com/yahoo/schema/derived/SummaryMapTestCase.java
@@ -162,23 +162,42 @@ public class SummaryMapTestCase extends AbstractSchemaTestCase {
assertFalse(SummaryMap.isDynamicCommand(SummaryTransform.ATTRIBUTE.getName()));
}
+ @Test
+ public void documentid_summary_field_has_corresponding_summary_transform() throws ParseException {
+ var schema = buildSchema("field foo type string { indexing: summary }",
+ joinLines("document-summary bar {",
+ " summary documentid type string {}",
+ "}"));
+ assertOverride(schema, "documentid", SummaryTransform.DOCUMENT_ID.getName(), "");
+ }
+
+ @Test
+ public void documentid_summary_transform_requires_disk_access() {
+ assertFalse(SummaryTransform.DOCUMENT_ID.isInMemory());
+ }
+
private void assertOverride(String fieldContent, String expFieldName, String expCommand) throws ParseException {
- var summaryMap = new SummaryMap(buildSearch(fieldContent));
+ assertOverride(buildSchema(fieldContent, ""), expFieldName, expCommand, expFieldName);
+ }
+
+ private void assertOverride(Schema schema, String expFieldName, String expCommand, String expArguments) throws ParseException {
+ var summaryMap = new SummaryMap(schema);
var cfgBuilder = new SummarymapConfig.Builder();
summaryMap.getConfig(cfgBuilder);
var cfg = new SummarymapConfig(cfgBuilder);
var override = cfg.override(0);
assertEquals(expFieldName, override.field());
assertEquals(expCommand, override.command());
- assertEquals(expFieldName, override.arguments());
+ assertEquals(expArguments, override.arguments());
}
- private Schema buildSearch(String field) throws ParseException {
+ private Schema buildSchema(String field, String documentSummary) throws ParseException {
var builder = new ApplicationBuilder(new RankProfileRegistry());
builder.addSchema(joinLines("search test {",
" document test {",
field,
" }",
+ documentSummary,
"}"));
builder.build(true);
return builder.getSchema();