summaryrefslogtreecommitdiffstats
path: root/config-model/src/test/derived
diff options
context:
space:
mode:
authorGeir Storli <geirst@yahooinc.com>2022-08-29 09:25:05 +0000
committerGeir Storli <geirst@yahooinc.com>2022-08-29 11:58:21 +0000
commite1ade5e0aa7087b8ff6380bd28764f732131c3f5 (patch)
treef17caf0234881d52c30fb31506bb7055e692bf89 /config-model/src/test/derived
parentee29a7aeb10021c55064f6c5268daefe23897f0d (diff)
Duplicate summarymap config into summary config.
This prepares for the removal of summarymap config.
Diffstat (limited to 'config-model/src/test/derived')
-rw-r--r--config-model/src/test/derived/advanced/summary.cfg24
-rw-r--r--config-model/src/test/derived/array_of_struct_attribute/summary.cfg14
-rw-r--r--config-model/src/test/derived/attributeprefetch/summary.cfg22
-rw-r--r--config-model/src/test/derived/complex/summary.cfg36
-rw-r--r--config-model/src/test/derived/emptychild/summary.cfg14
-rw-r--r--config-model/src/test/derived/emptydefault/summary.cfg6
-rw-r--r--config-model/src/test/derived/id/summary.cfg8
-rw-r--r--config-model/src/test/derived/imported_position_field/summary.cfg12
-rw-r--r--config-model/src/test/derived/imported_position_field_summary/summary.cfg20
-rw-r--r--config-model/src/test/derived/imported_struct_fields/summary.cfg34
-rw-r--r--config-model/src/test/derived/importedfields/summary.cfg32
-rw-r--r--config-model/src/test/derived/indexswitches/summary.cfg12
-rw-r--r--config-model/src/test/derived/inheritance/summary.cfg18
-rw-r--r--config-model/src/test/derived/integerattributetostringindex/summary.cfg24
-rw-r--r--config-model/src/test/derived/map_attribute/summary.cfg10
-rw-r--r--config-model/src/test/derived/map_of_struct_attribute/summary.cfg20
-rw-r--r--config-model/src/test/derived/mlr/summary.cfg18
-rw-r--r--config-model/src/test/derived/multiplesummaries/summary.cfg158
-rw-r--r--config-model/src/test/derived/music/summary.cfg98
-rw-r--r--config-model/src/test/derived/newrank/summary.cfg92
-rw-r--r--config-model/src/test/derived/position_nosummary/summary.cfg12
-rw-r--r--config-model/src/test/derived/position_summary/summary.cfg14
-rw-r--r--config-model/src/test/derived/predicate_attribute/summary.cfg12
-rw-r--r--config-model/src/test/derived/rankingexpression/summary.cfg36
-rw-r--r--config-model/src/test/derived/ranktypes/summary.cfg10
-rw-r--r--config-model/src/test/derived/reference_fields/summary.cfg18
-rw-r--r--config-model/src/test/derived/schemainheritance/summary.cfg36
-rw-r--r--config-model/src/test/derived/streamingstruct/summary.cfg46
-rw-r--r--config-model/src/test/derived/streamingstructdefault/summary.cfg12
-rw-r--r--config-model/src/test/derived/tensor/summary.cfg20
-rw-r--r--config-model/src/test/derived/types/summary.cfg38
31 files changed, 926 insertions, 0 deletions
diff --git a/config-model/src/test/derived/advanced/summary.cfg b/config-model/src/test/derived/advanced/summary.cfg
index 18d67a9ea84..11a73d6a90c 100644
--- a/config-model/src/test/derived/advanced/summary.cfg
+++ b/config-model/src/test/derived/advanced/summary.cfg
@@ -5,28 +5,52 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "debug"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "attributes"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "title_s"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "product"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "product3"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "mysummary"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
classes[].id 472092010
classes[].name "attributeprefetch"
classes[].omitsummaryfeatures false
classes[].fields[].name "location_zcurve"
classes[].fields[].type "int64"
+classes[].fields[].command "attribute"
+classes[].fields[].source "location_zcurve"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/array_of_struct_attribute/summary.cfg b/config-model/src/test/derived/array_of_struct_attribute/summary.cfg
index 38298feaa0c..e62a8a5c39c 100644
--- a/config-model/src/test/derived/array_of_struct_attribute/summary.cfg
+++ b/config-model/src/test/derived/array_of_struct_attribute/summary.cfg
@@ -5,18 +5,32 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "elem_array"
classes[].fields[].type "jsonstring"
+classes[].fields[].command "attributecombiner"
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
classes[].id 659145226
classes[].name "rename"
classes[].omitsummaryfeatures false
classes[].fields[].name "new_elem_array"
classes[].fields[].type "jsonstring"
+classes[].fields[].command "attributecombiner"
+classes[].fields[].source "elem_array"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/attributeprefetch/summary.cfg b/config-model/src/test/derived/attributeprefetch/summary.cfg
index 7fabb674ebd..e2ed135c3a2 100644
--- a/config-model/src/test/derived/attributeprefetch/summary.cfg
+++ b/config-model/src/test/derived/attributeprefetch/summary.cfg
@@ -5,26 +5,48 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
classes[].id 1980470965
classes[].name "attributeprefetch"
classes[].omitsummaryfeatures false
classes[].fields[].name "singlebyte"
classes[].fields[].type "byte"
+classes[].fields[].command "attribute"
+classes[].fields[].source "singlebyte"
classes[].fields[].name "singleint"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "singleint"
classes[].fields[].name "singlelong"
classes[].fields[].type "int64"
+classes[].fields[].command "attribute"
+classes[].fields[].source "singlelong"
classes[].fields[].name "singlefloat"
classes[].fields[].type "float"
+classes[].fields[].command "attribute"
+classes[].fields[].source "singlefloat"
classes[].fields[].name "singledouble"
classes[].fields[].type "double"
+classes[].fields[].command "attribute"
+classes[].fields[].source "singledouble"
classes[].fields[].name "singlestring"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "singlestring"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/complex/summary.cfg b/config-model/src/test/derived/complex/summary.cfg
index 44b97327ee9..1d6f7141635 100644
--- a/config-model/src/test/derived/complex/summary.cfg
+++ b/config-model/src/test/derived/complex/summary.cfg
@@ -5,40 +5,76 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "woe"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "exact"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "title"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "dyntitle"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "dyntitle"
classes[].fields[].name "source"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "stringfield"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
classes[].id 128090024
classes[].name "attributeprefetch"
classes[].omitsummaryfeatures false
classes[].fields[].name "year_sub"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "year_sub"
classes[].fields[].name "prefixenabled"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "prefixenabled"
classes[].fields[].name "fleeting2"
classes[].fields[].type "float"
+classes[].fields[].command "attribute"
+classes[].fields[].source "fleeting2"
classes[].fields[].name "foundat"
classes[].fields[].type "int64"
+classes[].fields[].command "attribute"
+classes[].fields[].source "foundat"
classes[].fields[].name "collapseby"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "collapseby"
classes[].fields[].name "ts"
classes[].fields[].type "int64"
+classes[].fields[].command "attribute"
+classes[].fields[].source "ts"
classes[].fields[].name "combineda"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "combineda"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/emptychild/summary.cfg b/config-model/src/test/derived/emptychild/summary.cfg
index 116bad51740..5fe39cbb04c 100644
--- a/config-model/src/test/derived/emptychild/summary.cfg
+++ b/config-model/src/test/derived/emptychild/summary.cfg
@@ -5,18 +5,32 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "a1"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "a1"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
classes[].id 1490368133
classes[].name "attributeprefetch"
classes[].omitsummaryfeatures false
classes[].fields[].name "a1"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "a1"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/emptydefault/summary.cfg b/config-model/src/test/derived/emptydefault/summary.cfg
index f1a858d2d1e..c09b606210f 100644
--- a/config-model/src/test/derived/emptydefault/summary.cfg
+++ b/config-model/src/test/derived/emptydefault/summary.cfg
@@ -5,7 +5,13 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/id/summary.cfg b/config-model/src/test/derived/id/summary.cfg
index 6880a8a7bd5..203be8549b8 100644
--- a/config-model/src/test/derived/id/summary.cfg
+++ b/config-model/src/test/derived/id/summary.cfg
@@ -5,9 +5,17 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "uri"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/imported_position_field/summary.cfg b/config-model/src/test/derived/imported_position_field/summary.cfg
index b324b4cd8e4..c3f3e45e2f0 100644
--- a/config-model/src/test/derived/imported_position_field/summary.cfg
+++ b/config-model/src/test/derived/imported_position_field/summary.cfg
@@ -5,16 +5,28 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "parent_ref"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
classes[].id 1274088866
classes[].name "attributeprefetch"
classes[].omitsummaryfeatures false
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/imported_position_field_summary/summary.cfg b/config-model/src/test/derived/imported_position_field_summary/summary.cfg
index cf80a3f31d0..06fca8c89a1 100644
--- a/config-model/src/test/derived/imported_position_field_summary/summary.cfg
+++ b/config-model/src/test/derived/imported_position_field_summary/summary.cfg
@@ -5,27 +5,47 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "parent_ref"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "my_pos"
classes[].fields[].type "jsonstring"
+classes[].fields[].command "geopos"
+classes[].fields[].source "my_pos_zcurve"
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
classes[].id 656588065
classes[].name "mysummary"
classes[].omitsummaryfeatures false
classes[].fields[].name "my_pos"
classes[].fields[].type "jsonstring"
+classes[].fields[].command "geopos"
+classes[].fields[].source "my_pos_zcurve"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].id 1274088866
classes[].name "attributeprefetch"
classes[].omitsummaryfeatures false
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/imported_struct_fields/summary.cfg b/config-model/src/test/derived/imported_struct_fields/summary.cfg
index 38fdd23123b..46a6a7db64f 100644
--- a/config-model/src/test/derived/imported_struct_fields/summary.cfg
+++ b/config-model/src/test/derived/imported_struct_fields/summary.cfg
@@ -5,44 +5,78 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "parent_ref"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
classes[].id 2126652894
classes[].name "mysummary"
classes[].omitsummaryfeatures false
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
classes[].fields[].name "my_elem_array"
classes[].fields[].type "jsonstring"
+classes[].fields[].command "attributecombiner"
+classes[].fields[].source ""
classes[].fields[].name "my_elem_map"
classes[].fields[].type "jsonstring"
+classes[].fields[].command "attributecombiner"
+classes[].fields[].source ""
classes[].fields[].name "my_str_int_map"
classes[].fields[].type "jsonstring"
+classes[].fields[].command "attributecombiner"
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].id 1629947863
classes[].name "filtered"
classes[].omitsummaryfeatures false
classes[].fields[].name "elem_array_filtered"
classes[].fields[].type "jsonstring"
+classes[].fields[].command "matchedattributeelementsfilter"
+classes[].fields[].source "my_elem_array"
classes[].fields[].name "elem_map_filtered"
classes[].fields[].type "jsonstring"
+classes[].fields[].command "matchedattributeelementsfilter"
+classes[].fields[].source "my_elem_map"
classes[].fields[].name "str_int_map_filtered"
classes[].fields[].type "jsonstring"
+classes[].fields[].command "matchedattributeelementsfilter"
+classes[].fields[].source "my_str_int_map"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].id 1274088866
classes[].name "attributeprefetch"
classes[].omitsummaryfeatures false
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/importedfields/summary.cfg b/config-model/src/test/derived/importedfields/summary.cfg
index 4b792d15de9..2614bea2092 100644
--- a/config-model/src/test/derived/importedfields/summary.cfg
+++ b/config-model/src/test/derived/importedfields/summary.cfg
@@ -5,39 +5,71 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "b_ref_with_summary"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
classes[].id 159551552
classes[].name "mysummary"
classes[].omitsummaryfeatures false
classes[].fields[].name "a_ref"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "b_ref_with_summary"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "my_int_field"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "my_int_field"
classes[].fields[].name "my_string_field"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "my_string_field"
classes[].fields[].name "my_int_array_field"
classes[].fields[].type "jsonstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "my_int_array_field"
classes[].fields[].name "my_int_wset_field"
classes[].fields[].type "jsonstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "my_int_wset_field"
classes[].fields[].name "my_ancient_int_field"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "my_ancient_int_field"
classes[].fields[].name "my_filtered_int_array_field"
classes[].fields[].type "jsonstring"
+classes[].fields[].command "matchedattributeelementsfilter"
+classes[].fields[].source "my_int_array_field"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].id 1274088866
classes[].name "attributeprefetch"
classes[].omitsummaryfeatures false
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/indexswitches/summary.cfg b/config-model/src/test/derived/indexswitches/summary.cfg
index a58d5da25e1..edc38aacf89 100644
--- a/config-model/src/test/derived/indexswitches/summary.cfg
+++ b/config-model/src/test/derived/indexswitches/summary.cfg
@@ -5,13 +5,25 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "source"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "title"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "descr"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/inheritance/summary.cfg b/config-model/src/test/derived/inheritance/summary.cfg
index 6d30c0ad231..7615429bebf 100644
--- a/config-model/src/test/derived/inheritance/summary.cfg
+++ b/config-model/src/test/derived/inheritance/summary.cfg
@@ -5,22 +5,40 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "onlyfather"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
classes[].id 1608562186
classes[].name "attributeprefetch"
classes[].omitsummaryfeatures false
classes[].fields[].name "onlygrandparent"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "onlygrandparent"
classes[].fields[].name "overridden"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "overridden"
classes[].fields[].name "onlymother"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "onlymother"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/integerattributetostringindex/summary.cfg b/config-model/src/test/derived/integerattributetostringindex/summary.cfg
index 9c2c8f4cd0e..87a6539de56 100644
--- a/config-model/src/test/derived/integerattributetostringindex/summary.cfg
+++ b/config-model/src/test/derived/integerattributetostringindex/summary.cfg
@@ -5,28 +5,52 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "attinx"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "attinx"
classes[].fields[].name "artist"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "artist"
classes[].fields[].name "title"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "year"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "year"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
classes[].id 1706878063
classes[].name "attributeprefetch"
classes[].omitsummaryfeatures false
classes[].fields[].name "attinx"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "attinx"
classes[].fields[].name "artist"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "artist"
classes[].fields[].name "year"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "year"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/map_attribute/summary.cfg b/config-model/src/test/derived/map_attribute/summary.cfg
index b5ee816719e..a18ca43bbd7 100644
--- a/config-model/src/test/derived/map_attribute/summary.cfg
+++ b/config-model/src/test/derived/map_attribute/summary.cfg
@@ -5,11 +5,21 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "str_map"
classes[].fields[].type "jsonstring"
+classes[].fields[].command "attributecombiner"
+classes[].fields[].source ""
classes[].fields[].name "int_map"
classes[].fields[].type "jsonstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/map_of_struct_attribute/summary.cfg b/config-model/src/test/derived/map_of_struct_attribute/summary.cfg
index 997743389c6..c871c4bb97e 100644
--- a/config-model/src/test/derived/map_of_struct_attribute/summary.cfg
+++ b/config-model/src/test/derived/map_of_struct_attribute/summary.cfg
@@ -5,24 +5,44 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "str_elem_map"
classes[].fields[].type "jsonstring"
+classes[].fields[].command "attributecombiner"
+classes[].fields[].source ""
classes[].fields[].name "int_elem_map"
classes[].fields[].type "jsonstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "new_int_elem_map"
classes[].fields[].type "jsonstring"
+classes[].fields[].command "copy"
+classes[].fields[].source "int_elem_map"
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
classes[].id 1424421039
classes[].name "rename"
classes[].omitsummaryfeatures false
classes[].fields[].name "new_str_elem_map"
classes[].fields[].type "jsonstring"
+classes[].fields[].command "attributecombiner"
+classes[].fields[].source "str_elem_map"
classes[].fields[].name "new_int_elem_map"
classes[].fields[].type "jsonstring"
+classes[].fields[].command "copy"
+classes[].fields[].source "int_elem_map"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/mlr/summary.cfg b/config-model/src/test/derived/mlr/summary.cfg
index 0345ec305ae..8087955a206 100644
--- a/config-model/src/test/derived/mlr/summary.cfg
+++ b/config-model/src/test/derived/mlr/summary.cfg
@@ -5,22 +5,40 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "a"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "a"
classes[].fields[].name "b"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
classes[].id 1944325986
classes[].name "attributeprefetch"
classes[].omitsummaryfeatures false
classes[].fields[].name "a"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "a"
classes[].fields[].name "ranklog"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "ranklog"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/multiplesummaries/summary.cfg b/config-model/src/test/derived/multiplesummaries/summary.cfg
index c05cb43dade..17d7040bc78 100644
--- a/config-model/src/test/derived/multiplesummaries/summary.cfg
+++ b/config-model/src/test/derived/multiplesummaries/summary.cfg
@@ -5,192 +5,350 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "loc_pos"
classes[].fields[].type "jsonstring"
+classes[].fields[].command "geopos"
+classes[].fields[].source "loc_pos_zcurve"
classes[].fields[].name "a"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "a"
classes[].fields[].name "adynamic"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "adynamic"
classes[].fields[].name "abolded"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "abolded"
classes[].fields[].name "b"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "c"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "c"
classes[].fields[].name "d"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "d"
classes[].fields[].name "dynamice"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "dynamice"
classes[].fields[].name "f"
classes[].fields[].type "jsonstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "g"
classes[].fields[].type "jsonstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "h"
classes[].fields[].type "jsonstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "e"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "adynamic2"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "adynamic2"
classes[].fields[].name "alltags"
classes[].fields[].type "jsonstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "sometags"
classes[].fields[].type "jsonstring"
+classes[].fields[].command "matchedelementsfilter"
+classes[].fields[].source "mytags"
classes[].fields[].name "anotherb"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "abolded2"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "abolded2"
classes[].fields[].name "aboldeddynamic"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "aboldeddynamic"
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
classes[].id 783153771
classes[].name "third"
classes[].omitsummaryfeatures false
classes[].fields[].name "a"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "a"
classes[].fields[].name "adynamic"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "adynamic"
classes[].fields[].name "d"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "d"
classes[].fields[].name "e"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "f"
classes[].fields[].type "jsonstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "g"
classes[].fields[].type "jsonstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "h"
classes[].fields[].type "jsonstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].id 815922035
classes[].name "attributesonly1"
classes[].omitsummaryfeatures false
classes[].fields[].name "a"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "a"
classes[].fields[].name "c"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "c"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].id 1308077923
classes[].name "notattributesonly1"
classes[].omitsummaryfeatures false
classes[].fields[].name "adynamic"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "adynamic"
classes[].fields[].name "c"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "c"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].id 1609068631
classes[].name "anothernotattributesonly2"
classes[].omitsummaryfeatures false
classes[].fields[].name "adynamic2"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "adynamic2"
classes[].fields[].name "c"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "c"
classes[].fields[].name "alltags"
classes[].fields[].type "jsonstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "sometags"
classes[].fields[].type "jsonstring"
+classes[].fields[].command "matchedelementsfilter"
+classes[].fields[].source "mytags"
classes[].fields[].name "anothera"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "a"
classes[].fields[].name "anotherb"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].id 686755772
classes[].name "notattributesonly3"
classes[].omitsummaryfeatures false
classes[].fields[].name "a"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "a"
classes[].fields[].name "d"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "d"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].id 1711750363
classes[].name "attributesonly2"
classes[].omitsummaryfeatures false
classes[].fields[].name "anotdynamic"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "adynamic"
classes[].fields[].name "c"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "c"
classes[].fields[].name "loc_position"
classes[].fields[].type "int64"
+classes[].fields[].command "attribute"
+classes[].fields[].source "loc_pos_zcurve"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].id 1510953467
classes[].name "attributesonly3"
classes[].omitsummaryfeatures false
classes[].fields[].name "a"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "a"
classes[].fields[].name "anotbolded"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "a"
classes[].fields[].name "loc_pos_zcurve"
classes[].fields[].type "int64"
+classes[].fields[].command "attribute"
+classes[].fields[].source "loc_pos_zcurve"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].id 923824943
classes[].name "notattributesonly4"
classes[].omitsummaryfeatures false
classes[].fields[].name "abolded2"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "abolded2"
classes[].fields[].name "c"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "c"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].id 552611075
classes[].name "notattributesonly5"
classes[].omitsummaryfeatures false
classes[].fields[].name "aboldeddynamic"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "aboldeddynamic"
classes[].fields[].name "c"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "c"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].id 146047714
classes[].name "attributeprefetch"
classes[].omitsummaryfeatures false
classes[].fields[].name "loc_pos_zcurve"
classes[].fields[].type "int64"
+classes[].fields[].command "attribute"
+classes[].fields[].source "loc_pos_zcurve"
classes[].fields[].name "a"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "a"
classes[].fields[].name "c"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "c"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].id 324773027
classes[].name "second"
classes[].omitsummaryfeatures false
classes[].fields[].name "a"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "a"
classes[].fields[].name "adynamic"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "adynamic"
classes[].fields[].name "c"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "c"
classes[].fields[].name "f"
classes[].fields[].type "jsonstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/music/summary.cfg b/config-model/src/test/derived/music/summary.cfg
index 007c2ef3345..10bb238dca7 100644
--- a/config-model/src/test/derived/music/summary.cfg
+++ b/config-model/src/test/derived/music/summary.cfg
@@ -5,102 +5,200 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "bgndata"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "bgndata"
classes[].fields[].name "sales"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "sales"
classes[].fields[].name "pto"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "pto"
classes[].fields[].name "mid"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "mid"
classes[].fields[].name "ew"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "ew"
classes[].fields[].name "surl"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "userrate"
classes[].fields[].type "integer"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "pid"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "weight"
classes[].fields[].type "float"
+classes[].fields[].command "attribute"
+classes[].fields[].source "weight"
classes[].fields[].name "url"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "isbn"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "fmt"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "albumid"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "disp_song"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "song"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "song"
classes[].fields[].name "pfrom"
classes[].fields[].type "integer"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "bgnpfrom"
classes[].fields[].type "float"
+classes[].fields[].command "attribute"
+classes[].fields[].source "bgnpfrom"
classes[].fields[].name "categories"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "data"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "numreview"
classes[].fields[].type "integer"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "bgnsellers"
classes[].fields[].type "integer"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "image"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "artist"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "artistspid"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "title"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "newestedition"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "newestedition"
classes[].fields[].name "bgnpto"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "bgnpto"
classes[].fields[].name "year"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "year"
classes[].fields[].name "did"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "did"
classes[].fields[].name "scorekey"
classes[].fields[].type "integer"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "cbid"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "cbid"
classes[].fields[].name "metalvalue"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "hiphopvalue"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "powermetalvalue"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "progvalue"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
classes[].id 2060710706
classes[].name "attributeprefetch"
classes[].omitsummaryfeatures false
classes[].fields[].name "sales"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "sales"
classes[].fields[].name "pto"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "pto"
classes[].fields[].name "mid"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "mid"
classes[].fields[].name "weight"
classes[].fields[].type "float"
+classes[].fields[].command "attribute"
+classes[].fields[].source "weight"
classes[].fields[].name "bgnpfrom"
classes[].fields[].type "float"
+classes[].fields[].command "attribute"
+classes[].fields[].source "bgnpfrom"
classes[].fields[].name "newestedition"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "newestedition"
classes[].fields[].name "year"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "year"
classes[].fields[].name "did"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "did"
classes[].fields[].name "cbid"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "cbid"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/newrank/summary.cfg b/config-model/src/test/derived/newrank/summary.cfg
index 7f77633602e..79e0aa2ce6c 100644
--- a/config-model/src/test/derived/newrank/summary.cfg
+++ b/config-model/src/test/derived/newrank/summary.cfg
@@ -5,96 +5,188 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "bgndata"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "bgndata"
classes[].fields[].name "sales"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "sales"
classes[].fields[].name "pto"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "pto"
classes[].fields[].name "mid"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "mid"
classes[].fields[].name "ew"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "ew"
classes[].fields[].name "surl"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "userrate"
classes[].fields[].type "integer"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "pid"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "weight"
classes[].fields[].type "float"
+classes[].fields[].command "attribute"
+classes[].fields[].source "weight"
classes[].fields[].name "url"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "isbn"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "fmt"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "albumid"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "disp_song"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "song"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "song"
classes[].fields[].name "pfrom"
classes[].fields[].type "integer"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "bgnpfrom"
classes[].fields[].type "float"
+classes[].fields[].command "attribute"
+classes[].fields[].source "bgnpfrom"
classes[].fields[].name "categories"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "data"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "numreview"
classes[].fields[].type "integer"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "bgnsellers"
classes[].fields[].type "integer"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "image"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "artist"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "artistspid"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "title"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "newestedition"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "newestedition"
classes[].fields[].name "bgnpto"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "bgnpto"
classes[].fields[].name "year"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "year"
classes[].fields[].name "did"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "did"
classes[].fields[].name "scorekey"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "scorekey"
classes[].fields[].name "cbid"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "cbid"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
classes[].id 1606815285
classes[].name "attributeprefetch"
classes[].omitsummaryfeatures false
classes[].fields[].name "sales"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "sales"
classes[].fields[].name "pto"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "pto"
classes[].fields[].name "mid"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "mid"
classes[].fields[].name "weight"
classes[].fields[].type "float"
+classes[].fields[].command "attribute"
+classes[].fields[].source "weight"
classes[].fields[].name "bgnpfrom"
classes[].fields[].type "float"
+classes[].fields[].command "attribute"
+classes[].fields[].source "bgnpfrom"
classes[].fields[].name "newestedition"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "newestedition"
classes[].fields[].name "year"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "year"
classes[].fields[].name "did"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "did"
classes[].fields[].name "scorekey"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "scorekey"
classes[].fields[].name "cbid"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "cbid"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/position_nosummary/summary.cfg b/config-model/src/test/derived/position_nosummary/summary.cfg
index 2c46031bdad..cda3a7df60f 100644
--- a/config-model/src/test/derived/position_nosummary/summary.cfg
+++ b/config-model/src/test/derived/position_nosummary/summary.cfg
@@ -5,16 +5,28 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
classes[].id 1530141163
classes[].name "attributeprefetch"
classes[].omitsummaryfeatures false
classes[].fields[].name "pos_zcurve"
classes[].fields[].type "int64"
+classes[].fields[].command "attribute"
+classes[].fields[].source "pos_zcurve"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/position_summary/summary.cfg b/config-model/src/test/derived/position_summary/summary.cfg
index 7fda1ca0c05..ca26f898b1d 100644
--- a/config-model/src/test/derived/position_summary/summary.cfg
+++ b/config-model/src/test/derived/position_summary/summary.cfg
@@ -5,18 +5,32 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "pos"
classes[].fields[].type "jsonstring"
+classes[].fields[].command "geopos"
+classes[].fields[].source "pos_zcurve"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
classes[].id 1530141163
classes[].name "attributeprefetch"
classes[].omitsummaryfeatures false
classes[].fields[].name "pos_zcurve"
classes[].fields[].type "int64"
+classes[].fields[].command "attribute"
+classes[].fields[].source "pos_zcurve"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/predicate_attribute/summary.cfg b/config-model/src/test/derived/predicate_attribute/summary.cfg
index d01ddcfcf2d..88a0828f9e1 100644
--- a/config-model/src/test/derived/predicate_attribute/summary.cfg
+++ b/config-model/src/test/derived/predicate_attribute/summary.cfg
@@ -5,16 +5,28 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "some_predicate_field"
classes[].fields[].type "string"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
classes[].id 1274088866
classes[].name "attributeprefetch"
classes[].omitsummaryfeatures false
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/rankingexpression/summary.cfg b/config-model/src/test/derived/rankingexpression/summary.cfg
index a6ba84ca7a9..0dc717c8993 100644
--- a/config-model/src/test/derived/rankingexpression/summary.cfg
+++ b/config-model/src/test/derived/rankingexpression/summary.cfg
@@ -5,40 +5,76 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "artist"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "title"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "surl"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "year"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "year"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
classes[].id 1736696699
classes[].name "attributeprefetch"
classes[].omitsummaryfeatures false
classes[].fields[].name "year"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "year"
classes[].fields[].name "foo1"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "foo1"
classes[].fields[].name "foo2"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "foo2"
classes[].fields[].name "foo3"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "foo3"
classes[].fields[].name "foo4"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "foo4"
classes[].fields[].name "bar1"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "bar1"
classes[].fields[].name "bar2"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "bar2"
classes[].fields[].name "bar3"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "bar3"
classes[].fields[].name "bar4"
classes[].fields[].type "integer"
+classes[].fields[].command "attribute"
+classes[].fields[].source "bar4"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/ranktypes/summary.cfg b/config-model/src/test/derived/ranktypes/summary.cfg
index b39f10f354b..5499349184b 100644
--- a/config-model/src/test/derived/ranktypes/summary.cfg
+++ b/config-model/src/test/derived/ranktypes/summary.cfg
@@ -5,11 +5,21 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "title"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "descr"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/reference_fields/summary.cfg b/config-model/src/test/derived/reference_fields/summary.cfg
index 2bcabe81c3c..9e70d42d874 100644
--- a/config-model/src/test/derived/reference_fields/summary.cfg
+++ b/config-model/src/test/derived/reference_fields/summary.cfg
@@ -5,25 +5,43 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "campaign_ref"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
classes[].id 428144659
classes[].name "explicit_summary"
classes[].omitsummaryfeatures false
classes[].fields[].name "yet_another_ref"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].id 1274088866
classes[].name "attributeprefetch"
classes[].omitsummaryfeatures false
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/schemainheritance/summary.cfg b/config-model/src/test/derived/schemainheritance/summary.cfg
index 0d54f8ceaf7..d774250f209 100644
--- a/config-model/src/test/derived/schemainheritance/summary.cfg
+++ b/config-model/src/test/derived/schemainheritance/summary.cfg
@@ -5,46 +5,82 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "parent_field"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "parent_field"
classes[].fields[].name "child_field"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "child_field"
classes[].fields[].name "pf1"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "cf1"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
classes[].id 2134223620
classes[].name "parent_summary"
classes[].omitsummaryfeatures false
classes[].fields[].name "pf1"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].id 524210908
classes[].name "attributeprefetch"
classes[].omitsummaryfeatures false
classes[].fields[].name "parent_field"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "parent_field"
classes[].fields[].name "child_field"
classes[].fields[].type "longstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "child_field"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].id 1486475170
classes[].name "child_summary"
classes[].omitsummaryfeatures false
classes[].fields[].name "pf1"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "cf1"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/streamingstruct/summary.cfg b/config-model/src/test/derived/streamingstruct/summary.cfg
index 4c44f7f38b2..7ed8cb3a192 100644
--- a/config-model/src/test/derived/streamingstruct/summary.cfg
+++ b/config-model/src/test/derived/streamingstruct/summary.cfg
@@ -5,50 +5,96 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "coupleof"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "anothersummaryfield"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "a"
classes[].fields[].type "jsonstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "m"
classes[].fields[].type "jsonstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "b"
classes[].fields[].type "jsonstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "c"
classes[].fields[].type "jsonstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "c2"
classes[].fields[].type "jsonstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "c3"
classes[].fields[].type "jsonstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "n"
classes[].fields[].type "jsonstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "array1"
classes[].fields[].type "jsonstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "array2"
classes[].fields[].type "jsonstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "array3"
classes[].fields[].type "jsonstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "subject"
classes[].fields[].type "jsonstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "g"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "g"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "snippet"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "snippet"
classes[].fields[].name "snippet2"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
classes[].id 109252281
classes[].name "summ"
classes[].omitsummaryfeatures false
classes[].fields[].name "snippet"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "snippet"
classes[].fields[].name "snippet2"
classes[].fields[].type "longstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/streamingstructdefault/summary.cfg b/config-model/src/test/derived/streamingstructdefault/summary.cfg
index 71b8c1371b3..e06f934554d 100644
--- a/config-model/src/test/derived/streamingstructdefault/summary.cfg
+++ b/config-model/src/test/derived/streamingstructdefault/summary.cfg
@@ -5,13 +5,25 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "sum1"
classes[].fields[].type "longstring"
+classes[].fields[].command "dynamicteaser"
+classes[].fields[].source "sum1"
classes[].fields[].name "f1"
classes[].fields[].type "jsonstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "f2"
classes[].fields[].type "jsonstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/tensor/summary.cfg b/config-model/src/test/derived/tensor/summary.cfg
index a5b38684e52..444ab70d2a7 100644
--- a/config-model/src/test/derived/tensor/summary.cfg
+++ b/config-model/src/test/derived/tensor/summary.cfg
@@ -5,24 +5,44 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "f1"
classes[].fields[].type "tensor"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "f3"
classes[].fields[].type "tensor"
+classes[].fields[].command "attribute"
+classes[].fields[].source "f3"
classes[].fields[].name "f4"
classes[].fields[].type "tensor"
+classes[].fields[].command "attribute"
+classes[].fields[].source "f4"
classes[].fields[].name "f5"
classes[].fields[].type "tensor"
+classes[].fields[].command "attribute"
+classes[].fields[].source "f5"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
classes[].id 219619290
classes[].name "attributeprefetch"
classes[].omitsummaryfeatures false
classes[].fields[].name "f6"
classes[].fields[].type "float"
+classes[].fields[].command "attribute"
+classes[].fields[].source "f6"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
diff --git a/config-model/src/test/derived/types/summary.cfg b/config-model/src/test/derived/types/summary.cfg
index 33af9d88630..6b2085d0975 100644
--- a/config-model/src/test/derived/types/summary.cfg
+++ b/config-model/src/test/derived/types/summary.cfg
@@ -5,42 +5,80 @@ classes[].name "default"
classes[].omitsummaryfeatures false
classes[].fields[].name "abyte"
classes[].fields[].type "byte"
+classes[].fields[].command "attribute"
+classes[].fields[].source "abyte"
classes[].fields[].name "along"
classes[].fields[].type "int64"
+classes[].fields[].command "attribute"
+classes[].fields[].source "along"
classes[].fields[].name "abool"
classes[].fields[].type "bool"
+classes[].fields[].command "attribute"
+classes[].fields[].source "abool"
classes[].fields[].name "ashortfloat"
classes[].fields[].type "float16"
+classes[].fields[].command "attribute"
+classes[].fields[].source "ashortfloat"
classes[].fields[].name "tagfield"
classes[].fields[].type "jsonstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "tagfield"
classes[].fields[].name "stringmapfield"
classes[].fields[].type "jsonstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "album0"
classes[].fields[].type "jsonstring"
+classes[].fields[].command ""
+classes[].fields[].source ""
classes[].fields[].name "album1"
classes[].fields[].type "jsonstring"
+classes[].fields[].command "attribute"
+classes[].fields[].source "album1"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""
classes[].fields[].name "documentid"
classes[].fields[].type "longstring"
+classes[].fields[].command "documentid"
+classes[].fields[].source ""
classes[].id 1027812395
classes[].name "attributeprefetch"
classes[].omitsummaryfeatures false
classes[].fields[].name "other"
classes[].fields[].type "int64"
+classes[].fields[].command "attribute"
+classes[].fields[].source "other"
classes[].fields[].name "abyte"
classes[].fields[].type "byte"
+classes[].fields[].command "attribute"
+classes[].fields[].source "abyte"
classes[].fields[].name "along"
classes[].fields[].type "int64"
+classes[].fields[].command "attribute"
+classes[].fields[].source "along"
classes[].fields[].name "abool"
classes[].fields[].type "bool"
+classes[].fields[].command "attribute"
+classes[].fields[].source "abool"
classes[].fields[].name "ashortfloat"
classes[].fields[].type "float16"
+classes[].fields[].command "attribute"
+classes[].fields[].source "ashortfloat"
classes[].fields[].name "juletre"
classes[].fields[].type "int64"
+classes[].fields[].command "attribute"
+classes[].fields[].source "juletre"
classes[].fields[].name "rankfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "rankfeatures"
+classes[].fields[].source ""
classes[].fields[].name "summaryfeatures"
classes[].fields[].type "featuredata"
+classes[].fields[].command "summaryfeatures"
+classes[].fields[].source ""