aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config-model/src/test/derived/advanced/attributes.cfg40
-rw-r--r--config-model/src/test/derived/advanced/documentmanager.cfg210
-rw-r--r--config-model/src/test/derived/advanced/ilscripts.cfg46
-rw-r--r--config-model/src/test/derived/advanced/index-info.cfg226
-rw-r--r--config-model/src/test/derived/advanced/rank-profiles.cfg36
-rw-r--r--config-model/src/test/derived/advanced/summary.cfg64
-rw-r--r--config-model/src/test/derived/advanced/summarymap.cfg30
-rw-r--r--[-rwxr-xr-x]config-model/src/test/derived/annotationsimplicitstruct/documentmanager.cfg106
-rw-r--r--config-model/src/test/derived/annotationsimplicitstruct/ilscripts.cfg2
-rw-r--r--[-rwxr-xr-x]config-model/src/test/derived/annotationsimplicitstruct/index-info.cfg18
-rw-r--r--[-rwxr-xr-x]config-model/src/test/derived/annotationsinheritance/documentmanager.cfg288
-rw-r--r--config-model/src/test/derived/annotationsinheritance/ilscripts.cfg2
-rw-r--r--[-rwxr-xr-x]config-model/src/test/derived/annotationsinheritance/index-info.cfg18
-rw-r--r--[-rwxr-xr-x]config-model/src/test/derived/annotationsinheritance2/documentmanager.cfg204
-rw-r--r--config-model/src/test/derived/annotationsinheritance2/ilscripts.cfg2
-rw-r--r--[-rwxr-xr-x]config-model/src/test/derived/annotationsinheritance2/index-info.cfg18
-rw-r--r--[-rwxr-xr-x]config-model/src/test/derived/annotationspolymorphy/documentmanager.cfg124
-rw-r--r--[-rwxr-xr-x]config-model/src/test/derived/annotationspolymorphy/index-info.cfg18
-rw-r--r--[-rwxr-xr-x]config-model/src/test/derived/annotationsreference/documentmanager.cfg202
-rw-r--r--config-model/src/test/derived/annotationsreference/ilscripts.cfg2
-rw-r--r--[-rwxr-xr-x]config-model/src/test/derived/annotationsreference/index-info.cfg18
-rw-r--r--[-rwxr-xr-x]config-model/src/test/derived/annotationssimple/documentmanager.cfg86
-rw-r--r--config-model/src/test/derived/annotationssimple/ilscripts.cfg2
-rw-r--r--[-rwxr-xr-x]config-model/src/test/derived/annotationssimple/index-info.cfg18
-rw-r--r--config-model/src/test/derived/annotationsstruct/documentmanager.cfg126
-rw-r--r--config-model/src/test/derived/annotationsstructarray/documentmanager.cfg130
-rw-r--r--config-model/src/test/derived/arrays/documentmanager.cfg142
-rw-r--r--config-model/src/test/derived/arrays/ilscripts.cfg22
-rw-r--r--config-model/src/test/derived/arrays/index-info.cfg146
-rw-r--r--config-model/src/test/derived/attributeprefetch/attributes.cfg720
-rw-r--r--config-model/src/test/derived/attributeprefetch/documentmanager.cfg296
-rw-r--r--config-model/src/test/derived/attributeprefetch/ilscripts.cfg74
-rw-r--r--config-model/src/test/derived/attributeprefetch/index-info.cfg230
-rw-r--r--config-model/src/test/derived/attributeprefetch/rank-profiles.cfg20
-rw-r--r--config-model/src/test/derived/attributeprefetch/summary.cfg100
-rw-r--r--config-model/src/test/derived/attributeprefetch/summarymap.cfg120
-rw-r--r--config-model/src/test/derived/attributerank/rank-profiles.cfg68
-rw-r--r--config-model/src/test/derived/attributes/attributes.cfg720
-rw-r--r--config-model/src/test/derived/attributes/ilscripts.cfg82
-rw-r--r--config-model/src/test/derived/attributes/index-info.cfg302
-rw-r--r--config-model/src/test/derived/attributes/summarymap.cfg102
-rw-r--r--config-model/src/test/derived/combinedattributeandindexsearch/index-info.cfg94
-rw-r--r--config-model/src/test/derived/complex/attributes.cfg360
-rw-r--r--config-model/src/test/derived/complex/documentmanager.cfg294
-rw-r--r--config-model/src/test/derived/complex/ilscripts.cfg94
-rw-r--r--config-model/src/test/derived/complex/rank-profiles.cfg136
-rw-r--r--config-model/src/test/derived/complex/summary.cfg84
-rw-r--r--config-model/src/test/derived/complex/summarymap.cfg66
-rw-r--r--config-model/src/test/derived/documentderiver/documentmanager.cfg786
-rw-r--r--config-model/src/test/derived/documentderiver/vsmfields.cfg974
-rw-r--r--config-model/src/test/derived/documentderiver/vsmsummary.cfg10
-rw-r--r--config-model/src/test/derived/emptychild/summary.cfg36
-rw-r--r--config-model/src/test/derived/emptydefault/documentmanager.cfg96
-rw-r--r--config-model/src/test/derived/emptydefault/ilscripts.cfg10
-rw-r--r--config-model/src/test/derived/emptydefault/index-info.cfg58
-rw-r--r--config-model/src/test/derived/emptydefault/rank-profiles.cfg20
-rw-r--r--config-model/src/test/derived/emptydefault/summary.cfg16
-rw-r--r--config-model/src/test/derived/emptydefault/summarymap.cfg12
-rw-r--r--config-model/src/test/derived/exactmatch/ilscripts.cfg10
-rw-r--r--config-model/src/test/derived/exactmatch/index-info.cfg42
-rw-r--r--config-model/src/test/derived/fieldlength/attributes.cfg6
-rw-r--r--config-model/src/test/derived/gemini2/rank-profiles.cfg58
-rw-r--r--config-model/src/test/derived/id/documentmanager.cfg88
-rw-r--r--config-model/src/test/derived/id/ilscripts.cfg6
-rw-r--r--config-model/src/test/derived/id/index-info.cfg94
-rw-r--r--config-model/src/test/derived/id/rank-profiles.cfg20
-rw-r--r--config-model/src/test/derived/id/summary.cfg20
-rw-r--r--config-model/src/test/derived/id/summarymap.cfg12
-rw-r--r--config-model/src/test/derived/id/vsmsummary.cfg14
-rw-r--r--config-model/src/test/derived/indexinfo_fieldsets/index-info.cfg150
-rw-r--r--config-model/src/test/derived/indexinfo_lowercase/index-info.cfg578
-rw-r--r--config-model/src/test/derived/indexschema/index-info.cfg706
-rw-r--r--config-model/src/test/derived/indexschema/indexschema.cfg442
-rw-r--r--config-model/src/test/derived/indexschema/vsmfields.cfg384
-rw-r--r--config-model/src/test/derived/indexswitches/documentmanager.cfg114
-rw-r--r--config-model/src/test/derived/indexswitches/ilscripts.cfg16
-rw-r--r--config-model/src/test/derived/indexswitches/index-info.cfg98
-rw-r--r--config-model/src/test/derived/indexswitches/rank-profiles.cfg20
-rw-r--r--config-model/src/test/derived/indexswitches/summary.cfg28
-rw-r--r--config-model/src/test/derived/indexswitches/summarymap.cfg12
-rw-r--r--config-model/src/test/derived/inheritance/attributes.cfg120
-rw-r--r--config-model/src/test/derived/inheritance/documentmanager.cfg308
-rw-r--r--config-model/src/test/derived/inheritance/ilscripts.cfg22
-rw-r--r--config-model/src/test/derived/inheritance/index-info.cfg86
-rw-r--r--config-model/src/test/derived/inheritance/rank-profiles.cfg20
-rw-r--r--config-model/src/test/derived/inheritance/summary.cfg44
-rw-r--r--config-model/src/test/derived/inheritance/summarymap.cfg30
-rw-r--r--config-model/src/test/derived/inheritdiamond/documentmanager.cfg536
-rw-r--r--config-model/src/test/derived/inheritfromgrandparent/documentmanager.cfg208
-rw-r--r--config-model/src/test/derived/inheritfromparent/attributes.cfg40
-rw-r--r--config-model/src/test/derived/inheritfromparent/documentmanager.cfg176
-rw-r--r--config-model/src/test/derived/inheritfromparent/documenttypes.cfg248
-rw-r--r--config-model/src/test/derived/inheritfromparent/summarymap.cfg18
-rw-r--r--config-model/src/test/derived/inheritstruct/index-info.cfg50
-rw-r--r--config-model/src/test/derived/integerattributetostringindex/summary.cfg56
-rw-r--r--config-model/src/test/derived/mail/attributes.cfg80
-rw-r--r--config-model/src/test/derived/mail/documentmanager.cfg228
-rw-r--r--config-model/src/test/derived/mail/ilscripts.cfg66
-rw-r--r--config-model/src/test/derived/mail/index-info.cfg310
-rw-r--r--config-model/src/test/derived/mail/onlydoc/documentmanager.cfg168
-rw-r--r--config-model/src/test/derived/mail/rank-profiles.cfg20
-rw-r--r--config-model/src/test/derived/mail/summary.cfg100
-rw-r--r--config-model/src/test/derived/mail/summarymap.cfg30
-rw-r--r--config-model/src/test/derived/mail/vsmfields.cfg212
-rw-r--r--config-model/src/test/derived/mail/vsmsummary.cfg74
-rw-r--r--config-model/src/test/derived/mlr/summary.cfg44
-rw-r--r--config-model/src/test/derived/multiplesummaries/index-info.cfg76
-rw-r--r--[-rwxr-xr-x]config-model/src/test/derived/multiplesummaries/juniperrc.cfg0
-rw-r--r--config-model/src/test/derived/music/attributes.cfg440
-rw-r--r--config-model/src/test/derived/music/ilscripts.cfg150
-rw-r--r--config-model/src/test/derived/music/index-info.cfg470
-rw-r--r--[-rwxr-xr-x]config-model/src/test/derived/music/juniperrc.cfg22
-rw-r--r--config-model/src/test/derived/music/rank-profiles.cfg68
-rw-r--r--config-model/src/test/derived/music/summary.cfg204
-rw-r--r--config-model/src/test/derived/music/summarymap.cfg90
-rw-r--r--config-model/src/test/derived/newrank/attributes.cfg400
-rw-r--r--config-model/src/test/derived/newrank/ilscripts.cfg130
-rw-r--r--config-model/src/test/derived/newrank/index-info.cfg394
-rw-r--r--[-rwxr-xr-x]config-model/src/test/derived/newrank/juniperrc.cfg22
-rw-r--r--config-model/src/test/derived/newrank/rank-profiles.cfg20
-rw-r--r--config-model/src/test/derived/newrank/summary.cfg192
-rw-r--r--config-model/src/test/derived/newrank/summarymap.cfg96
-rw-r--r--config-model/src/test/derived/orderilscripts/ilscripts.cfg8
-rw-r--r--config-model/src/test/derived/position_array/ilscripts.cfg6
-rw-r--r--config-model/src/test/derived/position_array/index-info.cfg78
-rw-r--r--config-model/src/test/derived/position_attribute/ilscripts.cfg6
-rw-r--r--config-model/src/test/derived/position_attribute/index-info.cfg74
-rw-r--r--config-model/src/test/derived/position_extra/ilscripts.cfg6
-rw-r--r--config-model/src/test/derived/position_extra/index-info.cfg62
-rw-r--r--config-model/src/test/derived/position_nosummary/summary.cfg40
-rw-r--r--config-model/src/test/derived/position_nosummary/summarymap.cfg30
-rw-r--r--config-model/src/test/derived/position_summary/summary.cfg44
-rw-r--r--config-model/src/test/derived/position_summary/summarymap.cfg36
-rw-r--r--config-model/src/test/derived/position_summary/vsmsummary.cfg26
-rw-r--r--config-model/src/test/derived/predicate_attribute/attributes.cfg40
-rw-r--r--config-model/src/test/derived/predicate_attribute/index-info.cfg30
-rw-r--r--config-model/src/test/derived/predicate_attribute/summary.cfg32
-rw-r--r--config-model/src/test/derived/predicate_attribute/summarymap.cfg12
-rw-r--r--config-model/src/test/derived/prefixexactattribute/attributes.cfg80
-rw-r--r--config-model/src/test/derived/prefixexactattribute/documentmanager.cfg120
-rw-r--r--config-model/src/test/derived/prefixexactattribute/ilscripts.cfg22
-rw-r--r--config-model/src/test/derived/prefixexactattribute/index-info.cfg86
-rw-r--r--config-model/src/test/derived/prefixexactattribute/vsmfields.cfg72
-rw-r--r--config-model/src/test/derived/rankexpression/rank-profiles.cfg592
-rw-r--r--config-model/src/test/derived/rankexpression/summary.cfg48
-rw-r--r--config-model/src/test/derived/rankexpression/summarymap.cfg20
-rw-r--r--config-model/src/test/derived/rankprofiles/rank-profiles.cfg196
-rw-r--r--config-model/src/test/derived/rankproperties/rank-profiles.cfg96
-rw-r--r--config-model/src/test/derived/ranktypes/documentmanager.cfg118
-rw-r--r--config-model/src/test/derived/ranktypes/ilscripts.cfg20
-rw-r--r--config-model/src/test/derived/ranktypes/index-info.cfg114
-rw-r--r--config-model/src/test/derived/ranktypes/rank-profiles.cfg158
-rw-r--r--config-model/src/test/derived/ranktypes/summary.cfg24
-rw-r--r--config-model/src/test/derived/ranktypes/summarymap.cfg12
-rw-r--r--config-model/src/test/derived/sorting/attributes.cfg120
-rw-r--r--config-model/src/test/derived/streamingjuniper/vsmsummary.cfg20
-rw-r--r--config-model/src/test/derived/streamingstruct/documentmanager.cfg314
-rw-r--r--config-model/src/test/derived/streamingstruct/onlydoc/documentmanager.cfg250
-rw-r--r--config-model/src/test/derived/streamingstruct/summary.cfg100
-rw-r--r--config-model/src/test/derived/streamingstruct/summarymap.cfg24
-rw-r--r--config-model/src/test/derived/streamingstruct/vsmfields.cfg864
-rw-r--r--config-model/src/test/derived/streamingstruct/vsmsummary.cfg164
-rw-r--r--config-model/src/test/derived/streamingstructdefault/summary.cfg28
-rw-r--r--[-rwxr-xr-x]config-model/src/test/derived/structanyorder/documentmanager.cfg190
-rw-r--r--config-model/src/test/derived/structanyorder/ilscripts.cfg10
-rw-r--r--[-rwxr-xr-x]config-model/src/test/derived/structanyorder/index-info.cfg494
-rw-r--r--config-model/src/test/derived/tensor/attributes.cfg120
-rw-r--r--config-model/src/test/derived/tensor/documenttypes.cfg140
-rw-r--r--config-model/src/test/derived/tensor/rank-profiles.cfg110
-rw-r--r--config-model/src/test/derived/twostreamingstructs/documentmanager.cfg330
-rw-r--r--config-model/src/test/derived/twostreamingstructs/summary.cfg100
-rw-r--r--config-model/src/test/derived/twostreamingstructs/summarymap.cfg24
-rw-r--r--config-model/src/test/derived/twostreamingstructs/vsmfields.cfg640
-rw-r--r--config-model/src/test/derived/twostreamingstructs/vsmsummary.cfg164
-rw-r--r--config-model/src/test/derived/types/attributes.cfg440
-rw-r--r--config-model/src/test/derived/types/documentmanager.cfg516
-rw-r--r--config-model/src/test/derived/types/ilscripts.cfg108
-rw-r--r--config-model/src/test/derived/types/index-info.cfg866
-rw-r--r--config-model/src/test/derived/types/rank-profiles.cfg32
-rw-r--r--config-model/src/test/derived/types/summary.cfg68
-rw-r--r--config-model/src/test/derived/types/summarymap.cfg48
-rw-r--r--config-model/src/test/derived/types/vsmsummary.cfg44
-rw-r--r--config-model/src/test/derived/uri_array/ilscripts.cfg6
-rw-r--r--config-model/src/test/derived/uri_array/indexschema.cfg128
-rw-r--r--config-model/src/test/derived/uri_wset/ilscripts.cfg6
-rw-r--r--config-model/src/test/derived/uri_wset/indexschema.cfg128
186 files changed, 13108 insertions, 13108 deletions
diff --git a/config-model/src/test/derived/advanced/attributes.cfg b/config-model/src/test/derived/advanced/attributes.cfg
index 56f058f9dc1..2032cfd42bd 100644
--- a/config-model/src/test/derived/advanced/attributes.cfg
+++ b/config-model/src/test/derived/advanced/attributes.cfg
@@ -1,20 +1,20 @@
-attribute[0].name "location_zcurve"
-attribute[0].datatype INT64
-attribute[0].collectiontype SINGLE
-attribute[0].removeifzero false
-attribute[0].createifnonexistent false
-attribute[0].fastsearch true
-attribute[0].huge false
-attribute[0].sortascending true
-attribute[0].sortfunction UCA
-attribute[0].sortstrength PRIMARY
-attribute[0].sortlocale ""
-attribute[0].enablebitvectors false
-attribute[0].enableonlybitvector false
-attribute[0].fastaccess false
-attribute[0].arity 8
-attribute[0].lowerbound -9223372036854775808
-attribute[0].upperbound 9223372036854775807
-attribute[0].densepostinglistthreshold 0.4
-attribute[0].tensortype ""
-attribute[0].imported false \ No newline at end of file
+attribute[].name "location_zcurve"
+attribute[].datatype INT64
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch true
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
diff --git a/config-model/src/test/derived/advanced/documentmanager.cfg b/config-model/src/test/derived/advanced/documentmanager.cfg
index 532f53f51d2..62902493d8f 100644
--- a/config-model/src/test/derived/advanced/documentmanager.cfg
+++ b/config-model/src/test/derived/advanced/documentmanager.cfg
@@ -1,106 +1,106 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
-datatype[1].id -1486737430
-datatype[1].arraytype[0].datatype 2
-datatype[2].id -1337915045
-datatype[2].structtype[0].name "advanced.header"
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].compresstype NONE
-datatype[2].structtype[0].compresslevel 0
-datatype[2].structtype[0].compressthreshold 95
-datatype[2].structtype[0].compressminsize 800
-datatype[2].structtype[0].field[0].name "debug_src"
-datatype[2].structtype[0].field[0].datatype 2
-datatype[2].structtype[0].field[0].detailedtype ""
-datatype[2].structtype[0].field[1].name "attributes_src"
-datatype[2].structtype[0].field[1].datatype 2
-datatype[2].structtype[0].field[1].detailedtype ""
-datatype[2].structtype[0].field[2].name "location_str"
-datatype[2].structtype[0].field[2].datatype 2
-datatype[2].structtype[0].field[2].detailedtype ""
-datatype[2].structtype[0].field[3].name "title_src"
-datatype[2].structtype[0].field[3].datatype 2
-datatype[2].structtype[0].field[3].detailedtype ""
-datatype[2].structtype[0].field[4].name "product_src"
-datatype[2].structtype[0].field[4].datatype 2
-datatype[2].structtype[0].field[4].detailedtype ""
-datatype[2].structtype[0].field[5].name "product2_src"
-datatype[2].structtype[0].field[5].datatype 2
-datatype[2].structtype[0].field[5].detailedtype ""
-datatype[2].structtype[0].field[6].name "product3_src"
-datatype[2].structtype[0].field[6].datatype 2
-datatype[2].structtype[0].field[6].detailedtype ""
-datatype[2].structtype[0].field[7].name "debug"
-datatype[2].structtype[0].field[7].datatype 2
-datatype[2].structtype[0].field[7].detailedtype ""
-datatype[2].structtype[0].field[8].name "attributes"
-datatype[2].structtype[0].field[8].datatype 2
-datatype[2].structtype[0].field[8].detailedtype ""
-datatype[2].structtype[0].field[9].name "title"
-datatype[2].structtype[0].field[9].datatype 2
-datatype[2].structtype[0].field[9].detailedtype ""
-datatype[2].structtype[0].field[10].name "product"
-datatype[2].structtype[0].field[10].datatype 2
-datatype[2].structtype[0].field[10].detailedtype ""
-datatype[2].structtype[0].field[11].name "product2"
-datatype[2].structtype[0].field[11].datatype 2
-datatype[2].structtype[0].field[11].detailedtype ""
-datatype[2].structtype[0].field[12].name "product3"
-datatype[2].structtype[0].field[12].datatype 2
-datatype[2].structtype[0].field[12].detailedtype ""
-datatype[2].structtype[0].field[13].name "location_zcurve"
-datatype[2].structtype[0].field[13].datatype 4
-datatype[2].structtype[0].field[13].detailedtype ""
-datatype[2].structtype[0].field[14].name "title_s"
-datatype[2].structtype[0].field[14].datatype 2
-datatype[2].structtype[0].field[14].detailedtype ""
-datatype[2].structtype[0].field[15].name "location.position"
-datatype[2].structtype[0].field[15].datatype -1486737430
-datatype[2].structtype[0].field[15].detailedtype ""
-datatype[2].structtype[0].field[16].name "location.distance"
-datatype[2].structtype[0].field[16].datatype 0
-datatype[2].structtype[0].field[16].detailedtype ""
-datatype[2].structtype[0].field[17].name "mysummary"
-datatype[2].structtype[0].field[17].datatype 2
-datatype[2].structtype[0].field[17].detailedtype ""
-datatype[2].structtype[0].field[18].name "rankfeatures"
-datatype[2].structtype[0].field[18].datatype 2
-datatype[2].structtype[0].field[18].detailedtype ""
-datatype[2].structtype[0].field[19].name "summaryfeatures"
-datatype[2].structtype[0].field[19].datatype 2
-datatype[2].structtype[0].field[19].detailedtype ""
-datatype[3].id -704605648
-datatype[3].structtype[0].name "advanced.body"
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].compresstype NONE
-datatype[3].structtype[0].compresslevel 0
-datatype[3].structtype[0].compressthreshold 95
-datatype[3].structtype[0].compressminsize 800
-datatype[4].id 686681444
-datatype[4].documenttype[0].name "advanced"
-datatype[4].documenttype[0].version 0
-datatype[4].documenttype[0].inherits[0].name "document"
-datatype[4].documenttype[0].inherits[0].version 0
-datatype[4].documenttype[0].headerstruct -1337915045
-datatype[4].documenttype[0].bodystruct -704605648
-datatype[4].documenttype[0].fieldsets{titleabstract}.fields[0] "title"
-datatype[4].documenttype[0].fieldsets{default}.fields[0] "title"
-datatype[4].documenttype[0].fieldsets{[document]}.fields[0] "attributes_src"
-datatype[4].documenttype[0].fieldsets{[document]}.fields[1] "debug_src"
-datatype[4].documenttype[0].fieldsets{[document]}.fields[2] "location_str"
-datatype[4].documenttype[0].fieldsets{[document]}.fields[3] "product2_src"
-datatype[4].documenttype[0].fieldsets{[document]}.fields[4] "product3_src"
-datatype[4].documenttype[0].fieldsets{[document]}.fields[5] "product_src"
-datatype[4].documenttype[0].fieldsets{[document]}.fields[6] "title_src"
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -1486737430
+datatype[].arraytype[].datatype 2
+datatype[].id -1337915045
+datatype[].structtype[].name "advanced.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "debug_src"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "attributes_src"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "location_str"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "title_src"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "product_src"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "product2_src"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "product3_src"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "debug"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "attributes"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "title"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "product"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "product2"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "product3"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "location_zcurve"
+datatype[].structtype[].field[].datatype 4
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "title_s"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "location.position"
+datatype[].structtype[].field[].datatype -1486737430
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "location.distance"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "mysummary"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -704605648
+datatype[].structtype[].name "advanced.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id 686681444
+datatype[].documenttype[].name "advanced"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct -1337915045
+datatype[].documenttype[].bodystruct -704605648
+datatype[].documenttype[].fieldsets{titleabstract}.fields[0] "title"
+datatype[].documenttype[].fieldsets{default}.fields[0] "title"
+datatype[].documenttype[].fieldsets{[document]}.fields[0] "attributes_src"
+datatype[].documenttype[].fieldsets{[document]}.fields[1] "debug_src"
+datatype[].documenttype[].fieldsets{[document]}.fields[2] "location_str"
+datatype[].documenttype[].fieldsets{[document]}.fields[3] "product2_src"
+datatype[].documenttype[].fieldsets{[document]}.fields[4] "product3_src"
+datatype[].documenttype[].fieldsets{[document]}.fields[5] "product_src"
+datatype[].documenttype[].fieldsets{[document]}.fields[6] "title_src"
diff --git a/config-model/src/test/derived/advanced/ilscripts.cfg b/config-model/src/test/derived/advanced/ilscripts.cfg
index 197b47ccdc4..689a4dee882 100644
--- a/config-model/src/test/derived/advanced/ilscripts.cfg
+++ b/config-model/src/test/derived/advanced/ilscripts.cfg
@@ -1,25 +1,25 @@
maxtermoccurrences 100
fieldmatchmaxlength 1000000
-ilscript[0].doctype "advanced"
-ilscript[0].docfield[0] "debug_src"
-ilscript[0].docfield[1] "attributes_src"
-ilscript[0].docfield[2] "location_str"
-ilscript[0].docfield[3] "title_src"
-ilscript[0].docfield[4] "product_src"
-ilscript[0].docfield[5] "product2_src"
-ilscript[0].docfield[6] "product3_src"
-ilscript[0].content[0] "clear_state | guard { 1 | set_var superdupermod; 2 | set_var tmppubdate; input attributes_src | lowercase | tokenize normalize | summary attributes | index attributes | split \";\" | for_each { switch { case \"typepr\": 1 | set_var tmpsourcerank | get_var tmppubdate - 9000 | set_var tmppubdate | 0 | set_var superdupermod; } }; }"
-ilscript[0].content[1] "clear_state | guard { 0 | set_var superduperus | set_var superdupereu | set_var superduperasia; input debug_src | lowercase | tokenize normalize | summary debug | index debug | split \";\" | for_each { switch { case \"superduperus\": 10 | set_var superduperus; case \"superdupereu\": 10 | set_var superdupereu; case \"superduperasia\": 10 | set_var superduperasia; } }; }"
-ilscript[0].content[2] "clear_state | guard { input location_str | to_pos | zcurve | attribute location_zcurve; }"
-ilscript[0].content[3] "clear_state | guard { input title_src | summary mysummary; }"
-ilscript[0].content[4] "clear_state | guard { input product_src | switch { case \"\": \"myweb\" | tokenize stem:\"SHORTEST\" | index product | summary product; default: input product_src | tokenize stem:\"SHORTEST\" | index product | summary product; }; }"
-ilscript[0].content[5] "clear_state | guard { if (input product2_src == \"foo\") { \"bar\" | tokenize stem:\"SHORTEST\" | index product2; } else { \"baz\" | tokenize stem:\"SHORTEST\" | index product2; }; }"
-ilscript[0].content[6] "clear_state | guard { input product3_src | switch { case \"\": \"myweb\" | tokenize stem:\"SHORTEST\" | index product3 | summary product3; default: input product3_src | tokenize stem:\"SHORTEST\" | index product3 | summary product3; }; }"
-ilscript[0].content[7] "clear_state | guard { input title_src | tokenize normalize | index title; }"
-ilscript[0].content[8] "clear_state | guard { input title_src | summary title_s; }"
-ilscript[0].content[9] "input attributes_src | passthrough attributes_src"
-ilscript[0].content[10] "input debug_src | passthrough debug_src"
-ilscript[0].content[11] "input product2_src | passthrough product2_src"
-ilscript[0].content[12] "input product3_src | passthrough product3_src"
-ilscript[0].content[13] "input product_src | passthrough product_src"
-ilscript[0].content[14] "input title_src | passthrough title_src"
+ilscript[].doctype "advanced"
+ilscript[].docfield[0] "debug_src"
+ilscript[].docfield[1] "attributes_src"
+ilscript[].docfield[2] "location_str"
+ilscript[].docfield[3] "title_src"
+ilscript[].docfield[4] "product_src"
+ilscript[].docfield[5] "product2_src"
+ilscript[].docfield[6] "product3_src"
+ilscript[].content[0] "clear_state | guard { 1 | set_var superdupermod; 2 | set_var tmppubdate; input attributes_src | lowercase | tokenize normalize | summary attributes | index attributes | split \";\" | for_each { switch { case \"typepr\": 1 | set_var tmpsourcerank | get_var tmppubdate - 9000 | set_var tmppubdate | 0 | set_var superdupermod; } }; }"
+ilscript[].content[1] "clear_state | guard { 0 | set_var superduperus | set_var superdupereu | set_var superduperasia; input debug_src | lowercase | tokenize normalize | summary debug | index debug | split \";\" | for_each { switch { case \"superduperus\": 10 | set_var superduperus; case \"superdupereu\": 10 | set_var superdupereu; case \"superduperasia\": 10 | set_var superduperasia; } }; }"
+ilscript[].content[2] "clear_state | guard { input location_str | to_pos | zcurve | attribute location_zcurve; }"
+ilscript[].content[3] "clear_state | guard { input title_src | summary mysummary; }"
+ilscript[].content[4] "clear_state | guard { input product_src | switch { case \"\": \"myweb\" | tokenize stem:\"SHORTEST\" | index product | summary product; default: input product_src | tokenize stem:\"SHORTEST\" | index product | summary product; }; }"
+ilscript[].content[5] "clear_state | guard { if (input product2_src == \"foo\") { \"bar\" | tokenize stem:\"SHORTEST\" | index product2; } else { \"baz\" | tokenize stem:\"SHORTEST\" | index product2; }; }"
+ilscript[].content[6] "clear_state | guard { input product3_src | switch { case \"\": \"myweb\" | tokenize stem:\"SHORTEST\" | index product3 | summary product3; default: input product3_src | tokenize stem:\"SHORTEST\" | index product3 | summary product3; }; }"
+ilscript[].content[7] "clear_state | guard { input title_src | tokenize normalize | index title; }"
+ilscript[].content[8] "clear_state | guard { input title_src | summary title_s; }"
+ilscript[].content[9] "input attributes_src | passthrough attributes_src"
+ilscript[].content[10] "input debug_src | passthrough debug_src"
+ilscript[].content[11] "input product2_src | passthrough product2_src"
+ilscript[].content[12] "input product3_src | passthrough product3_src"
+ilscript[].content[13] "input product_src | passthrough product_src"
+ilscript[].content[14] "input title_src | passthrough title_src"
diff --git a/config-model/src/test/derived/advanced/index-info.cfg b/config-model/src/test/derived/advanced/index-info.cfg
index aad9256f1f3..a927e9635a3 100644
--- a/config-model/src/test/derived/advanced/index-info.cfg
+++ b/config-model/src/test/derived/advanced/index-info.cfg
@@ -1,113 +1,113 @@
-indexinfo[0].name "advanced"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "debug_src"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "attributes_src"
-indexinfo[0].command[3].command "index"
-indexinfo[0].command[4].indexname "location_str"
-indexinfo[0].command[4].command "index"
-indexinfo[0].command[5].indexname "title_src"
-indexinfo[0].command[5].command "index"
-indexinfo[0].command[6].indexname "product_src"
-indexinfo[0].command[6].command "index"
-indexinfo[0].command[7].indexname "product2_src"
-indexinfo[0].command[7].command "index"
-indexinfo[0].command[8].indexname "product3_src"
-indexinfo[0].command[8].command "index"
-indexinfo[0].command[9].indexname "attributes"
-indexinfo[0].command[9].command "index"
-indexinfo[0].command[10].indexname "attributes"
-indexinfo[0].command[10].command "lowercase"
-indexinfo[0].command[11].indexname "attributes"
-indexinfo[0].command[11].command "normalize"
-indexinfo[0].command[12].indexname "attributes"
-indexinfo[0].command[12].command "plain-tokens"
-indexinfo[0].command[13].indexname "debug"
-indexinfo[0].command[13].command "index"
-indexinfo[0].command[14].indexname "debug"
-indexinfo[0].command[14].command "lowercase"
-indexinfo[0].command[15].indexname "debug"
-indexinfo[0].command[15].command "normalize"
-indexinfo[0].command[16].indexname "debug"
-indexinfo[0].command[16].command "plain-tokens"
-indexinfo[0].command[17].indexname "location"
-indexinfo[0].command[17].command "default-position"
-indexinfo[0].command[18].indexname "location"
-indexinfo[0].command[18].command "index"
-indexinfo[0].command[19].indexname "location.distance"
-indexinfo[0].command[19].command "index"
-indexinfo[0].command[20].indexname "location.distance"
-indexinfo[0].command[20].command "numerical"
-indexinfo[0].command[21].indexname "location.position"
-indexinfo[0].command[21].command "index"
-indexinfo[0].command[22].indexname "location.position"
-indexinfo[0].command[22].command "multivalue"
-indexinfo[0].command[23].indexname "location_zcurve"
-indexinfo[0].command[23].command "index"
-indexinfo[0].command[24].indexname "location_zcurve"
-indexinfo[0].command[24].command "attribute"
-indexinfo[0].command[25].indexname "location_zcurve"
-indexinfo[0].command[25].command "fast-search"
-indexinfo[0].command[26].indexname "location_zcurve"
-indexinfo[0].command[26].command "numerical"
-indexinfo[0].command[27].indexname "mysummary"
-indexinfo[0].command[27].command "index"
-indexinfo[0].command[28].indexname "product"
-indexinfo[0].command[28].command "index"
-indexinfo[0].command[29].indexname "product"
-indexinfo[0].command[29].command "lowercase"
-indexinfo[0].command[30].indexname "product"
-indexinfo[0].command[30].command "stem:SHORTEST"
-indexinfo[0].command[31].indexname "product"
-indexinfo[0].command[31].command "plain-tokens"
-indexinfo[0].command[32].indexname "product2"
-indexinfo[0].command[32].command "index"
-indexinfo[0].command[33].indexname "product2"
-indexinfo[0].command[33].command "lowercase"
-indexinfo[0].command[34].indexname "product2"
-indexinfo[0].command[34].command "stem:SHORTEST"
-indexinfo[0].command[35].indexname "product2"
-indexinfo[0].command[35].command "plain-tokens"
-indexinfo[0].command[36].indexname "product3"
-indexinfo[0].command[36].command "index"
-indexinfo[0].command[37].indexname "product3"
-indexinfo[0].command[37].command "lowercase"
-indexinfo[0].command[38].indexname "product3"
-indexinfo[0].command[38].command "stem:SHORTEST"
-indexinfo[0].command[39].indexname "product3"
-indexinfo[0].command[39].command "plain-tokens"
-indexinfo[0].command[40].indexname "rankfeatures"
-indexinfo[0].command[40].command "index"
-indexinfo[0].command[41].indexname "summaryfeatures"
-indexinfo[0].command[41].command "index"
-indexinfo[0].command[42].indexname "title"
-indexinfo[0].command[42].command "index"
-indexinfo[0].command[43].indexname "title"
-indexinfo[0].command[43].command "lowercase"
-indexinfo[0].command[44].indexname "title"
-indexinfo[0].command[44].command "normalize"
-indexinfo[0].command[45].indexname "title"
-indexinfo[0].command[45].command "plain-tokens"
-indexinfo[0].command[46].indexname "title_s"
-indexinfo[0].command[46].command "index"
-indexinfo[0].command[47].indexname "titleabstract"
-indexinfo[0].command[47].command "lowercase"
-indexinfo[0].command[48].indexname "titleabstract"
-indexinfo[0].command[48].command "index"
-indexinfo[0].command[49].indexname "titleabstract"
-indexinfo[0].command[49].command "plain-tokens"
-indexinfo[0].command[50].indexname "titleabstract"
-indexinfo[0].command[50].command "normalize"
-indexinfo[0].command[51].indexname "default"
-indexinfo[0].command[51].command "lowercase"
-indexinfo[0].command[52].indexname "default"
-indexinfo[0].command[52].command "index"
-indexinfo[0].command[53].indexname "default"
-indexinfo[0].command[53].command "plain-tokens"
-indexinfo[0].command[54].indexname "default"
-indexinfo[0].command[54].command "normalize"
-indexinfo[0].alias[0].alias "headline"
-indexinfo[0].alias[0].indexname "title" \ No newline at end of file
+indexinfo[].name "advanced"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "debug_src"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "attributes_src"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "location_str"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "title_src"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "product_src"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "product2_src"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "product3_src"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "attributes"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "attributes"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "attributes"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "attributes"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "debug"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "debug"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "debug"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "debug"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "location"
+indexinfo[].command[].command "default-position"
+indexinfo[].command[].indexname "location"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "location.distance"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "location.distance"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "location.position"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "location.position"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "location_zcurve"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "location_zcurve"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "location_zcurve"
+indexinfo[].command[].command "fast-search"
+indexinfo[].command[].indexname "location_zcurve"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "mysummary"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "product"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "product"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "product"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "product"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "product2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "product2"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "product2"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "product2"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "product3"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "product3"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "product3"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "product3"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "rankfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "summaryfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "title_s"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "titleabstract"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "titleabstract"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "titleabstract"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "titleabstract"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "normalize"
+indexinfo[].alias[].alias "headline"
+indexinfo[].alias[].indexname "title"
diff --git a/config-model/src/test/derived/advanced/rank-profiles.cfg b/config-model/src/test/derived/advanced/rank-profiles.cfg
index 779ee927952..c8d2f954f27 100644
--- a/config-model/src/test/derived/advanced/rank-profiles.cfg
+++ b/config-model/src/test/derived/advanced/rank-profiles.cfg
@@ -1,18 +1,18 @@
-rankprofile[0].name "default"
-rankprofile[0].fef.property[0].name "nativeFieldMatch.firstOccurrenceTable.title"
-rankprofile[0].fef.property[0].value "expdecay(100,12.50)"
-rankprofile[0].fef.property[1].name "nativeFieldMatch.occurrenceCountTable.title"
-rankprofile[0].fef.property[1].value "loggrowth(1500,4000,19)"
-rankprofile[0].fef.property[2].name "nativeProximity.proximityTable.title"
-rankprofile[0].fef.property[2].value "expdecay(5000,3)"
-rankprofile[0].fef.property[3].name "nativeProximity.reverseProximityTable.title"
-rankprofile[0].fef.property[3].value "expdecay(3000,3)"
-rankprofile[1].name "unranked"
-rankprofile[1].fef.property[0].name "vespa.rank.firstphase"
-rankprofile[1].fef.property[0].value "value(0)"
-rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize"
-rankprofile[1].fef.property[1].value "0"
-rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize"
-rankprofile[1].fef.property[2].value "0"
-rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures"
-rankprofile[1].fef.property[3].value "true" \ No newline at end of file
+rankprofile[].name "default"
+rankprofile[].fef.property[].name "nativeFieldMatch.firstOccurrenceTable.title"
+rankprofile[].fef.property[].value "expdecay(100,12.50)"
+rankprofile[].fef.property[].name "nativeFieldMatch.occurrenceCountTable.title"
+rankprofile[].fef.property[].value "loggrowth(1500,4000,19)"
+rankprofile[].fef.property[].name "nativeProximity.proximityTable.title"
+rankprofile[].fef.property[].value "expdecay(5000,3)"
+rankprofile[].fef.property[].name "nativeProximity.reverseProximityTable.title"
+rankprofile[].fef.property[].value "expdecay(3000,3)"
+rankprofile[].name "unranked"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "value(0)"
+rankprofile[].fef.property[].name "vespa.hitcollector.heapsize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.hitcollector.arraysize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.dump.ignoredefaultfeatures"
+rankprofile[].fef.property[].value "true"
diff --git a/config-model/src/test/derived/advanced/summary.cfg b/config-model/src/test/derived/advanced/summary.cfg
index 529bebd431b..a56d0e6aa4f 100644
--- a/config-model/src/test/derived/advanced/summary.cfg
+++ b/config-model/src/test/derived/advanced/summary.cfg
@@ -1,33 +1,33 @@
defaultsummaryid 1271952241
-classes[0].id 1271952241
-classes[0].name "default"
-classes[0].fields[0].name "debug"
-classes[0].fields[0].type "longstring"
-classes[0].fields[1].name "attributes"
-classes[0].fields[1].type "longstring"
-classes[0].fields[2].name "title_s"
-classes[0].fields[2].type "longstring"
-classes[0].fields[3].name "product"
-classes[0].fields[3].type "longstring"
-classes[0].fields[4].name "product3"
-classes[0].fields[4].type "longstring"
-classes[0].fields[5].name "location.position"
-classes[0].fields[5].type "xmlstring"
-classes[0].fields[6].name "location.distance"
-classes[0].fields[6].type "integer"
-classes[0].fields[7].name "mysummary"
-classes[0].fields[7].type "longstring"
-classes[0].fields[8].name "rankfeatures"
-classes[0].fields[8].type "featuredata"
-classes[0].fields[9].name "summaryfeatures"
-classes[0].fields[9].type "featuredata"
-classes[0].fields[10].name "documentid"
-classes[0].fields[10].type "longstring"
-classes[1].id 472092010
-classes[1].name "attributeprefetch"
-classes[1].fields[0].name "location_zcurve"
-classes[1].fields[0].type "int64"
-classes[1].fields[1].name "rankfeatures"
-classes[1].fields[1].type "featuredata"
-classes[1].fields[2].name "summaryfeatures"
-classes[1].fields[2].type "featuredata" \ No newline at end of file
+classes[].id 1271952241
+classes[].name "default"
+classes[].fields[].name "debug"
+classes[].fields[].type "longstring"
+classes[].fields[].name "attributes"
+classes[].fields[].type "longstring"
+classes[].fields[].name "title_s"
+classes[].fields[].type "longstring"
+classes[].fields[].name "product"
+classes[].fields[].type "longstring"
+classes[].fields[].name "product3"
+classes[].fields[].type "longstring"
+classes[].fields[].name "location.position"
+classes[].fields[].type "xmlstring"
+classes[].fields[].name "location.distance"
+classes[].fields[].type "integer"
+classes[].fields[].name "mysummary"
+classes[].fields[].type "longstring"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "documentid"
+classes[].fields[].type "longstring"
+classes[].id 472092010
+classes[].name "attributeprefetch"
+classes[].fields[].name "location_zcurve"
+classes[].fields[].type "int64"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
diff --git a/config-model/src/test/derived/advanced/summarymap.cfg b/config-model/src/test/derived/advanced/summarymap.cfg
index ee1a491f8c8..23e2b6d30da 100644
--- a/config-model/src/test/derived/advanced/summarymap.cfg
+++ b/config-model/src/test/derived/advanced/summarymap.cfg
@@ -1,16 +1,16 @@
defaultoutputclass -1
-override[0].field "location.position"
-override[0].command "positions"
-override[0].arguments "location_zcurve"
-override[1].field "location.distance"
-override[1].command "absdist"
-override[1].arguments "location_zcurve"
-override[2].field "rankfeatures"
-override[2].command "rankfeatures"
-override[2].arguments ""
-override[3].field "summaryfeatures"
-override[3].command "summaryfeatures"
-override[3].arguments ""
-override[4].field "location_zcurve"
-override[4].command "attribute"
-override[4].arguments "location_zcurve" \ No newline at end of file
+override[].field "location.position"
+override[].command "positions"
+override[].arguments "location_zcurve"
+override[].field "location.distance"
+override[].command "absdist"
+override[].arguments "location_zcurve"
+override[].field "rankfeatures"
+override[].command "rankfeatures"
+override[].arguments ""
+override[].field "summaryfeatures"
+override[].command "summaryfeatures"
+override[].arguments ""
+override[].field "location_zcurve"
+override[].command "attribute"
+override[].arguments "location_zcurve"
diff --git a/config-model/src/test/derived/annotationsimplicitstruct/documentmanager.cfg b/config-model/src/test/derived/annotationsimplicitstruct/documentmanager.cfg
index 1e9ffba5ca0..4d81b2e56ba 100755..100644
--- a/config-model/src/test/derived/annotationsimplicitstruct/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationsimplicitstruct/documentmanager.cfg
@@ -1,54 +1,54 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
-datatype[1].id 517946310
-datatype[1].structtype[0].name "annotation.banana"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].compresstype NONE
-datatype[1].structtype[0].compresslevel 0
-datatype[1].structtype[0].compressthreshold 95
-datatype[1].structtype[0].compressminsize 800
-datatype[1].structtype[0].field[0].name "brand"
-datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
-datatype[2].id -364910881
-datatype[2].structtype[0].name "annotationsimplicitstruct.header"
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].compresstype NONE
-datatype[2].structtype[0].compresslevel 0
-datatype[2].structtype[0].compressthreshold 95
-datatype[2].structtype[0].compressminsize 800
-datatype[2].structtype[0].field[0].name "rankfeatures"
-datatype[2].structtype[0].field[0].datatype 2
-datatype[2].structtype[0].field[0].detailedtype ""
-datatype[2].structtype[0].field[1].name "summaryfeatures"
-datatype[2].structtype[0].field[1].datatype 2
-datatype[2].structtype[0].field[1].detailedtype ""
-datatype[3].id -1503592268
-datatype[3].structtype[0].name "annotationsimplicitstruct.body"
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].compresstype NONE
-datatype[3].structtype[0].compresslevel 0
-datatype[3].structtype[0].compressthreshold 95
-datatype[3].structtype[0].compressminsize 800
-datatype[4].id -2099544992
-datatype[4].documenttype[0].name "annotationsimplicitstruct"
-datatype[4].documenttype[0].version 0
-datatype[4].documenttype[0].inherits[0].name "document"
-datatype[4].documenttype[0].inherits[0].version 0
-datatype[4].documenttype[0].headerstruct -364910881
-datatype[4].documenttype[0].bodystruct -1503592268
-annotationtype[0].id -269517759
-annotationtype[0].name "banana"
-annotationtype[0].datatype 517946310
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 517946310
+datatype[].structtype[].name "annotation.banana"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "brand"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -364910881
+datatype[].structtype[].name "annotationsimplicitstruct.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -1503592268
+datatype[].structtype[].name "annotationsimplicitstruct.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id -2099544992
+datatype[].documenttype[].name "annotationsimplicitstruct"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct -364910881
+datatype[].documenttype[].bodystruct -1503592268
+annotationtype[].id -269517759
+annotationtype[].name "banana"
+annotationtype[].datatype 517946310
diff --git a/config-model/src/test/derived/annotationsimplicitstruct/ilscripts.cfg b/config-model/src/test/derived/annotationsimplicitstruct/ilscripts.cfg
index 82965f82f1a..e7fefe0035a 100644
--- a/config-model/src/test/derived/annotationsimplicitstruct/ilscripts.cfg
+++ b/config-model/src/test/derived/annotationsimplicitstruct/ilscripts.cfg
@@ -1,3 +1,3 @@
maxtermoccurrences 100
fieldmatchmaxlength 1000000
-ilscript[0].doctype "annotationsimplicitstruct"
+ilscript[].doctype "annotationsimplicitstruct"
diff --git a/config-model/src/test/derived/annotationsimplicitstruct/index-info.cfg b/config-model/src/test/derived/annotationsimplicitstruct/index-info.cfg
index 30ee2e6333b..90b9f1bd32c 100755..100644
--- a/config-model/src/test/derived/annotationsimplicitstruct/index-info.cfg
+++ b/config-model/src/test/derived/annotationsimplicitstruct/index-info.cfg
@@ -1,9 +1,9 @@
-indexinfo[0].name "annotationsimplicitstruct"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "rankfeatures"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "summaryfeatures"
-indexinfo[0].command[3].command "index" \ No newline at end of file
+indexinfo[].name "annotationsimplicitstruct"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "rankfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "summaryfeatures"
+indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/annotationsinheritance/documentmanager.cfg b/config-model/src/test/derived/annotationsinheritance/documentmanager.cfg
index db7fba5d9a6..5dd3977e55e 100755..100644
--- a/config-model/src/test/derived/annotationsinheritance/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationsinheritance/documentmanager.cfg
@@ -1,145 +1,145 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
-datatype[1].id 517946310
-datatype[1].structtype[0].name "annotation.banana"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].compresstype NONE
-datatype[1].structtype[0].compresslevel 0
-datatype[1].structtype[0].compressthreshold 95
-datatype[1].structtype[0].compressminsize 800
-datatype[1].structtype[0].field[0].name "brand"
-datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
-datatype[2].id -1339036621
-datatype[2].structtype[0].name "annotation.intern"
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].compresstype NONE
-datatype[2].structtype[0].compresslevel 0
-datatype[2].structtype[0].compressthreshold 95
-datatype[2].structtype[0].compressminsize 800
-datatype[2].structtype[0].field[0].name "enddate"
-datatype[2].structtype[0].field[0].datatype 4
-datatype[2].structtype[0].field[0].detailedtype ""
-datatype[2].structtype[0].inherits[0].name "annotation.employee"
-datatype[2].structtype[0].inherits[0].version 0
-datatype[3].id 249059607
-datatype[3].structtype[0].name "annotation.car"
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].compresstype NONE
-datatype[3].structtype[0].compresslevel 0
-datatype[3].structtype[0].compressthreshold 95
-datatype[3].structtype[0].compressminsize 800
-datatype[3].structtype[0].field[0].name "color"
-datatype[3].structtype[0].field[0].datatype 2
-datatype[3].structtype[0].field[0].detailedtype ""
-datatype[3].structtype[0].inherits[0].name "annotation.vehicle"
-datatype[3].structtype[0].inherits[0].version 0
-datatype[4].id -1466283082
-datatype[4].structtype[0].name "annotation.person"
-datatype[4].structtype[0].version 0
-datatype[4].structtype[0].compresstype NONE
-datatype[4].structtype[0].compresslevel 0
-datatype[4].structtype[0].compressthreshold 95
-datatype[4].structtype[0].compressminsize 800
-datatype[4].structtype[0].field[0].name "name"
-datatype[4].structtype[0].field[0].datatype 2
-datatype[4].structtype[0].field[0].detailedtype ""
-datatype[5].id -858216177
-datatype[5].structtype[0].name "annotation.employee"
-datatype[5].structtype[0].version 0
-datatype[5].structtype[0].compresstype NONE
-datatype[5].structtype[0].compresslevel 0
-datatype[5].structtype[0].compressthreshold 95
-datatype[5].structtype[0].compressminsize 800
-datatype[5].structtype[0].field[0].name "employeeid"
-datatype[5].structtype[0].field[0].datatype 0
-datatype[5].structtype[0].field[0].detailedtype ""
-datatype[5].structtype[0].inherits[0].name "annotation.worker"
-datatype[5].structtype[0].inherits[0].version 0
-datatype[6].id -1874092641
-datatype[6].structtype[0].name "annotation.worker"
-datatype[6].structtype[0].version 0
-datatype[6].structtype[0].compresstype NONE
-datatype[6].structtype[0].compresslevel 0
-datatype[6].structtype[0].compressthreshold 95
-datatype[6].structtype[0].compressminsize 800
-datatype[6].structtype[0].inherits[0].name "annotation.person"
-datatype[6].structtype[0].inherits[0].version 0
-datatype[7].id -1047410193
-datatype[7].structtype[0].name "annotation.vehicle"
-datatype[7].structtype[0].version 0
-datatype[7].structtype[0].compresstype NONE
-datatype[7].structtype[0].compresslevel 0
-datatype[7].structtype[0].compressthreshold 95
-datatype[7].structtype[0].compressminsize 800
-datatype[7].structtype[0].field[0].name "numwheels"
-datatype[7].structtype[0].field[0].datatype 0
-datatype[7].structtype[0].field[0].detailedtype ""
-datatype[8].id -1406250281
-datatype[8].structtype[0].name "annotationsinheritance.header"
-datatype[8].structtype[0].version 0
-datatype[8].structtype[0].compresstype NONE
-datatype[8].structtype[0].compresslevel 0
-datatype[8].structtype[0].compressthreshold 95
-datatype[8].structtype[0].compressminsize 800
-datatype[8].structtype[0].field[0].name "rankfeatures"
-datatype[8].structtype[0].field[0].datatype 2
-datatype[8].structtype[0].field[0].detailedtype ""
-datatype[8].structtype[0].field[1].name "summaryfeatures"
-datatype[8].structtype[0].field[1].datatype 2
-datatype[8].structtype[0].field[1].detailedtype ""
-datatype[9].id 1181354668
-datatype[9].structtype[0].name "annotationsinheritance.body"
-datatype[9].structtype[0].version 0
-datatype[9].structtype[0].compresstype NONE
-datatype[9].structtype[0].compresslevel 0
-datatype[9].structtype[0].compressthreshold 95
-datatype[9].structtype[0].compressminsize 800
-datatype[10].id -748546200
-datatype[10].documenttype[0].name "annotationsinheritance"
-datatype[10].documenttype[0].version 0
-datatype[10].documenttype[0].inherits[0].name "document"
-datatype[10].documenttype[0].inherits[0].version 0
-datatype[10].documenttype[0].headerstruct -1406250281
-datatype[10].documenttype[0].bodystruct 1181354668
-annotationtype[0].id -269517759
-annotationtype[0].name "banana"
-annotationtype[0].datatype 517946310
-annotationtype[0].inherits[0].id 877283632
-annotationtype[1].id 855102455
-annotationtype[1].name "intern"
-annotationtype[1].datatype -1339036621
-annotationtype[1].inherits[0].id 804106508
-annotationtype[2].id -973728295
-annotationtype[2].name "car"
-annotationtype[2].datatype 249059607
-annotationtype[2].inherits[0].id 290814930
-annotationtype[3].id 877283632
-annotationtype[3].name "fruit"
-annotationtype[3].datatype -1
-annotationtype[4].id 609952424
-annotationtype[4].name "person"
-annotationtype[4].datatype -1466283082
-annotationtype[5].id 804106508
-annotationtype[5].name "employee"
-annotationtype[5].datatype -858216177
-annotationtype[5].inherits[0].id 881692980
-annotationtype[6].id 881692980
-annotationtype[6].name "worker"
-annotationtype[6].datatype -1874092641
-annotationtype[6].inherits[0].id 609952424
-annotationtype[7].id 290814930
-annotationtype[7].name "vehicle"
-annotationtype[7].datatype -1047410193
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 517946310
+datatype[].structtype[].name "annotation.banana"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "brand"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -1339036621
+datatype[].structtype[].name "annotation.intern"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "enddate"
+datatype[].structtype[].field[].datatype 4
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].inherits[].name "annotation.employee"
+datatype[].structtype[].inherits[].version 0
+datatype[].id 249059607
+datatype[].structtype[].name "annotation.car"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "color"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].inherits[].name "annotation.vehicle"
+datatype[].structtype[].inherits[].version 0
+datatype[].id -1466283082
+datatype[].structtype[].name "annotation.person"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "name"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -858216177
+datatype[].structtype[].name "annotation.employee"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "employeeid"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].inherits[].name "annotation.worker"
+datatype[].structtype[].inherits[].version 0
+datatype[].id -1874092641
+datatype[].structtype[].name "annotation.worker"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].inherits[].name "annotation.person"
+datatype[].structtype[].inherits[].version 0
+datatype[].id -1047410193
+datatype[].structtype[].name "annotation.vehicle"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "numwheels"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -1406250281
+datatype[].structtype[].name "annotationsinheritance.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 1181354668
+datatype[].structtype[].name "annotationsinheritance.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id -748546200
+datatype[].documenttype[].name "annotationsinheritance"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct -1406250281
+datatype[].documenttype[].bodystruct 1181354668
+annotationtype[].id -269517759
+annotationtype[].name "banana"
+annotationtype[].datatype 517946310
+annotationtype[].inherits[].id 877283632
+annotationtype[].id 855102455
+annotationtype[].name "intern"
+annotationtype[].datatype -1339036621
+annotationtype[].inherits[].id 804106508
+annotationtype[].id -973728295
+annotationtype[].name "car"
+annotationtype[].datatype 249059607
+annotationtype[].inherits[].id 290814930
+annotationtype[].id 877283632
+annotationtype[].name "fruit"
+annotationtype[].datatype -1
+annotationtype[].id 609952424
+annotationtype[].name "person"
+annotationtype[].datatype -1466283082
+annotationtype[].id 804106508
+annotationtype[].name "employee"
+annotationtype[].datatype -858216177
+annotationtype[].inherits[].id 881692980
+annotationtype[].id 881692980
+annotationtype[].name "worker"
+annotationtype[].datatype -1874092641
+annotationtype[].inherits[].id 609952424
+annotationtype[].id 290814930
+annotationtype[].name "vehicle"
+annotationtype[].datatype -1047410193
diff --git a/config-model/src/test/derived/annotationsinheritance/ilscripts.cfg b/config-model/src/test/derived/annotationsinheritance/ilscripts.cfg
index a1a2e216947..22c4259ddac 100644
--- a/config-model/src/test/derived/annotationsinheritance/ilscripts.cfg
+++ b/config-model/src/test/derived/annotationsinheritance/ilscripts.cfg
@@ -1,3 +1,3 @@
maxtermoccurrences 100
fieldmatchmaxlength 1000000
-ilscript[0].doctype "annotationsinheritance"
+ilscript[].doctype "annotationsinheritance"
diff --git a/config-model/src/test/derived/annotationsinheritance/index-info.cfg b/config-model/src/test/derived/annotationsinheritance/index-info.cfg
index ae1a6462229..2c89b66f061 100755..100644
--- a/config-model/src/test/derived/annotationsinheritance/index-info.cfg
+++ b/config-model/src/test/derived/annotationsinheritance/index-info.cfg
@@ -1,9 +1,9 @@
-indexinfo[0].name "annotationsinheritance"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "rankfeatures"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "summaryfeatures"
-indexinfo[0].command[3].command "index" \ No newline at end of file
+indexinfo[].name "annotationsinheritance"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "rankfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "summaryfeatures"
+indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/annotationsinheritance2/documentmanager.cfg b/config-model/src/test/derived/annotationsinheritance2/documentmanager.cfg
index 6f83fbc5ce6..7ca4a4f0d6e 100755..100644
--- a/config-model/src/test/derived/annotationsinheritance2/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationsinheritance2/documentmanager.cfg
@@ -1,103 +1,103 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
-datatype[1].id 1443831334
-datatype[1].structtype[0].name "annotation.c"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].compresstype NONE
-datatype[1].structtype[0].compresslevel 0
-datatype[1].structtype[0].compressthreshold 95
-datatype[1].structtype[0].compressminsize 800
-datatype[1].structtype[0].field[0].name "cfoo"
-datatype[1].structtype[0].field[0].datatype 0
-datatype[1].structtype[0].field[0].detailedtype ""
-datatype[2].id 1443832295
-datatype[2].structtype[0].name "annotation.d"
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].compresstype NONE
-datatype[2].structtype[0].compresslevel 0
-datatype[2].structtype[0].compressthreshold 95
-datatype[2].structtype[0].compressminsize 800
-datatype[2].structtype[0].inherits[0].name "annotation.c"
-datatype[2].structtype[0].inherits[0].version 0
-datatype[3].id 1443833256
-datatype[3].structtype[0].name "annotation.e"
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].compresstype NONE
-datatype[3].structtype[0].compresslevel 0
-datatype[3].structtype[0].compressthreshold 95
-datatype[3].structtype[0].compressminsize 800
-datatype[3].structtype[0].inherits[0].name "annotation.d"
-datatype[3].structtype[0].inherits[0].version 0
-datatype[4].id 1443835178
-datatype[4].structtype[0].name "annotation.g"
-datatype[4].structtype[0].version 0
-datatype[4].structtype[0].compresstype NONE
-datatype[4].structtype[0].compresslevel 0
-datatype[4].structtype[0].compressthreshold 95
-datatype[4].structtype[0].compressminsize 800
-datatype[4].structtype[0].field[0].name "gfoo"
-datatype[4].structtype[0].field[0].datatype 2
-datatype[4].structtype[0].field[0].detailedtype ""
-datatype[5].id 424382193
-datatype[5].structtype[0].name "annotationsinheritance2.header"
-datatype[5].structtype[0].version 0
-datatype[5].structtype[0].compresstype NONE
-datatype[5].structtype[0].compresslevel 0
-datatype[5].structtype[0].compressthreshold 95
-datatype[5].structtype[0].compressminsize 800
-datatype[5].structtype[0].field[0].name "rankfeatures"
-datatype[5].structtype[0].field[0].datatype 2
-datatype[5].structtype[0].field[0].detailedtype ""
-datatype[5].structtype[0].field[1].name "summaryfeatures"
-datatype[5].structtype[0].field[1].datatype 2
-datatype[5].structtype[0].field[1].detailedtype ""
-datatype[6].id 1375438150
-datatype[6].structtype[0].name "annotationsinheritance2.body"
-datatype[6].structtype[0].version 0
-datatype[6].structtype[0].compresstype NONE
-datatype[6].structtype[0].compresslevel 0
-datatype[6].structtype[0].compressthreshold 95
-datatype[6].structtype[0].compressminsize 800
-datatype[7].id -1730091890
-datatype[7].documenttype[0].name "annotationsinheritance2"
-datatype[7].documenttype[0].version 0
-datatype[7].documenttype[0].inherits[0].name "document"
-datatype[7].documenttype[0].inherits[0].version 0
-datatype[7].documenttype[0].headerstruct 424382193
-datatype[7].documenttype[0].bodystruct 1375438150
-annotationtype[0].id 1769416289
-annotationtype[0].name "a"
-annotationtype[0].datatype -1
-annotationtype[1].id 1966167951
-annotationtype[1].name "b"
-annotationtype[1].datatype -1
-annotationtype[1].inherits[0].id 1769416289
-annotationtype[2].id 1082875699
-annotationtype[2].name "c"
-annotationtype[2].datatype 1443831334
-annotationtype[3].id 383816109
-annotationtype[3].name "d"
-annotationtype[3].datatype 1443832295
-annotationtype[3].inherits[0].id 1082875699
-annotationtype[4].id -398332878
-annotationtype[4].name "e"
-annotationtype[4].datatype 1443833256
-annotationtype[4].inherits[0].id 383816109
-annotationtype[5].id 422169831
-annotationtype[5].name "f"
-annotationtype[5].datatype -1
-annotationtype[6].id 907314269
-annotationtype[6].name "g"
-annotationtype[6].datatype 1443835178
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 1443831334
+datatype[].structtype[].name "annotation.c"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "cfoo"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 1443832295
+datatype[].structtype[].name "annotation.d"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].inherits[].name "annotation.c"
+datatype[].structtype[].inherits[].version 0
+datatype[].id 1443833256
+datatype[].structtype[].name "annotation.e"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].inherits[].name "annotation.d"
+datatype[].structtype[].inherits[].version 0
+datatype[].id 1443835178
+datatype[].structtype[].name "annotation.g"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "gfoo"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 424382193
+datatype[].structtype[].name "annotationsinheritance2.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 1375438150
+datatype[].structtype[].name "annotationsinheritance2.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id -1730091890
+datatype[].documenttype[].name "annotationsinheritance2"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 424382193
+datatype[].documenttype[].bodystruct 1375438150
+annotationtype[].id 1769416289
+annotationtype[].name "a"
+annotationtype[].datatype -1
+annotationtype[].id 1966167951
+annotationtype[].name "b"
+annotationtype[].datatype -1
+annotationtype[].inherits[].id 1769416289
+annotationtype[].id 1082875699
+annotationtype[].name "c"
+annotationtype[].datatype 1443831334
+annotationtype[].id 383816109
+annotationtype[].name "d"
+annotationtype[].datatype 1443832295
+annotationtype[].inherits[].id 1082875699
+annotationtype[].id -398332878
+annotationtype[].name "e"
+annotationtype[].datatype 1443833256
+annotationtype[].inherits[].id 383816109
+annotationtype[].id 422169831
+annotationtype[].name "f"
+annotationtype[].datatype -1
+annotationtype[].id 907314269
+annotationtype[].name "g"
+annotationtype[].datatype 1443835178
diff --git a/config-model/src/test/derived/annotationsinheritance2/ilscripts.cfg b/config-model/src/test/derived/annotationsinheritance2/ilscripts.cfg
index d5fc9dae6f6..bca5a004d1a 100644
--- a/config-model/src/test/derived/annotationsinheritance2/ilscripts.cfg
+++ b/config-model/src/test/derived/annotationsinheritance2/ilscripts.cfg
@@ -1,3 +1,3 @@
maxtermoccurrences 100
fieldmatchmaxlength 1000000
-ilscript[0].doctype "annotationsinheritance2"
+ilscript[].doctype "annotationsinheritance2"
diff --git a/config-model/src/test/derived/annotationsinheritance2/index-info.cfg b/config-model/src/test/derived/annotationsinheritance2/index-info.cfg
index 5c41ffe1bb7..51527ae2ef9 100755..100644
--- a/config-model/src/test/derived/annotationsinheritance2/index-info.cfg
+++ b/config-model/src/test/derived/annotationsinheritance2/index-info.cfg
@@ -1,9 +1,9 @@
-indexinfo[0].name "annotationsinheritance2"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "rankfeatures"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "summaryfeatures"
-indexinfo[0].command[3].command "index" \ No newline at end of file
+indexinfo[].name "annotationsinheritance2"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "rankfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "summaryfeatures"
+indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/annotationspolymorphy/documentmanager.cfg b/config-model/src/test/derived/annotationspolymorphy/documentmanager.cfg
index db333ed0a13..ffc3d4f439f 100755..100644
--- a/config-model/src/test/derived/annotationspolymorphy/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationspolymorphy/documentmanager.cfg
@@ -1,63 +1,63 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
-datatype[1].id -2014701853
-datatype[1].annotationreftype[0].annotation "super"
-datatype[2].id -888007918
-datatype[2].structtype[0].name "annotation.blah"
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].compresstype NONE
-datatype[2].structtype[0].compresslevel 0
-datatype[2].structtype[0].compressthreshold 95
-datatype[2].structtype[0].compressminsize 800
-datatype[2].structtype[0].field[0].name "a"
-datatype[2].structtype[0].field[0].datatype -2014701853
-datatype[2].structtype[0].field[0].detailedtype ""
-datatype[3].id -1552577796
-datatype[3].structtype[0].name "annotationspolymorphy.header"
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].compresstype NONE
-datatype[3].structtype[0].compresslevel 0
-datatype[3].structtype[0].compressthreshold 95
-datatype[3].structtype[0].compressminsize 800
-datatype[3].structtype[0].field[0].name "rankfeatures"
-datatype[3].structtype[0].field[0].datatype 2
-datatype[3].structtype[0].field[0].detailedtype ""
-datatype[3].structtype[0].field[1].name "summaryfeatures"
-datatype[3].structtype[0].field[1].datatype 2
-datatype[3].structtype[0].field[1].detailedtype ""
-datatype[4].id -570750959
-datatype[4].structtype[0].name "annotationspolymorphy.body"
-datatype[4].structtype[0].version 0
-datatype[4].structtype[0].compresstype NONE
-datatype[4].structtype[0].compresslevel 0
-datatype[4].structtype[0].compressthreshold 95
-datatype[4].structtype[0].compressminsize 800
-datatype[5].id -1383624989
-datatype[5].documenttype[0].name "annotationspolymorphy"
-datatype[5].documenttype[0].version 0
-datatype[5].documenttype[0].inherits[0].name "document"
-datatype[5].documenttype[0].inherits[0].version 0
-datatype[5].documenttype[0].headerstruct -1552577796
-datatype[5].documenttype[0].bodystruct -570750959
-annotationtype[0].id 668095690
-annotationtype[0].name "super"
-annotationtype[0].datatype -1
-annotationtype[1].id 119710016
-annotationtype[1].name "sub"
-annotationtype[1].datatype -1
-annotationtype[1].inherits[0].id 668095690
-annotationtype[2].id -1793776935
-annotationtype[2].name "blah"
-annotationtype[2].datatype -888007918
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -2014701853
+datatype[].annotationreftype[].annotation "super"
+datatype[].id -888007918
+datatype[].structtype[].name "annotation.blah"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "a"
+datatype[].structtype[].field[].datatype -2014701853
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -1552577796
+datatype[].structtype[].name "annotationspolymorphy.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -570750959
+datatype[].structtype[].name "annotationspolymorphy.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id -1383624989
+datatype[].documenttype[].name "annotationspolymorphy"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct -1552577796
+datatype[].documenttype[].bodystruct -570750959
+annotationtype[].id 668095690
+annotationtype[].name "super"
+annotationtype[].datatype -1
+annotationtype[].id 119710016
+annotationtype[].name "sub"
+annotationtype[].datatype -1
+annotationtype[].inherits[].id 668095690
+annotationtype[].id -1793776935
+annotationtype[].name "blah"
+annotationtype[].datatype -888007918
diff --git a/config-model/src/test/derived/annotationspolymorphy/index-info.cfg b/config-model/src/test/derived/annotationspolymorphy/index-info.cfg
index 67e43f8036f..056cc4dc570 100755..100644
--- a/config-model/src/test/derived/annotationspolymorphy/index-info.cfg
+++ b/config-model/src/test/derived/annotationspolymorphy/index-info.cfg
@@ -1,9 +1,9 @@
-indexinfo[0].name "annotationspolymorphy"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "rankfeatures"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "summaryfeatures"
-indexinfo[0].command[3].command "index" \ No newline at end of file
+indexinfo[].name "annotationspolymorphy"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "rankfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "summaryfeatures"
+indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/annotationsreference/documentmanager.cfg b/config-model/src/test/derived/annotationsreference/documentmanager.cfg
index 25106a41836..c7d2d5c8753 100755..100644
--- a/config-model/src/test/derived/annotationsreference/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationsreference/documentmanager.cfg
@@ -1,102 +1,102 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
-datatype[1].id 517946310
-datatype[1].structtype[0].name "annotation.banana"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].compresstype NONE
-datatype[1].structtype[0].compresslevel 0
-datatype[1].structtype[0].compressthreshold 95
-datatype[1].structtype[0].compressminsize 800
-datatype[1].structtype[0].field[0].name "brand"
-datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
-datatype[2].id 400622300
-datatype[2].annotationreftype[0].annotation "b"
-datatype[3].id 1443829412
-datatype[3].structtype[0].name "annotation.a"
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].compresstype NONE
-datatype[3].structtype[0].compresslevel 0
-datatype[3].structtype[0].compressthreshold 95
-datatype[3].structtype[0].compressminsize 800
-datatype[3].structtype[0].field[0].name "foo"
-datatype[3].structtype[0].field[0].datatype 400622300
-datatype[3].structtype[0].field[0].detailedtype ""
-datatype[4].id -808460615
-datatype[4].annotationreftype[0].annotation "banana"
-datatype[5].id -770307521
-datatype[5].structtype[0].name "annotation.food"
-datatype[5].structtype[0].version 0
-datatype[5].structtype[0].compresstype NONE
-datatype[5].structtype[0].compresslevel 0
-datatype[5].structtype[0].compressthreshold 95
-datatype[5].structtype[0].compressminsize 800
-datatype[5].structtype[0].field[0].name "what"
-datatype[5].structtype[0].field[0].datatype -808460615
-datatype[5].structtype[0].field[0].detailedtype ""
-datatype[6].id 756306917
-datatype[6].annotationreftype[0].annotation "cyclic"
-datatype[7].id 1781099546
-datatype[7].structtype[0].name "annotation.cyclic"
-datatype[7].structtype[0].version 0
-datatype[7].structtype[0].compresstype NONE
-datatype[7].structtype[0].compresslevel 0
-datatype[7].structtype[0].compressthreshold 95
-datatype[7].structtype[0].compressminsize 800
-datatype[7].structtype[0].field[0].name "blah"
-datatype[7].structtype[0].field[0].datatype 756306917
-datatype[7].structtype[0].field[0].detailedtype ""
-datatype[8].id 571255414
-datatype[8].structtype[0].name "annotationsreference.header"
-datatype[8].structtype[0].version 0
-datatype[8].structtype[0].compresstype NONE
-datatype[8].structtype[0].compresslevel 0
-datatype[8].structtype[0].compressthreshold 95
-datatype[8].structtype[0].compressminsize 800
-datatype[8].structtype[0].field[0].name "rankfeatures"
-datatype[8].structtype[0].field[0].datatype 2
-datatype[8].structtype[0].field[0].detailedtype ""
-datatype[8].structtype[0].field[1].name "summaryfeatures"
-datatype[8].structtype[0].field[1].datatype 2
-datatype[8].structtype[0].field[1].detailedtype ""
-datatype[9].id 1692909067
-datatype[9].structtype[0].name "annotationsreference.body"
-datatype[9].structtype[0].version 0
-datatype[9].structtype[0].compresstype NONE
-datatype[9].structtype[0].compresslevel 0
-datatype[9].structtype[0].compressthreshold 95
-datatype[9].structtype[0].compressminsize 800
-datatype[10].id -1448377175
-datatype[10].documenttype[0].name "annotationsreference"
-datatype[10].documenttype[0].version 0
-datatype[10].documenttype[0].inherits[0].name "document"
-datatype[10].documenttype[0].inherits[0].version 0
-datatype[10].documenttype[0].headerstruct 571255414
-datatype[10].documenttype[0].bodystruct 1692909067
-annotationtype[0].id -269517759
-annotationtype[0].name "banana"
-annotationtype[0].datatype 517946310
-annotationtype[1].id 1769416289
-annotationtype[1].name "a"
-annotationtype[1].datatype 1443829412
-annotationtype[2].id 1966167951
-annotationtype[2].name "b"
-annotationtype[2].datatype -1
-annotationtype[3].id 1918102169
-annotationtype[3].name "food"
-annotationtype[3].datatype -770307521
-annotationtype[4].id -1569831750
-annotationtype[4].name "cyclic"
-annotationtype[4].datatype 1781099546
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 517946310
+datatype[].structtype[].name "annotation.banana"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "brand"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 400622300
+datatype[].annotationreftype[].annotation "b"
+datatype[].id 1443829412
+datatype[].structtype[].name "annotation.a"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "foo"
+datatype[].structtype[].field[].datatype 400622300
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -808460615
+datatype[].annotationreftype[].annotation "banana"
+datatype[].id -770307521
+datatype[].structtype[].name "annotation.food"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "what"
+datatype[].structtype[].field[].datatype -808460615
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 756306917
+datatype[].annotationreftype[].annotation "cyclic"
+datatype[].id 1781099546
+datatype[].structtype[].name "annotation.cyclic"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "blah"
+datatype[].structtype[].field[].datatype 756306917
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 571255414
+datatype[].structtype[].name "annotationsreference.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 1692909067
+datatype[].structtype[].name "annotationsreference.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id -1448377175
+datatype[].documenttype[].name "annotationsreference"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 571255414
+datatype[].documenttype[].bodystruct 1692909067
+annotationtype[].id -269517759
+annotationtype[].name "banana"
+annotationtype[].datatype 517946310
+annotationtype[].id 1769416289
+annotationtype[].name "a"
+annotationtype[].datatype 1443829412
+annotationtype[].id 1966167951
+annotationtype[].name "b"
+annotationtype[].datatype -1
+annotationtype[].id 1918102169
+annotationtype[].name "food"
+annotationtype[].datatype -770307521
+annotationtype[].id -1569831750
+annotationtype[].name "cyclic"
+annotationtype[].datatype 1781099546
diff --git a/config-model/src/test/derived/annotationsreference/ilscripts.cfg b/config-model/src/test/derived/annotationsreference/ilscripts.cfg
index 63a1c889893..db575631ba3 100644
--- a/config-model/src/test/derived/annotationsreference/ilscripts.cfg
+++ b/config-model/src/test/derived/annotationsreference/ilscripts.cfg
@@ -1,3 +1,3 @@
maxtermoccurrences 100
fieldmatchmaxlength 1000000
-ilscript[0].doctype "annotationsreference"
+ilscript[].doctype "annotationsreference"
diff --git a/config-model/src/test/derived/annotationsreference/index-info.cfg b/config-model/src/test/derived/annotationsreference/index-info.cfg
index 0dfc76861e1..dafe0e292f1 100755..100644
--- a/config-model/src/test/derived/annotationsreference/index-info.cfg
+++ b/config-model/src/test/derived/annotationsreference/index-info.cfg
@@ -1,9 +1,9 @@
-indexinfo[0].name "annotationsreference"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "rankfeatures"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "summaryfeatures"
-indexinfo[0].command[3].command "index" \ No newline at end of file
+indexinfo[].name "annotationsreference"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "rankfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "summaryfeatures"
+indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/annotationssimple/documentmanager.cfg b/config-model/src/test/derived/annotationssimple/documentmanager.cfg
index 8908d886ff9..7d00cc4fc1a 100755..100644
--- a/config-model/src/test/derived/annotationssimple/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationssimple/documentmanager.cfg
@@ -1,44 +1,44 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
-datatype[1].id -1205708249
-datatype[1].structtype[0].name "annotationssimple.header"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].compresstype NONE
-datatype[1].structtype[0].compresslevel 0
-datatype[1].structtype[0].compressthreshold 95
-datatype[1].structtype[0].compressminsize 800
-datatype[1].structtype[0].field[0].name "rankfeatures"
-datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
-datatype[1].structtype[0].field[1].name "summaryfeatures"
-datatype[1].structtype[0].field[1].datatype 2
-datatype[1].structtype[0].field[1].detailedtype ""
-datatype[2].id -682121732
-datatype[2].structtype[0].name "annotationssimple.body"
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].compresstype NONE
-datatype[2].structtype[0].compresslevel 0
-datatype[2].structtype[0].compressthreshold 95
-datatype[2].structtype[0].compressminsize 800
-datatype[3].id -1584092648
-datatype[3].documenttype[0].name "annotationssimple"
-datatype[3].documenttype[0].version 0
-datatype[3].documenttype[0].inherits[0].name "document"
-datatype[3].documenttype[0].inherits[0].version 0
-datatype[3].documenttype[0].headerstruct -1205708249
-datatype[3].documenttype[0].bodystruct -682121732
-annotationtype[0].id -269517759
-annotationtype[0].name "banana"
-annotationtype[0].datatype -1
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -1205708249
+datatype[].structtype[].name "annotationssimple.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -682121732
+datatype[].structtype[].name "annotationssimple.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id -1584092648
+datatype[].documenttype[].name "annotationssimple"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct -1205708249
+datatype[].documenttype[].bodystruct -682121732
+annotationtype[].id -269517759
+annotationtype[].name "banana"
+annotationtype[].datatype -1
diff --git a/config-model/src/test/derived/annotationssimple/ilscripts.cfg b/config-model/src/test/derived/annotationssimple/ilscripts.cfg
index cb1bac309a9..744ba043c63 100644
--- a/config-model/src/test/derived/annotationssimple/ilscripts.cfg
+++ b/config-model/src/test/derived/annotationssimple/ilscripts.cfg
@@ -1,3 +1,3 @@
maxtermoccurrences 100
fieldmatchmaxlength 1000000
-ilscript[0].doctype "annotationssimple"
+ilscript[].doctype "annotationssimple"
diff --git a/config-model/src/test/derived/annotationssimple/index-info.cfg b/config-model/src/test/derived/annotationssimple/index-info.cfg
index 84c18bc082f..d6dbcba4217 100755..100644
--- a/config-model/src/test/derived/annotationssimple/index-info.cfg
+++ b/config-model/src/test/derived/annotationssimple/index-info.cfg
@@ -1,9 +1,9 @@
-indexinfo[0].name "annotationssimple"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "rankfeatures"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "summaryfeatures"
-indexinfo[0].command[3].command "index" \ No newline at end of file
+indexinfo[].name "annotationssimple"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "rankfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "summaryfeatures"
+indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/annotationsstruct/documentmanager.cfg b/config-model/src/test/derived/annotationsstruct/documentmanager.cfg
index ebba05e0553..8677019593c 100644
--- a/config-model/src/test/derived/annotationsstruct/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationsstruct/documentmanager.cfg
@@ -1,64 +1,64 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
-datatype[1].id 1293792650
-datatype[1].structtype[0].name "my_struct"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].compresstype NONE
-datatype[1].structtype[0].compresslevel 0
-datatype[1].structtype[0].compressthreshold 95
-datatype[1].structtype[0].compressminsize 800
-datatype[1].structtype[0].field[0].name "my_structfield"
-datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
-datatype[2].id -1080124700
-datatype[2].structtype[0].name "annotation.my_anno"
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].compresstype NONE
-datatype[2].structtype[0].compresslevel 0
-datatype[2].structtype[0].compressthreshold 95
-datatype[2].structtype[0].compressminsize 800
-datatype[2].structtype[0].field[0].name "my_annofield"
-datatype[2].structtype[0].field[0].datatype 1293792650
-datatype[2].structtype[0].field[0].detailedtype ""
-datatype[3].id 1341437796
-datatype[3].structtype[0].name "annotationsstruct.header"
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].compresstype NONE
-datatype[3].structtype[0].compresslevel 0
-datatype[3].structtype[0].compressthreshold 95
-datatype[3].structtype[0].compressminsize 800
-datatype[3].structtype[0].field[0].name "rankfeatures"
-datatype[3].structtype[0].field[0].datatype 2
-datatype[3].structtype[0].field[0].detailedtype ""
-datatype[3].structtype[0].field[1].name "summaryfeatures"
-datatype[3].structtype[0].field[1].datatype 2
-datatype[3].structtype[0].field[1].detailedtype ""
-datatype[4].id -1180029319
-datatype[4].structtype[0].name "annotationsstruct.body"
-datatype[4].structtype[0].version 0
-datatype[4].structtype[0].compresstype NONE
-datatype[4].structtype[0].compresslevel 0
-datatype[4].structtype[0].compressthreshold 95
-datatype[4].structtype[0].compressminsize 800
-datatype[5].id -263977093
-datatype[5].documenttype[0].name "annotationsstruct"
-datatype[5].documenttype[0].version 0
-datatype[5].documenttype[0].inherits[0].name "document"
-datatype[5].documenttype[0].inherits[0].version 0
-datatype[5].documenttype[0].headerstruct 1341437796
-datatype[5].documenttype[0].bodystruct -1180029319
-annotationtype[0].id -160036815
-annotationtype[0].name "my_anno"
-annotationtype[0].datatype -1080124700
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 1293792650
+datatype[].structtype[].name "my_struct"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "my_structfield"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -1080124700
+datatype[].structtype[].name "annotation.my_anno"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "my_annofield"
+datatype[].structtype[].field[].datatype 1293792650
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 1341437796
+datatype[].structtype[].name "annotationsstruct.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -1180029319
+datatype[].structtype[].name "annotationsstruct.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id -263977093
+datatype[].documenttype[].name "annotationsstruct"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 1341437796
+datatype[].documenttype[].bodystruct -1180029319
+annotationtype[].id -160036815
+annotationtype[].name "my_anno"
+annotationtype[].datatype -1080124700
diff --git a/config-model/src/test/derived/annotationsstructarray/documentmanager.cfg b/config-model/src/test/derived/annotationsstructarray/documentmanager.cfg
index 49249a7307a..28fa9f9dbc0 100644
--- a/config-model/src/test/derived/annotationsstructarray/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationsstructarray/documentmanager.cfg
@@ -1,66 +1,66 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
-datatype[1].id 1293792650
-datatype[1].structtype[0].name "my_struct"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].compresstype NONE
-datatype[1].structtype[0].compresslevel 0
-datatype[1].structtype[0].compressthreshold 95
-datatype[1].structtype[0].compressminsize 800
-datatype[1].structtype[0].field[0].name "my_structfield"
-datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
-datatype[2].id 754837689
-datatype[2].arraytype[0].datatype 1293792650
-datatype[3].id -1080124700
-datatype[3].structtype[0].name "annotation.my_anno"
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].compresstype NONE
-datatype[3].structtype[0].compresslevel 0
-datatype[3].structtype[0].compressthreshold 95
-datatype[3].structtype[0].compressminsize 800
-datatype[3].structtype[0].field[0].name "my_annofield"
-datatype[3].structtype[0].field[0].datatype 754837689
-datatype[3].structtype[0].field[0].detailedtype ""
-datatype[4].id 94945597
-datatype[4].structtype[0].name "annotationsstructarray.header"
-datatype[4].structtype[0].version 0
-datatype[4].structtype[0].compresstype NONE
-datatype[4].structtype[0].compresslevel 0
-datatype[4].structtype[0].compressthreshold 95
-datatype[4].structtype[0].compressminsize 800
-datatype[4].structtype[0].field[0].name "rankfeatures"
-datatype[4].structtype[0].field[0].datatype 2
-datatype[4].structtype[0].field[0].detailedtype ""
-datatype[4].structtype[0].field[1].name "summaryfeatures"
-datatype[4].structtype[0].field[1].datatype 2
-datatype[4].structtype[0].field[1].detailedtype ""
-datatype[5].id 1616435858
-datatype[5].structtype[0].name "annotationsstructarray.body"
-datatype[5].structtype[0].version 0
-datatype[5].structtype[0].compresstype NONE
-datatype[5].structtype[0].compresslevel 0
-datatype[5].structtype[0].compressthreshold 95
-datatype[5].structtype[0].compressminsize 800
-datatype[6].id 1593733058
-datatype[6].documenttype[0].name "annotationsstructarray"
-datatype[6].documenttype[0].version 0
-datatype[6].documenttype[0].inherits[0].name "document"
-datatype[6].documenttype[0].inherits[0].version 0
-datatype[6].documenttype[0].headerstruct 94945597
-datatype[6].documenttype[0].bodystruct 1616435858
-annotationtype[0].id -160036815
-annotationtype[0].name "my_anno"
-annotationtype[0].datatype -1080124700
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 1293792650
+datatype[].structtype[].name "my_struct"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "my_structfield"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 754837689
+datatype[].arraytype[].datatype 1293792650
+datatype[].id -1080124700
+datatype[].structtype[].name "annotation.my_anno"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "my_annofield"
+datatype[].structtype[].field[].datatype 754837689
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 94945597
+datatype[].structtype[].name "annotationsstructarray.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 1616435858
+datatype[].structtype[].name "annotationsstructarray.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id 1593733058
+datatype[].documenttype[].name "annotationsstructarray"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 94945597
+datatype[].documenttype[].bodystruct 1616435858
+annotationtype[].id -160036815
+annotationtype[].name "my_anno"
+annotationtype[].datatype -1080124700
diff --git a/config-model/src/test/derived/arrays/documentmanager.cfg b/config-model/src/test/derived/arrays/documentmanager.cfg
index f873971f931..09a604b3da4 100644
--- a/config-model/src/test/derived/arrays/documentmanager.cfg
+++ b/config-model/src/test/derived/arrays/documentmanager.cfg
@@ -1,72 +1,72 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
-datatype[1].id -1486737430
-datatype[1].arraytype[0].datatype 2
-datatype[2].id -1245117006
-datatype[2].arraytype[0].datatype 0
-datatype[3].id 1328286588
-datatype[3].weightedsettype[0].datatype 2
-datatype[3].weightedsettype[0].createifnonexistant false
-datatype[3].weightedsettype[0].removeifzero false
-datatype[4].id 1081627459
-datatype[4].structtype[0].name "arrays.header"
-datatype[4].structtype[0].version 0
-datatype[4].structtype[0].compresstype NONE
-datatype[4].structtype[0].compresslevel 0
-datatype[4].structtype[0].compressthreshold 95
-datatype[4].structtype[0].compressminsize 800
-datatype[4].structtype[0].field[0].name "tags"
-datatype[4].structtype[0].field[0].datatype -1486737430
-datatype[4].structtype[0].field[0].detailedtype ""
-datatype[4].structtype[0].field[1].name "ratings"
-datatype[4].structtype[0].field[1].datatype -1245117006
-datatype[4].structtype[0].field[1].detailedtype ""
-datatype[4].structtype[0].field[2].name "a"
-datatype[4].structtype[0].field[2].datatype 2
-datatype[4].structtype[0].field[2].detailedtype ""
-datatype[4].structtype[0].field[3].name "b"
-datatype[4].structtype[0].field[3].datatype -1486737430
-datatype[4].structtype[0].field[3].detailedtype ""
-datatype[4].structtype[0].field[4].name "c"
-datatype[4].structtype[0].field[4].datatype 1328286588
-datatype[4].structtype[0].field[4].detailedtype ""
-datatype[4].structtype[0].field[5].name "rankfeatures"
-datatype[4].structtype[0].field[5].datatype 2
-datatype[4].structtype[0].field[5].detailedtype ""
-datatype[4].structtype[0].field[6].name "summaryfeatures"
-datatype[4].structtype[0].field[6].datatype 2
-datatype[4].structtype[0].field[6].detailedtype ""
-datatype[5].id -1747896808
-datatype[5].structtype[0].name "arrays.body"
-datatype[5].structtype[0].version 0
-datatype[5].structtype[0].compresstype NONE
-datatype[5].structtype[0].compresslevel 0
-datatype[5].structtype[0].compressthreshold 95
-datatype[5].structtype[0].compressminsize 800
-datatype[6].id -1292863364
-datatype[6].documenttype[0].name "arrays"
-datatype[6].documenttype[0].version 0
-datatype[6].documenttype[0].inherits[0].name "document"
-datatype[6].documenttype[0].inherits[0].version 0
-datatype[6].documenttype[0].headerstruct 1081627459
-datatype[6].documenttype[0].bodystruct -1747896808
-datatype[6].documenttype[0].fieldsets{default}.fields[0] "a"
-datatype[6].documenttype[0].fieldsets{default}.fields[1] "b"
-datatype[6].documenttype[0].fieldsets{default}.fields[2] "c"
-datatype[6].documenttype[0].fieldsets{[document]}.fields[0] "a"
-datatype[6].documenttype[0].fieldsets{[document]}.fields[1] "b"
-datatype[6].documenttype[0].fieldsets{[document]}.fields[2] "c"
-datatype[6].documenttype[0].fieldsets{[document]}.fields[3] "ratings"
-datatype[6].documenttype[0].fieldsets{[document]}.fields[4] "tags"
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -1486737430
+datatype[].arraytype[].datatype 2
+datatype[].id -1245117006
+datatype[].arraytype[].datatype 0
+datatype[].id 1328286588
+datatype[].weightedsettype[].datatype 2
+datatype[].weightedsettype[].createifnonexistant false
+datatype[].weightedsettype[].removeifzero false
+datatype[].id 1081627459
+datatype[].structtype[].name "arrays.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "tags"
+datatype[].structtype[].field[].datatype -1486737430
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "ratings"
+datatype[].structtype[].field[].datatype -1245117006
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "a"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "b"
+datatype[].structtype[].field[].datatype -1486737430
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "c"
+datatype[].structtype[].field[].datatype 1328286588
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -1747896808
+datatype[].structtype[].name "arrays.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id -1292863364
+datatype[].documenttype[].name "arrays"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 1081627459
+datatype[].documenttype[].bodystruct -1747896808
+datatype[].documenttype[].fieldsets{default}.fields[0] "a"
+datatype[].documenttype[].fieldsets{default}.fields[1] "b"
+datatype[].documenttype[].fieldsets{default}.fields[2] "c"
+datatype[].documenttype[].fieldsets{[document]}.fields[0] "a"
+datatype[].documenttype[].fieldsets{[document]}.fields[1] "b"
+datatype[].documenttype[].fieldsets{[document]}.fields[2] "c"
+datatype[].documenttype[].fieldsets{[document]}.fields[3] "ratings"
+datatype[].documenttype[].fieldsets{[document]}.fields[4] "tags"
diff --git a/config-model/src/test/derived/arrays/ilscripts.cfg b/config-model/src/test/derived/arrays/ilscripts.cfg
index d07f65e170f..386f5a5a4e6 100644
--- a/config-model/src/test/derived/arrays/ilscripts.cfg
+++ b/config-model/src/test/derived/arrays/ilscripts.cfg
@@ -1,13 +1,13 @@
maxtermoccurrences 100
fieldmatchmaxlength 1000000
-ilscript[0].doctype "arrays"
-ilscript[0].docfield[0] "tags"
-ilscript[0].docfield[1] "ratings"
-ilscript[0].docfield[2] "a"
-ilscript[0].docfield[3] "b"
-ilscript[0].docfield[4] "c"
-ilscript[0].content[0] "clear_state | guard { input tags | for_each { tokenize normalize stem:\"SHORTEST\" } | summary tags | index tags; }"
-ilscript[0].content[1] "clear_state | guard { input ratings | summary ratings | attribute ratings; }"
-ilscript[0].content[2] "clear_state | guard { input a | tokenize normalize stem:\"SHORTEST\" | index a; }"
-ilscript[0].content[3] "clear_state | guard { input b | for_each { tokenize normalize stem:\"SHORTEST\" } | index b | attribute b; }"
-ilscript[0].content[4] "clear_state | guard { input c | for_each { tokenize normalize stem:\"SHORTEST\" } | summary c | index c; }"
+ilscript[].doctype "arrays"
+ilscript[].docfield[0] "tags"
+ilscript[].docfield[1] "ratings"
+ilscript[].docfield[2] "a"
+ilscript[].docfield[3] "b"
+ilscript[].docfield[4] "c"
+ilscript[].content[0] "clear_state | guard { input tags | for_each { tokenize normalize stem:\"SHORTEST\" } | summary tags | index tags; }"
+ilscript[].content[1] "clear_state | guard { input ratings | summary ratings | attribute ratings; }"
+ilscript[].content[2] "clear_state | guard { input a | tokenize normalize stem:\"SHORTEST\" | index a; }"
+ilscript[].content[3] "clear_state | guard { input b | for_each { tokenize normalize stem:\"SHORTEST\" } | index b | attribute b; }"
+ilscript[].content[4] "clear_state | guard { input c | for_each { tokenize normalize stem:\"SHORTEST\" } | summary c | index c; }"
diff --git a/config-model/src/test/derived/arrays/index-info.cfg b/config-model/src/test/derived/arrays/index-info.cfg
index 171a2c1adce..abd5fef2ba9 100644
--- a/config-model/src/test/derived/arrays/index-info.cfg
+++ b/config-model/src/test/derived/arrays/index-info.cfg
@@ -1,73 +1,73 @@
-indexinfo[0].name "arrays"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "tags"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "tags"
-indexinfo[0].command[3].command "lowercase"
-indexinfo[0].command[4].indexname "tags"
-indexinfo[0].command[4].command "multivalue"
-indexinfo[0].command[5].indexname "tags"
-indexinfo[0].command[5].command "stem:SHORTEST"
-indexinfo[0].command[6].indexname "tags"
-indexinfo[0].command[6].command "normalize"
-indexinfo[0].command[7].indexname "tags"
-indexinfo[0].command[7].command "plain-tokens"
-indexinfo[0].command[8].indexname "ratings"
-indexinfo[0].command[8].command "index"
-indexinfo[0].command[9].indexname "ratings"
-indexinfo[0].command[9].command "multivalue"
-indexinfo[0].command[10].indexname "ratings"
-indexinfo[0].command[10].command "attribute"
-indexinfo[0].command[11].indexname "a"
-indexinfo[0].command[11].command "index"
-indexinfo[0].command[12].indexname "a"
-indexinfo[0].command[12].command "lowercase"
-indexinfo[0].command[13].indexname "a"
-indexinfo[0].command[13].command "stem:SHORTEST"
-indexinfo[0].command[14].indexname "a"
-indexinfo[0].command[14].command "normalize"
-indexinfo[0].command[15].indexname "a"
-indexinfo[0].command[15].command "plain-tokens"
-indexinfo[0].command[16].indexname "b"
-indexinfo[0].command[16].command "index"
-indexinfo[0].command[17].indexname "b"
-indexinfo[0].command[17].command "lowercase"
-indexinfo[0].command[18].indexname "b"
-indexinfo[0].command[18].command "multivalue"
-indexinfo[0].command[19].indexname "b"
-indexinfo[0].command[19].command "stem:SHORTEST"
-indexinfo[0].command[20].indexname "b"
-indexinfo[0].command[20].command "normalize"
-indexinfo[0].command[21].indexname "b"
-indexinfo[0].command[21].command "plain-tokens"
-indexinfo[0].command[22].indexname "c"
-indexinfo[0].command[22].command "index"
-indexinfo[0].command[23].indexname "c"
-indexinfo[0].command[23].command "lowercase"
-indexinfo[0].command[24].indexname "c"
-indexinfo[0].command[24].command "multivalue"
-indexinfo[0].command[25].indexname "c"
-indexinfo[0].command[25].command "stem:SHORTEST"
-indexinfo[0].command[26].indexname "c"
-indexinfo[0].command[26].command "normalize"
-indexinfo[0].command[27].indexname "c"
-indexinfo[0].command[27].command "plain-tokens"
-indexinfo[0].command[28].indexname "rankfeatures"
-indexinfo[0].command[28].command "index"
-indexinfo[0].command[29].indexname "summaryfeatures"
-indexinfo[0].command[29].command "index"
-indexinfo[0].command[30].indexname "default"
-indexinfo[0].command[30].command "lowercase"
-indexinfo[0].command[31].indexname "default"
-indexinfo[0].command[31].command "multivalue"
-indexinfo[0].command[32].indexname "default"
-indexinfo[0].command[32].command "index"
-indexinfo[0].command[33].indexname "default"
-indexinfo[0].command[33].command "plain-tokens"
-indexinfo[0].command[34].indexname "default"
-indexinfo[0].command[34].command "stem:SHORTEST"
-indexinfo[0].command[35].indexname "default"
-indexinfo[0].command[35].command "normalize" \ No newline at end of file
+indexinfo[].name "arrays"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "tags"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "tags"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "tags"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "tags"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "tags"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "tags"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "ratings"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "ratings"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "ratings"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "a"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "a"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "a"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "a"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "a"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "b"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "b"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "b"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "b"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "b"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "b"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "c"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "c"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "c"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "c"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "c"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "c"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "rankfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "summaryfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "normalize"
diff --git a/config-model/src/test/derived/attributeprefetch/attributes.cfg b/config-model/src/test/derived/attributeprefetch/attributes.cfg
index 3f9b9e87419..032455063b7 100644
--- a/config-model/src/test/derived/attributeprefetch/attributes.cfg
+++ b/config-model/src/test/derived/attributeprefetch/attributes.cfg
@@ -1,360 +1,360 @@
-attribute[0].name "singlebyte"
-attribute[0].datatype INT8
-attribute[0].collectiontype SINGLE
-attribute[0].removeifzero false
-attribute[0].createifnonexistent false
-attribute[0].fastsearch false
-attribute[0].huge false
-attribute[0].sortascending true
-attribute[0].sortfunction UCA
-attribute[0].sortstrength PRIMARY
-attribute[0].sortlocale ""
-attribute[0].enablebitvectors false
-attribute[0].enableonlybitvector false
-attribute[0].fastaccess false
-attribute[0].arity 8
-attribute[0].lowerbound -9223372036854775808
-attribute[0].upperbound 9223372036854775807
-attribute[0].densepostinglistthreshold 0.4
-attribute[0].tensortype ""
-attribute[0].imported false
-attribute[1].name "multibyte"
-attribute[1].datatype INT8
-attribute[1].collectiontype ARRAY
-attribute[1].removeifzero false
-attribute[1].createifnonexistent false
-attribute[1].fastsearch false
-attribute[1].huge false
-attribute[1].sortascending true
-attribute[1].sortfunction UCA
-attribute[1].sortstrength PRIMARY
-attribute[1].sortlocale ""
-attribute[1].enablebitvectors false
-attribute[1].enableonlybitvector false
-attribute[1].fastaccess false
-attribute[1].arity 8
-attribute[1].lowerbound -9223372036854775808
-attribute[1].upperbound 9223372036854775807
-attribute[1].densepostinglistthreshold 0.4
-attribute[1].tensortype ""
-attribute[1].imported false
-attribute[2].name "wsbyte"
-attribute[2].datatype INT8
-attribute[2].collectiontype WEIGHTEDSET
-attribute[2].removeifzero false
-attribute[2].createifnonexistent false
-attribute[2].fastsearch false
-attribute[2].huge false
-attribute[2].sortascending true
-attribute[2].sortfunction UCA
-attribute[2].sortstrength PRIMARY
-attribute[2].sortlocale ""
-attribute[2].enablebitvectors false
-attribute[2].enableonlybitvector false
-attribute[2].fastaccess false
-attribute[2].arity 8
-attribute[2].lowerbound -9223372036854775808
-attribute[2].upperbound 9223372036854775807
-attribute[2].densepostinglistthreshold 0.4
-attribute[2].tensortype ""
-attribute[2].imported false
-attribute[3].name "singleint"
-attribute[3].datatype INT32
-attribute[3].collectiontype SINGLE
-attribute[3].removeifzero false
-attribute[3].createifnonexistent false
-attribute[3].fastsearch false
-attribute[3].huge false
-attribute[3].sortascending true
-attribute[3].sortfunction UCA
-attribute[3].sortstrength PRIMARY
-attribute[3].sortlocale ""
-attribute[3].enablebitvectors false
-attribute[3].enableonlybitvector false
-attribute[3].fastaccess false
-attribute[3].arity 8
-attribute[3].lowerbound -9223372036854775808
-attribute[3].upperbound 9223372036854775807
-attribute[3].densepostinglistthreshold 0.4
-attribute[3].tensortype ""
-attribute[3].imported false
-attribute[4].name "multiint"
-attribute[4].datatype INT32
-attribute[4].collectiontype ARRAY
-attribute[4].removeifzero false
-attribute[4].createifnonexistent false
-attribute[4].fastsearch false
-attribute[4].huge false
-attribute[4].sortascending true
-attribute[4].sortfunction UCA
-attribute[4].sortstrength PRIMARY
-attribute[4].sortlocale ""
-attribute[4].enablebitvectors false
-attribute[4].enableonlybitvector false
-attribute[4].fastaccess false
-attribute[4].arity 8
-attribute[4].lowerbound -9223372036854775808
-attribute[4].upperbound 9223372036854775807
-attribute[4].densepostinglistthreshold 0.4
-attribute[4].tensortype ""
-attribute[4].imported false
-attribute[5].name "wsint"
-attribute[5].datatype INT32
-attribute[5].collectiontype WEIGHTEDSET
-attribute[5].removeifzero false
-attribute[5].createifnonexistent false
-attribute[5].fastsearch false
-attribute[5].huge false
-attribute[5].sortascending true
-attribute[5].sortfunction UCA
-attribute[5].sortstrength PRIMARY
-attribute[5].sortlocale ""
-attribute[5].enablebitvectors false
-attribute[5].enableonlybitvector false
-attribute[5].fastaccess false
-attribute[5].arity 8
-attribute[5].lowerbound -9223372036854775808
-attribute[5].upperbound 9223372036854775807
-attribute[5].densepostinglistthreshold 0.4
-attribute[5].tensortype ""
-attribute[5].imported false
-attribute[6].name "singlelong"
-attribute[6].datatype INT64
-attribute[6].collectiontype SINGLE
-attribute[6].removeifzero false
-attribute[6].createifnonexistent false
-attribute[6].fastsearch false
-attribute[6].huge false
-attribute[6].sortascending true
-attribute[6].sortfunction UCA
-attribute[6].sortstrength PRIMARY
-attribute[6].sortlocale ""
-attribute[6].enablebitvectors false
-attribute[6].enableonlybitvector false
-attribute[6].fastaccess false
-attribute[6].arity 8
-attribute[6].lowerbound -9223372036854775808
-attribute[6].upperbound 9223372036854775807
-attribute[6].densepostinglistthreshold 0.4
-attribute[6].tensortype ""
-attribute[6].imported false
-attribute[7].name "multilong"
-attribute[7].datatype INT64
-attribute[7].collectiontype ARRAY
-attribute[7].removeifzero false
-attribute[7].createifnonexistent false
-attribute[7].fastsearch false
-attribute[7].huge false
-attribute[7].sortascending true
-attribute[7].sortfunction UCA
-attribute[7].sortstrength PRIMARY
-attribute[7].sortlocale ""
-attribute[7].enablebitvectors false
-attribute[7].enableonlybitvector false
-attribute[7].fastaccess false
-attribute[7].arity 8
-attribute[7].lowerbound -9223372036854775808
-attribute[7].upperbound 9223372036854775807
-attribute[7].densepostinglistthreshold 0.4
-attribute[7].tensortype ""
-attribute[7].imported false
-attribute[8].name "wslong"
-attribute[8].datatype INT64
-attribute[8].collectiontype WEIGHTEDSET
-attribute[8].removeifzero false
-attribute[8].createifnonexistent false
-attribute[8].fastsearch false
-attribute[8].huge false
-attribute[8].sortascending true
-attribute[8].sortfunction UCA
-attribute[8].sortstrength PRIMARY
-attribute[8].sortlocale ""
-attribute[8].enablebitvectors false
-attribute[8].enableonlybitvector false
-attribute[8].fastaccess false
-attribute[8].arity 8
-attribute[8].lowerbound -9223372036854775808
-attribute[8].upperbound 9223372036854775807
-attribute[8].densepostinglistthreshold 0.4
-attribute[8].tensortype ""
-attribute[8].imported false
-attribute[9].name "singlefloat"
-attribute[9].datatype FLOAT
-attribute[9].collectiontype SINGLE
-attribute[9].removeifzero false
-attribute[9].createifnonexistent false
-attribute[9].fastsearch false
-attribute[9].huge false
-attribute[9].sortascending true
-attribute[9].sortfunction UCA
-attribute[9].sortstrength PRIMARY
-attribute[9].sortlocale ""
-attribute[9].enablebitvectors false
-attribute[9].enableonlybitvector false
-attribute[9].fastaccess false
-attribute[9].arity 8
-attribute[9].lowerbound -9223372036854775808
-attribute[9].upperbound 9223372036854775807
-attribute[9].densepostinglistthreshold 0.4
-attribute[9].tensortype ""
-attribute[9].imported false
-attribute[10].name "multifloat"
-attribute[10].datatype FLOAT
-attribute[10].collectiontype ARRAY
-attribute[10].removeifzero false
-attribute[10].createifnonexistent false
-attribute[10].fastsearch false
-attribute[10].huge false
-attribute[10].sortascending true
-attribute[10].sortfunction UCA
-attribute[10].sortstrength PRIMARY
-attribute[10].sortlocale ""
-attribute[10].enablebitvectors false
-attribute[10].enableonlybitvector false
-attribute[10].fastaccess false
-attribute[10].arity 8
-attribute[10].lowerbound -9223372036854775808
-attribute[10].upperbound 9223372036854775807
-attribute[10].densepostinglistthreshold 0.4
-attribute[10].tensortype ""
-attribute[10].imported false
-attribute[11].name "wsfloat"
-attribute[11].datatype FLOAT
-attribute[11].collectiontype WEIGHTEDSET
-attribute[11].removeifzero false
-attribute[11].createifnonexistent false
-attribute[11].fastsearch false
-attribute[11].huge false
-attribute[11].sortascending true
-attribute[11].sortfunction UCA
-attribute[11].sortstrength PRIMARY
-attribute[11].sortlocale ""
-attribute[11].enablebitvectors false
-attribute[11].enableonlybitvector false
-attribute[11].fastaccess false
-attribute[11].arity 8
-attribute[11].lowerbound -9223372036854775808
-attribute[11].upperbound 9223372036854775807
-attribute[11].densepostinglistthreshold 0.4
-attribute[11].tensortype ""
-attribute[11].imported false
-attribute[12].name "singledouble"
-attribute[12].datatype DOUBLE
-attribute[12].collectiontype SINGLE
-attribute[12].removeifzero false
-attribute[12].createifnonexistent false
-attribute[12].fastsearch false
-attribute[12].huge false
-attribute[12].sortascending true
-attribute[12].sortfunction UCA
-attribute[12].sortstrength PRIMARY
-attribute[12].sortlocale ""
-attribute[12].enablebitvectors false
-attribute[12].enableonlybitvector false
-attribute[12].fastaccess false
-attribute[12].arity 8
-attribute[12].lowerbound -9223372036854775808
-attribute[12].upperbound 9223372036854775807
-attribute[12].densepostinglistthreshold 0.4
-attribute[12].tensortype ""
-attribute[12].imported false
-attribute[13].name "multidouble"
-attribute[13].datatype DOUBLE
-attribute[13].collectiontype ARRAY
-attribute[13].removeifzero false
-attribute[13].createifnonexistent false
-attribute[13].fastsearch false
-attribute[13].huge false
-attribute[13].sortascending true
-attribute[13].sortfunction UCA
-attribute[13].sortstrength PRIMARY
-attribute[13].sortlocale ""
-attribute[13].enablebitvectors false
-attribute[13].enableonlybitvector false
-attribute[13].fastaccess false
-attribute[13].arity 8
-attribute[13].lowerbound -9223372036854775808
-attribute[13].upperbound 9223372036854775807
-attribute[13].densepostinglistthreshold 0.4
-attribute[13].tensortype ""
-attribute[13].imported false
-attribute[14].name "wsdouble"
-attribute[14].datatype DOUBLE
-attribute[14].collectiontype WEIGHTEDSET
-attribute[14].removeifzero false
-attribute[14].createifnonexistent false
-attribute[14].fastsearch false
-attribute[14].huge false
-attribute[14].sortascending true
-attribute[14].sortfunction UCA
-attribute[14].sortstrength PRIMARY
-attribute[14].sortlocale ""
-attribute[14].enablebitvectors false
-attribute[14].enableonlybitvector false
-attribute[14].fastaccess false
-attribute[14].arity 8
-attribute[14].lowerbound -9223372036854775808
-attribute[14].upperbound 9223372036854775807
-attribute[14].densepostinglistthreshold 0.4
-attribute[14].tensortype ""
-attribute[14].imported false
-attribute[15].name "singlestring"
-attribute[15].datatype STRING
-attribute[15].collectiontype SINGLE
-attribute[15].removeifzero false
-attribute[15].createifnonexistent false
-attribute[15].fastsearch false
-attribute[15].huge false
-attribute[15].sortascending true
-attribute[15].sortfunction UCA
-attribute[15].sortstrength PRIMARY
-attribute[15].sortlocale ""
-attribute[15].enablebitvectors false
-attribute[15].enableonlybitvector false
-attribute[15].fastaccess false
-attribute[15].arity 8
-attribute[15].lowerbound -9223372036854775808
-attribute[15].upperbound 9223372036854775807
-attribute[15].densepostinglistthreshold 0.4
-attribute[15].tensortype ""
-attribute[15].imported false
-attribute[16].name "multistring"
-attribute[16].datatype STRING
-attribute[16].collectiontype ARRAY
-attribute[16].removeifzero false
-attribute[16].createifnonexistent false
-attribute[16].fastsearch false
-attribute[16].huge false
-attribute[16].sortascending true
-attribute[16].sortfunction UCA
-attribute[16].sortstrength PRIMARY
-attribute[16].sortlocale ""
-attribute[16].enablebitvectors false
-attribute[16].enableonlybitvector false
-attribute[16].fastaccess false
-attribute[16].arity 8
-attribute[16].lowerbound -9223372036854775808
-attribute[16].upperbound 9223372036854775807
-attribute[16].densepostinglistthreshold 0.4
-attribute[16].tensortype ""
-attribute[16].imported false
-attribute[17].name "wsstring"
-attribute[17].datatype STRING
-attribute[17].collectiontype WEIGHTEDSET
-attribute[17].removeifzero false
-attribute[17].createifnonexistent false
-attribute[17].fastsearch false
-attribute[17].huge false
-attribute[17].sortascending true
-attribute[17].sortfunction UCA
-attribute[17].sortstrength PRIMARY
-attribute[17].sortlocale ""
-attribute[17].enablebitvectors false
-attribute[17].enableonlybitvector false
-attribute[17].fastaccess false
-attribute[17].arity 8
-attribute[17].lowerbound -9223372036854775808
-attribute[17].upperbound 9223372036854775807
-attribute[17].densepostinglistthreshold 0.4
-attribute[17].tensortype ""
-attribute[17].imported false \ No newline at end of file
+attribute[].name "singlebyte"
+attribute[].datatype INT8
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "multibyte"
+attribute[].datatype INT8
+attribute[].collectiontype ARRAY
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "wsbyte"
+attribute[].datatype INT8
+attribute[].collectiontype WEIGHTEDSET
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "singleint"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "multiint"
+attribute[].datatype INT32
+attribute[].collectiontype ARRAY
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "wsint"
+attribute[].datatype INT32
+attribute[].collectiontype WEIGHTEDSET
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "singlelong"
+attribute[].datatype INT64
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "multilong"
+attribute[].datatype INT64
+attribute[].collectiontype ARRAY
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "wslong"
+attribute[].datatype INT64
+attribute[].collectiontype WEIGHTEDSET
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "singlefloat"
+attribute[].datatype FLOAT
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "multifloat"
+attribute[].datatype FLOAT
+attribute[].collectiontype ARRAY
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "wsfloat"
+attribute[].datatype FLOAT
+attribute[].collectiontype WEIGHTEDSET
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "singledouble"
+attribute[].datatype DOUBLE
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "multidouble"
+attribute[].datatype DOUBLE
+attribute[].collectiontype ARRAY
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "wsdouble"
+attribute[].datatype DOUBLE
+attribute[].collectiontype WEIGHTEDSET
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "singlestring"
+attribute[].datatype STRING
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "multistring"
+attribute[].datatype STRING
+attribute[].collectiontype ARRAY
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "wsstring"
+attribute[].datatype STRING
+attribute[].collectiontype WEIGHTEDSET
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
diff --git a/config-model/src/test/derived/attributeprefetch/documentmanager.cfg b/config-model/src/test/derived/attributeprefetch/documentmanager.cfg
index 619bced44cf..414c1c848db 100644
--- a/config-model/src/test/derived/attributeprefetch/documentmanager.cfg
+++ b/config-model/src/test/derived/attributeprefetch/documentmanager.cfg
@@ -1,149 +1,149 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
-datatype[1].id 49942803
-datatype[1].arraytype[0].datatype 16
-datatype[2].id -1068914395
-datatype[2].weightedsettype[0].datatype 16
-datatype[2].weightedsettype[0].createifnonexistant false
-datatype[2].weightedsettype[0].removeifzero false
-datatype[3].id -1245117006
-datatype[3].arraytype[0].datatype 0
-datatype[4].id 519906144
-datatype[4].weightedsettype[0].datatype 0
-datatype[4].weightedsettype[0].createifnonexistant false
-datatype[4].weightedsettype[0].removeifzero false
-datatype[5].id 58874399
-datatype[5].arraytype[0].datatype 4
-datatype[6].id -1059982799
-datatype[6].weightedsettype[0].datatype 4
-datatype[6].weightedsettype[0].createifnonexistant false
-datatype[6].weightedsettype[0].removeifzero false
-datatype[7].id 1650586661
-datatype[7].arraytype[0].datatype 1
-datatype[8].id 1325751891
-datatype[8].weightedsettype[0].datatype 1
-datatype[8].weightedsettype[0].createifnonexistant false
-datatype[8].weightedsettype[0].removeifzero false
-datatype[9].id -2054976470
-datatype[9].arraytype[0].datatype 5
-datatype[10].id 760047548
-datatype[10].weightedsettype[0].datatype 5
-datatype[10].weightedsettype[0].createifnonexistant false
-datatype[10].weightedsettype[0].removeifzero false
-datatype[11].id -1486737430
-datatype[11].arraytype[0].datatype 2
-datatype[12].id 1328286588
-datatype[12].weightedsettype[0].datatype 2
-datatype[12].weightedsettype[0].createifnonexistant false
-datatype[12].weightedsettype[0].removeifzero false
-datatype[13].id -109105370
-datatype[13].structtype[0].name "prefetch.header"
-datatype[13].structtype[0].version 0
-datatype[13].structtype[0].compresstype NONE
-datatype[13].structtype[0].compresslevel 0
-datatype[13].structtype[0].compressthreshold 95
-datatype[13].structtype[0].compressminsize 800
-datatype[13].structtype[0].field[0].name "singlebyte"
-datatype[13].structtype[0].field[0].datatype 16
-datatype[13].structtype[0].field[0].detailedtype ""
-datatype[13].structtype[0].field[1].name "multibyte"
-datatype[13].structtype[0].field[1].datatype 49942803
-datatype[13].structtype[0].field[1].detailedtype ""
-datatype[13].structtype[0].field[2].name "wsbyte"
-datatype[13].structtype[0].field[2].datatype -1068914395
-datatype[13].structtype[0].field[2].detailedtype ""
-datatype[13].structtype[0].field[3].name "singleint"
-datatype[13].structtype[0].field[3].datatype 0
-datatype[13].structtype[0].field[3].detailedtype ""
-datatype[13].structtype[0].field[4].name "multiint"
-datatype[13].structtype[0].field[4].datatype -1245117006
-datatype[13].structtype[0].field[4].detailedtype ""
-datatype[13].structtype[0].field[5].name "wsint"
-datatype[13].structtype[0].field[5].datatype 519906144
-datatype[13].structtype[0].field[5].detailedtype ""
-datatype[13].structtype[0].field[6].name "singlelong"
-datatype[13].structtype[0].field[6].datatype 4
-datatype[13].structtype[0].field[6].detailedtype ""
-datatype[13].structtype[0].field[7].name "multilong"
-datatype[13].structtype[0].field[7].datatype 58874399
-datatype[13].structtype[0].field[7].detailedtype ""
-datatype[13].structtype[0].field[8].name "wslong"
-datatype[13].structtype[0].field[8].datatype -1059982799
-datatype[13].structtype[0].field[8].detailedtype ""
-datatype[13].structtype[0].field[9].name "singlefloat"
-datatype[13].structtype[0].field[9].datatype 1
-datatype[13].structtype[0].field[9].detailedtype ""
-datatype[13].structtype[0].field[10].name "multifloat"
-datatype[13].structtype[0].field[10].datatype 1650586661
-datatype[13].structtype[0].field[10].detailedtype ""
-datatype[13].structtype[0].field[11].name "wsfloat"
-datatype[13].structtype[0].field[11].datatype 1325751891
-datatype[13].structtype[0].field[11].detailedtype ""
-datatype[13].structtype[0].field[12].name "singledouble"
-datatype[13].structtype[0].field[12].datatype 5
-datatype[13].structtype[0].field[12].detailedtype ""
-datatype[13].structtype[0].field[13].name "multidouble"
-datatype[13].structtype[0].field[13].datatype -2054976470
-datatype[13].structtype[0].field[13].detailedtype ""
-datatype[13].structtype[0].field[14].name "wsdouble"
-datatype[13].structtype[0].field[14].datatype 760047548
-datatype[13].structtype[0].field[14].detailedtype ""
-datatype[13].structtype[0].field[15].name "singlestring"
-datatype[13].structtype[0].field[15].datatype 2
-datatype[13].structtype[0].field[15].detailedtype ""
-datatype[13].structtype[0].field[16].name "multistring"
-datatype[13].structtype[0].field[16].datatype -1486737430
-datatype[13].structtype[0].field[16].detailedtype ""
-datatype[13].structtype[0].field[17].name "wsstring"
-datatype[13].structtype[0].field[17].datatype 1328286588
-datatype[13].structtype[0].field[17].detailedtype ""
-datatype[13].structtype[0].field[18].name "rankfeatures"
-datatype[13].structtype[0].field[18].datatype 2
-datatype[13].structtype[0].field[18].detailedtype ""
-datatype[13].structtype[0].field[19].name "summaryfeatures"
-datatype[13].structtype[0].field[19].datatype 2
-datatype[13].structtype[0].field[19].detailedtype ""
-datatype[14].id 932425403
-datatype[14].structtype[0].name "prefetch.body"
-datatype[14].structtype[0].version 0
-datatype[14].structtype[0].compresstype NONE
-datatype[14].structtype[0].compresslevel 0
-datatype[14].structtype[0].compressthreshold 95
-datatype[14].structtype[0].compressminsize 800
-datatype[15].id -1458051591
-datatype[15].documenttype[0].name "prefetch"
-datatype[15].documenttype[0].version 0
-datatype[15].documenttype[0].inherits[0].name "document"
-datatype[15].documenttype[0].inherits[0].version 0
-datatype[15].documenttype[0].headerstruct -109105370
-datatype[15].documenttype[0].bodystruct 932425403
-datatype[15].documenttype[0].fieldsets{[document]}.fields[0] "multibyte"
-datatype[15].documenttype[0].fieldsets{[document]}.fields[1] "multidouble"
-datatype[15].documenttype[0].fieldsets{[document]}.fields[2] "multifloat"
-datatype[15].documenttype[0].fieldsets{[document]}.fields[3] "multiint"
-datatype[15].documenttype[0].fieldsets{[document]}.fields[4] "multilong"
-datatype[15].documenttype[0].fieldsets{[document]}.fields[5] "multistring"
-datatype[15].documenttype[0].fieldsets{[document]}.fields[6] "singlebyte"
-datatype[15].documenttype[0].fieldsets{[document]}.fields[7] "singledouble"
-datatype[15].documenttype[0].fieldsets{[document]}.fields[8] "singlefloat"
-datatype[15].documenttype[0].fieldsets{[document]}.fields[9] "singleint"
-datatype[15].documenttype[0].fieldsets{[document]}.fields[10] "singlelong"
-datatype[15].documenttype[0].fieldsets{[document]}.fields[11] "singlestring"
-datatype[15].documenttype[0].fieldsets{[document]}.fields[12] "wsbyte"
-datatype[15].documenttype[0].fieldsets{[document]}.fields[13] "wsdouble"
-datatype[15].documenttype[0].fieldsets{[document]}.fields[14] "wsfloat"
-datatype[15].documenttype[0].fieldsets{[document]}.fields[15] "wsint"
-datatype[15].documenttype[0].fieldsets{[document]}.fields[16] "wslong"
-datatype[15].documenttype[0].fieldsets{[document]}.fields[17] "wsstring"
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 49942803
+datatype[].arraytype[].datatype 16
+datatype[].id -1068914395
+datatype[].weightedsettype[].datatype 16
+datatype[].weightedsettype[].createifnonexistant false
+datatype[].weightedsettype[].removeifzero false
+datatype[].id -1245117006
+datatype[].arraytype[].datatype 0
+datatype[].id 519906144
+datatype[].weightedsettype[].datatype 0
+datatype[].weightedsettype[].createifnonexistant false
+datatype[].weightedsettype[].removeifzero false
+datatype[].id 58874399
+datatype[].arraytype[].datatype 4
+datatype[].id -1059982799
+datatype[].weightedsettype[].datatype 4
+datatype[].weightedsettype[].createifnonexistant false
+datatype[].weightedsettype[].removeifzero false
+datatype[].id 1650586661
+datatype[].arraytype[].datatype 1
+datatype[].id 1325751891
+datatype[].weightedsettype[].datatype 1
+datatype[].weightedsettype[].createifnonexistant false
+datatype[].weightedsettype[].removeifzero false
+datatype[].id -2054976470
+datatype[].arraytype[].datatype 5
+datatype[].id 760047548
+datatype[].weightedsettype[].datatype 5
+datatype[].weightedsettype[].createifnonexistant false
+datatype[].weightedsettype[].removeifzero false
+datatype[].id -1486737430
+datatype[].arraytype[].datatype 2
+datatype[].id 1328286588
+datatype[].weightedsettype[].datatype 2
+datatype[].weightedsettype[].createifnonexistant false
+datatype[].weightedsettype[].removeifzero false
+datatype[].id -109105370
+datatype[].structtype[].name "prefetch.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "singlebyte"
+datatype[].structtype[].field[].datatype 16
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "multibyte"
+datatype[].structtype[].field[].datatype 49942803
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "wsbyte"
+datatype[].structtype[].field[].datatype -1068914395
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "singleint"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "multiint"
+datatype[].structtype[].field[].datatype -1245117006
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "wsint"
+datatype[].structtype[].field[].datatype 519906144
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "singlelong"
+datatype[].structtype[].field[].datatype 4
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "multilong"
+datatype[].structtype[].field[].datatype 58874399
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "wslong"
+datatype[].structtype[].field[].datatype -1059982799
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "singlefloat"
+datatype[].structtype[].field[].datatype 1
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "multifloat"
+datatype[].structtype[].field[].datatype 1650586661
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "wsfloat"
+datatype[].structtype[].field[].datatype 1325751891
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "singledouble"
+datatype[].structtype[].field[].datatype 5
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "multidouble"
+datatype[].structtype[].field[].datatype -2054976470
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "wsdouble"
+datatype[].structtype[].field[].datatype 760047548
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "singlestring"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "multistring"
+datatype[].structtype[].field[].datatype -1486737430
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "wsstring"
+datatype[].structtype[].field[].datatype 1328286588
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 932425403
+datatype[].structtype[].name "prefetch.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id -1458051591
+datatype[].documenttype[].name "prefetch"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct -109105370
+datatype[].documenttype[].bodystruct 932425403
+datatype[].documenttype[].fieldsets{[document]}.fields[0] "multibyte"
+datatype[].documenttype[].fieldsets{[document]}.fields[1] "multidouble"
+datatype[].documenttype[].fieldsets{[document]}.fields[2] "multifloat"
+datatype[].documenttype[].fieldsets{[document]}.fields[3] "multiint"
+datatype[].documenttype[].fieldsets{[document]}.fields[4] "multilong"
+datatype[].documenttype[].fieldsets{[document]}.fields[5] "multistring"
+datatype[].documenttype[].fieldsets{[document]}.fields[6] "singlebyte"
+datatype[].documenttype[].fieldsets{[document]}.fields[7] "singledouble"
+datatype[].documenttype[].fieldsets{[document]}.fields[8] "singlefloat"
+datatype[].documenttype[].fieldsets{[document]}.fields[9] "singleint"
+datatype[].documenttype[].fieldsets{[document]}.fields[10] "singlelong"
+datatype[].documenttype[].fieldsets{[document]}.fields[11] "singlestring"
+datatype[].documenttype[].fieldsets{[document]}.fields[12] "wsbyte"
+datatype[].documenttype[].fieldsets{[document]}.fields[13] "wsdouble"
+datatype[].documenttype[].fieldsets{[document]}.fields[14] "wsfloat"
+datatype[].documenttype[].fieldsets{[document]}.fields[15] "wsint"
+datatype[].documenttype[].fieldsets{[document]}.fields[16] "wslong"
+datatype[].documenttype[].fieldsets{[document]}.fields[17] "wsstring"
diff --git a/config-model/src/test/derived/attributeprefetch/ilscripts.cfg b/config-model/src/test/derived/attributeprefetch/ilscripts.cfg
index cda9d7df73e..6e60d265046 100644
--- a/config-model/src/test/derived/attributeprefetch/ilscripts.cfg
+++ b/config-model/src/test/derived/attributeprefetch/ilscripts.cfg
@@ -1,39 +1,39 @@
maxtermoccurrences 100
fieldmatchmaxlength 1000000
-ilscript[0].doctype "prefetch"
-ilscript[0].docfield[0] "singlebyte"
-ilscript[0].docfield[1] "multibyte"
-ilscript[0].docfield[2] "wsbyte"
-ilscript[0].docfield[3] "singleint"
-ilscript[0].docfield[4] "multiint"
-ilscript[0].docfield[5] "wsint"
-ilscript[0].docfield[6] "singlelong"
-ilscript[0].docfield[7] "multilong"
-ilscript[0].docfield[8] "wslong"
-ilscript[0].docfield[9] "singlefloat"
-ilscript[0].docfield[10] "multifloat"
-ilscript[0].docfield[11] "wsfloat"
-ilscript[0].docfield[12] "singledouble"
-ilscript[0].docfield[13] "multidouble"
-ilscript[0].docfield[14] "wsdouble"
-ilscript[0].docfield[15] "singlestring"
-ilscript[0].docfield[16] "multistring"
-ilscript[0].docfield[17] "wsstring"
-ilscript[0].content[0] "clear_state | guard { input singlebyte | attribute singlebyte; }"
-ilscript[0].content[1] "clear_state | guard { input multibyte | attribute multibyte; }"
-ilscript[0].content[2] "clear_state | guard { input wsbyte | attribute wsbyte; }"
-ilscript[0].content[3] "clear_state | guard { input singleint | attribute singleint; }"
-ilscript[0].content[4] "clear_state | guard { input multiint | attribute multiint; }"
-ilscript[0].content[5] "clear_state | guard { input wsint | attribute wsint; }"
-ilscript[0].content[6] "clear_state | guard { input singlelong | attribute singlelong; }"
-ilscript[0].content[7] "clear_state | guard { input multilong | attribute multilong; }"
-ilscript[0].content[8] "clear_state | guard { input wslong | attribute wslong; }"
-ilscript[0].content[9] "clear_state | guard { input singlefloat | attribute singlefloat; }"
-ilscript[0].content[10] "clear_state | guard { input multifloat | attribute multifloat; }"
-ilscript[0].content[11] "clear_state | guard { input wsfloat | attribute wsfloat; }"
-ilscript[0].content[12] "clear_state | guard { input singledouble | attribute singledouble; }"
-ilscript[0].content[13] "clear_state | guard { input multidouble | attribute multidouble; }"
-ilscript[0].content[14] "clear_state | guard { input wsdouble | attribute wsdouble; }"
-ilscript[0].content[15] "clear_state | guard { input singlestring | attribute singlestring; }"
-ilscript[0].content[16] "clear_state | guard { input multistring | attribute multistring; }"
-ilscript[0].content[17] "clear_state | guard { input wsstring | attribute wsstring; }"
+ilscript[].doctype "prefetch"
+ilscript[].docfield[0] "singlebyte"
+ilscript[].docfield[1] "multibyte"
+ilscript[].docfield[2] "wsbyte"
+ilscript[].docfield[3] "singleint"
+ilscript[].docfield[4] "multiint"
+ilscript[].docfield[5] "wsint"
+ilscript[].docfield[6] "singlelong"
+ilscript[].docfield[7] "multilong"
+ilscript[].docfield[8] "wslong"
+ilscript[].docfield[9] "singlefloat"
+ilscript[].docfield[10] "multifloat"
+ilscript[].docfield[11] "wsfloat"
+ilscript[].docfield[12] "singledouble"
+ilscript[].docfield[13] "multidouble"
+ilscript[].docfield[14] "wsdouble"
+ilscript[].docfield[15] "singlestring"
+ilscript[].docfield[16] "multistring"
+ilscript[].docfield[17] "wsstring"
+ilscript[].content[0] "clear_state | guard { input singlebyte | attribute singlebyte; }"
+ilscript[].content[1] "clear_state | guard { input multibyte | attribute multibyte; }"
+ilscript[].content[2] "clear_state | guard { input wsbyte | attribute wsbyte; }"
+ilscript[].content[3] "clear_state | guard { input singleint | attribute singleint; }"
+ilscript[].content[4] "clear_state | guard { input multiint | attribute multiint; }"
+ilscript[].content[5] "clear_state | guard { input wsint | attribute wsint; }"
+ilscript[].content[6] "clear_state | guard { input singlelong | attribute singlelong; }"
+ilscript[].content[7] "clear_state | guard { input multilong | attribute multilong; }"
+ilscript[].content[8] "clear_state | guard { input wslong | attribute wslong; }"
+ilscript[].content[9] "clear_state | guard { input singlefloat | attribute singlefloat; }"
+ilscript[].content[10] "clear_state | guard { input multifloat | attribute multifloat; }"
+ilscript[].content[11] "clear_state | guard { input wsfloat | attribute wsfloat; }"
+ilscript[].content[12] "clear_state | guard { input singledouble | attribute singledouble; }"
+ilscript[].content[13] "clear_state | guard { input multidouble | attribute multidouble; }"
+ilscript[].content[14] "clear_state | guard { input wsdouble | attribute wsdouble; }"
+ilscript[].content[15] "clear_state | guard { input singlestring | attribute singlestring; }"
+ilscript[].content[16] "clear_state | guard { input multistring | attribute multistring; }"
+ilscript[].content[17] "clear_state | guard { input wsstring | attribute wsstring; }"
diff --git a/config-model/src/test/derived/attributeprefetch/index-info.cfg b/config-model/src/test/derived/attributeprefetch/index-info.cfg
index 526195dffb9..a54010e24df 100644
--- a/config-model/src/test/derived/attributeprefetch/index-info.cfg
+++ b/config-model/src/test/derived/attributeprefetch/index-info.cfg
@@ -1,115 +1,115 @@
-indexinfo[0].name "prefetch"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "singlebyte"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "singlebyte"
-indexinfo[0].command[3].command "attribute"
-indexinfo[0].command[4].indexname "singlebyte"
-indexinfo[0].command[4].command "numerical"
-indexinfo[0].command[5].indexname "multibyte"
-indexinfo[0].command[5].command "index"
-indexinfo[0].command[6].indexname "multibyte"
-indexinfo[0].command[6].command "multivalue"
-indexinfo[0].command[7].indexname "multibyte"
-indexinfo[0].command[7].command "attribute"
-indexinfo[0].command[8].indexname "wsbyte"
-indexinfo[0].command[8].command "index"
-indexinfo[0].command[9].indexname "wsbyte"
-indexinfo[0].command[9].command "multivalue"
-indexinfo[0].command[10].indexname "wsbyte"
-indexinfo[0].command[10].command "attribute"
-indexinfo[0].command[11].indexname "singleint"
-indexinfo[0].command[11].command "index"
-indexinfo[0].command[12].indexname "singleint"
-indexinfo[0].command[12].command "attribute"
-indexinfo[0].command[13].indexname "singleint"
-indexinfo[0].command[13].command "numerical"
-indexinfo[0].command[14].indexname "multiint"
-indexinfo[0].command[14].command "index"
-indexinfo[0].command[15].indexname "multiint"
-indexinfo[0].command[15].command "multivalue"
-indexinfo[0].command[16].indexname "multiint"
-indexinfo[0].command[16].command "attribute"
-indexinfo[0].command[17].indexname "wsint"
-indexinfo[0].command[17].command "index"
-indexinfo[0].command[18].indexname "wsint"
-indexinfo[0].command[18].command "multivalue"
-indexinfo[0].command[19].indexname "wsint"
-indexinfo[0].command[19].command "attribute"
-indexinfo[0].command[20].indexname "singlelong"
-indexinfo[0].command[20].command "index"
-indexinfo[0].command[21].indexname "singlelong"
-indexinfo[0].command[21].command "attribute"
-indexinfo[0].command[22].indexname "singlelong"
-indexinfo[0].command[22].command "numerical"
-indexinfo[0].command[23].indexname "multilong"
-indexinfo[0].command[23].command "index"
-indexinfo[0].command[24].indexname "multilong"
-indexinfo[0].command[24].command "multivalue"
-indexinfo[0].command[25].indexname "multilong"
-indexinfo[0].command[25].command "attribute"
-indexinfo[0].command[26].indexname "wslong"
-indexinfo[0].command[26].command "index"
-indexinfo[0].command[27].indexname "wslong"
-indexinfo[0].command[27].command "multivalue"
-indexinfo[0].command[28].indexname "wslong"
-indexinfo[0].command[28].command "attribute"
-indexinfo[0].command[29].indexname "singlefloat"
-indexinfo[0].command[29].command "index"
-indexinfo[0].command[30].indexname "singlefloat"
-indexinfo[0].command[30].command "attribute"
-indexinfo[0].command[31].indexname "singlefloat"
-indexinfo[0].command[31].command "numerical"
-indexinfo[0].command[32].indexname "multifloat"
-indexinfo[0].command[32].command "index"
-indexinfo[0].command[33].indexname "multifloat"
-indexinfo[0].command[33].command "multivalue"
-indexinfo[0].command[34].indexname "multifloat"
-indexinfo[0].command[34].command "attribute"
-indexinfo[0].command[35].indexname "wsfloat"
-indexinfo[0].command[35].command "index"
-indexinfo[0].command[36].indexname "wsfloat"
-indexinfo[0].command[36].command "multivalue"
-indexinfo[0].command[37].indexname "wsfloat"
-indexinfo[0].command[37].command "attribute"
-indexinfo[0].command[38].indexname "singledouble"
-indexinfo[0].command[38].command "index"
-indexinfo[0].command[39].indexname "singledouble"
-indexinfo[0].command[39].command "attribute"
-indexinfo[0].command[40].indexname "singledouble"
-indexinfo[0].command[40].command "numerical"
-indexinfo[0].command[41].indexname "multidouble"
-indexinfo[0].command[41].command "index"
-indexinfo[0].command[42].indexname "multidouble"
-indexinfo[0].command[42].command "multivalue"
-indexinfo[0].command[43].indexname "multidouble"
-indexinfo[0].command[43].command "attribute"
-indexinfo[0].command[44].indexname "wsdouble"
-indexinfo[0].command[44].command "index"
-indexinfo[0].command[45].indexname "wsdouble"
-indexinfo[0].command[45].command "multivalue"
-indexinfo[0].command[46].indexname "wsdouble"
-indexinfo[0].command[46].command "attribute"
-indexinfo[0].command[47].indexname "singlestring"
-indexinfo[0].command[47].command "index"
-indexinfo[0].command[48].indexname "singlestring"
-indexinfo[0].command[48].command "attribute"
-indexinfo[0].command[49].indexname "multistring"
-indexinfo[0].command[49].command "index"
-indexinfo[0].command[50].indexname "multistring"
-indexinfo[0].command[50].command "multivalue"
-indexinfo[0].command[51].indexname "multistring"
-indexinfo[0].command[51].command "attribute"
-indexinfo[0].command[52].indexname "wsstring"
-indexinfo[0].command[52].command "index"
-indexinfo[0].command[53].indexname "wsstring"
-indexinfo[0].command[53].command "multivalue"
-indexinfo[0].command[54].indexname "wsstring"
-indexinfo[0].command[54].command "attribute"
-indexinfo[0].command[55].indexname "rankfeatures"
-indexinfo[0].command[55].command "index"
-indexinfo[0].command[56].indexname "summaryfeatures"
-indexinfo[0].command[56].command "index" \ No newline at end of file
+indexinfo[].name "prefetch"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "singlebyte"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "singlebyte"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "singlebyte"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "multibyte"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "multibyte"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "multibyte"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "wsbyte"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "wsbyte"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "wsbyte"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "singleint"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "singleint"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "singleint"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "multiint"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "multiint"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "multiint"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "wsint"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "wsint"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "wsint"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "singlelong"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "singlelong"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "singlelong"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "multilong"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "multilong"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "multilong"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "wslong"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "wslong"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "wslong"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "singlefloat"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "singlefloat"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "singlefloat"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "multifloat"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "multifloat"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "multifloat"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "wsfloat"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "wsfloat"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "wsfloat"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "singledouble"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "singledouble"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "singledouble"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "multidouble"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "multidouble"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "multidouble"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "wsdouble"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "wsdouble"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "wsdouble"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "singlestring"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "singlestring"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "multistring"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "multistring"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "multistring"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "wsstring"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "wsstring"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "wsstring"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "rankfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "summaryfeatures"
+indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/attributeprefetch/rank-profiles.cfg b/config-model/src/test/derived/attributeprefetch/rank-profiles.cfg
index caca83a9a91..873d3c0cd49 100644
--- a/config-model/src/test/derived/attributeprefetch/rank-profiles.cfg
+++ b/config-model/src/test/derived/attributeprefetch/rank-profiles.cfg
@@ -1,10 +1,10 @@
-rankprofile[0].name "default"
-rankprofile[1].name "unranked"
-rankprofile[1].fef.property[0].name "vespa.rank.firstphase"
-rankprofile[1].fef.property[0].value "value(0)"
-rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize"
-rankprofile[1].fef.property[1].value "0"
-rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize"
-rankprofile[1].fef.property[2].value "0"
-rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures"
-rankprofile[1].fef.property[3].value "true" \ No newline at end of file
+rankprofile[].name "default"
+rankprofile[].name "unranked"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "value(0)"
+rankprofile[].fef.property[].name "vespa.hitcollector.heapsize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.hitcollector.arraysize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.dump.ignoredefaultfeatures"
+rankprofile[].fef.property[].value "true"
diff --git a/config-model/src/test/derived/attributeprefetch/summary.cfg b/config-model/src/test/derived/attributeprefetch/summary.cfg
index ef01911a41f..a0d7bc11662 100644
--- a/config-model/src/test/derived/attributeprefetch/summary.cfg
+++ b/config-model/src/test/derived/attributeprefetch/summary.cfg
@@ -1,51 +1,51 @@
defaultsummaryid 1151071433
-classes[0].id 1151071433
-classes[0].name "default"
-classes[0].fields[0].name "rankfeatures"
-classes[0].fields[0].type "featuredata"
-classes[0].fields[1].name "summaryfeatures"
-classes[0].fields[1].type "featuredata"
-classes[0].fields[2].name "documentid"
-classes[0].fields[2].type "longstring"
-classes[1].id 1279606967
-classes[1].name "attributeprefetch"
-classes[1].fields[0].name "singlebyte"
-classes[1].fields[0].type "byte"
-classes[1].fields[1].name "multibyte"
-classes[1].fields[1].type "jsonstring"
-classes[1].fields[2].name "wsbyte"
-classes[1].fields[2].type "jsonstring"
-classes[1].fields[3].name "singleint"
-classes[1].fields[3].type "integer"
-classes[1].fields[4].name "multiint"
-classes[1].fields[4].type "jsonstring"
-classes[1].fields[5].name "wsint"
-classes[1].fields[5].type "jsonstring"
-classes[1].fields[6].name "singlelong"
-classes[1].fields[6].type "int64"
-classes[1].fields[7].name "multilong"
-classes[1].fields[7].type "jsonstring"
-classes[1].fields[8].name "wslong"
-classes[1].fields[8].type "jsonstring"
-classes[1].fields[9].name "singlefloat"
-classes[1].fields[9].type "float"
-classes[1].fields[10].name "multifloat"
-classes[1].fields[10].type "jsonstring"
-classes[1].fields[11].name "wsfloat"
-classes[1].fields[11].type "jsonstring"
-classes[1].fields[12].name "singledouble"
-classes[1].fields[12].type "double"
-classes[1].fields[13].name "multidouble"
-classes[1].fields[13].type "jsonstring"
-classes[1].fields[14].name "wsdouble"
-classes[1].fields[14].type "jsonstring"
-classes[1].fields[15].name "singlestring"
-classes[1].fields[15].type "longstring"
-classes[1].fields[16].name "multistring"
-classes[1].fields[16].type "jsonstring"
-classes[1].fields[17].name "wsstring"
-classes[1].fields[17].type "jsonstring"
-classes[1].fields[18].name "rankfeatures"
-classes[1].fields[18].type "featuredata"
-classes[1].fields[19].name "summaryfeatures"
-classes[1].fields[19].type "featuredata" \ No newline at end of file
+classes[].id 1151071433
+classes[].name "default"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "documentid"
+classes[].fields[].type "longstring"
+classes[].id 1279606967
+classes[].name "attributeprefetch"
+classes[].fields[].name "singlebyte"
+classes[].fields[].type "byte"
+classes[].fields[].name "multibyte"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "wsbyte"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "singleint"
+classes[].fields[].type "integer"
+classes[].fields[].name "multiint"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "wsint"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "singlelong"
+classes[].fields[].type "int64"
+classes[].fields[].name "multilong"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "wslong"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "singlefloat"
+classes[].fields[].type "float"
+classes[].fields[].name "multifloat"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "wsfloat"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "singledouble"
+classes[].fields[].type "double"
+classes[].fields[].name "multidouble"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "wsdouble"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "singlestring"
+classes[].fields[].type "longstring"
+classes[].fields[].name "multistring"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "wsstring"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
diff --git a/config-model/src/test/derived/attributeprefetch/summarymap.cfg b/config-model/src/test/derived/attributeprefetch/summarymap.cfg
index e42657eb2bb..ca1cff1b640 100644
--- a/config-model/src/test/derived/attributeprefetch/summarymap.cfg
+++ b/config-model/src/test/derived/attributeprefetch/summarymap.cfg
@@ -1,61 +1,61 @@
defaultoutputclass -1
-override[0].field "rankfeatures"
-override[0].command "rankfeatures"
-override[0].arguments ""
-override[1].field "summaryfeatures"
-override[1].command "summaryfeatures"
-override[1].arguments ""
-override[2].field "singlebyte"
-override[2].command "attribute"
-override[2].arguments "singlebyte"
-override[3].field "multibyte"
-override[3].command "attribute"
-override[3].arguments "multibyte"
-override[4].field "wsbyte"
-override[4].command "attribute"
-override[4].arguments "wsbyte"
-override[5].field "singleint"
-override[5].command "attribute"
-override[5].arguments "singleint"
-override[6].field "multiint"
-override[6].command "attribute"
-override[6].arguments "multiint"
-override[7].field "wsint"
-override[7].command "attribute"
-override[7].arguments "wsint"
-override[8].field "singlelong"
-override[8].command "attribute"
-override[8].arguments "singlelong"
-override[9].field "multilong"
-override[9].command "attribute"
-override[9].arguments "multilong"
-override[10].field "wslong"
-override[10].command "attribute"
-override[10].arguments "wslong"
-override[11].field "singlefloat"
-override[11].command "attribute"
-override[11].arguments "singlefloat"
-override[12].field "multifloat"
-override[12].command "attribute"
-override[12].arguments "multifloat"
-override[13].field "wsfloat"
-override[13].command "attribute"
-override[13].arguments "wsfloat"
-override[14].field "singledouble"
-override[14].command "attribute"
-override[14].arguments "singledouble"
-override[15].field "multidouble"
-override[15].command "attribute"
-override[15].arguments "multidouble"
-override[16].field "wsdouble"
-override[16].command "attribute"
-override[16].arguments "wsdouble"
-override[17].field "singlestring"
-override[17].command "attribute"
-override[17].arguments "singlestring"
-override[18].field "multistring"
-override[18].command "attribute"
-override[18].arguments "multistring"
-override[19].field "wsstring"
-override[19].command "attribute"
-override[19].arguments "wsstring" \ No newline at end of file
+override[].field "rankfeatures"
+override[].command "rankfeatures"
+override[].arguments ""
+override[].field "summaryfeatures"
+override[].command "summaryfeatures"
+override[].arguments ""
+override[].field "singlebyte"
+override[].command "attribute"
+override[].arguments "singlebyte"
+override[].field "multibyte"
+override[].command "attribute"
+override[].arguments "multibyte"
+override[].field "wsbyte"
+override[].command "attribute"
+override[].arguments "wsbyte"
+override[].field "singleint"
+override[].command "attribute"
+override[].arguments "singleint"
+override[].field "multiint"
+override[].command "attribute"
+override[].arguments "multiint"
+override[].field "wsint"
+override[].command "attribute"
+override[].arguments "wsint"
+override[].field "singlelong"
+override[].command "attribute"
+override[].arguments "singlelong"
+override[].field "multilong"
+override[].command "attribute"
+override[].arguments "multilong"
+override[].field "wslong"
+override[].command "attribute"
+override[].arguments "wslong"
+override[].field "singlefloat"
+override[].command "attribute"
+override[].arguments "singlefloat"
+override[].field "multifloat"
+override[].command "attribute"
+override[].arguments "multifloat"
+override[].field "wsfloat"
+override[].command "attribute"
+override[].arguments "wsfloat"
+override[].field "singledouble"
+override[].command "attribute"
+override[].arguments "singledouble"
+override[].field "multidouble"
+override[].command "attribute"
+override[].arguments "multidouble"
+override[].field "wsdouble"
+override[].command "attribute"
+override[].arguments "wsdouble"
+override[].field "singlestring"
+override[].command "attribute"
+override[].arguments "singlestring"
+override[].field "multistring"
+override[].command "attribute"
+override[].arguments "multistring"
+override[].field "wsstring"
+override[].command "attribute"
+override[].arguments "wsstring"
diff --git a/config-model/src/test/derived/attributerank/rank-profiles.cfg b/config-model/src/test/derived/attributerank/rank-profiles.cfg
index b37289705ec..1f6a670e3bd 100644
--- a/config-model/src/test/derived/attributerank/rank-profiles.cfg
+++ b/config-model/src/test/derived/attributerank/rank-profiles.cfg
@@ -1,34 +1,34 @@
-rankprofile[0].name "default"
-rankprofile[0].fef.property[0].name "nativeAttributeMatch.weightTable.singlefloat"
-rankprofile[0].fef.property[0].value "linear(1,0)"
-rankprofile[0].fef.property[1].name "nativeAttributeMatch.weightTable.singledouble"
-rankprofile[0].fef.property[1].value "linear(1,0)"
-rankprofile[0].fef.property[2].name "nativeAttributeMatch.weightTable.singlestring"
-rankprofile[0].fef.property[2].value "linear(1,0)"
-rankprofile[1].name "unranked"
-rankprofile[1].fef.property[0].name "vespa.rank.firstphase"
-rankprofile[1].fef.property[0].value "value(0)"
-rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize"
-rankprofile[1].fef.property[1].value "0"
-rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize"
-rankprofile[1].fef.property[2].value "0"
-rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures"
-rankprofile[1].fef.property[3].value "true"
-rankprofile[2].name "firstprofile"
-rankprofile[2].fef.property[0].name "nativeAttributeMatch.weightTable.singlefloat"
-rankprofile[2].fef.property[0].value "linear(1,0)"
-rankprofile[2].fef.property[1].name "nativeAttributeMatch.weightTable.singledouble"
-rankprofile[2].fef.property[1].value "linear(1,0)"
-rankprofile[3].name "secondprofile"
-rankprofile[3].fef.property[0].name "nativeAttributeMatch.weightTable.singlebyte"
-rankprofile[3].fef.property[0].value "linear(1,0)"
-rankprofile[3].fef.property[1].name "nativeAttributeMatch.weightTable.singleint"
-rankprofile[3].fef.property[1].value "linear(1,0)"
-rankprofile[3].fef.property[2].name "nativeAttributeMatch.weightTable.singlelong"
-rankprofile[3].fef.property[2].value "linear(1,0)"
-rankprofile[3].fef.property[3].name "nativeAttributeMatch.weightTable.singlefloat"
-rankprofile[3].fef.property[3].value "linear(1,0)"
-rankprofile[3].fef.property[4].name "nativeAttributeMatch.weightTable.singledouble"
-rankprofile[3].fef.property[4].value "linear(1,0)"
-rankprofile[3].fef.property[5].name "nativeAttributeMatch.weightTable.singlestring"
-rankprofile[3].fef.property[5].value "linear(1,0)" \ No newline at end of file
+rankprofile[].name "default"
+rankprofile[].fef.property[].name "nativeAttributeMatch.weightTable.singlefloat"
+rankprofile[].fef.property[].value "linear(1,0)"
+rankprofile[].fef.property[].name "nativeAttributeMatch.weightTable.singledouble"
+rankprofile[].fef.property[].value "linear(1,0)"
+rankprofile[].fef.property[].name "nativeAttributeMatch.weightTable.singlestring"
+rankprofile[].fef.property[].value "linear(1,0)"
+rankprofile[].name "unranked"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "value(0)"
+rankprofile[].fef.property[].name "vespa.hitcollector.heapsize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.hitcollector.arraysize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.dump.ignoredefaultfeatures"
+rankprofile[].fef.property[].value "true"
+rankprofile[].name "firstprofile"
+rankprofile[].fef.property[].name "nativeAttributeMatch.weightTable.singlefloat"
+rankprofile[].fef.property[].value "linear(1,0)"
+rankprofile[].fef.property[].name "nativeAttributeMatch.weightTable.singledouble"
+rankprofile[].fef.property[].value "linear(1,0)"
+rankprofile[].name "secondprofile"
+rankprofile[].fef.property[].name "nativeAttributeMatch.weightTable.singlebyte"
+rankprofile[].fef.property[].value "linear(1,0)"
+rankprofile[].fef.property[].name "nativeAttributeMatch.weightTable.singleint"
+rankprofile[].fef.property[].value "linear(1,0)"
+rankprofile[].fef.property[].name "nativeAttributeMatch.weightTable.singlelong"
+rankprofile[].fef.property[].value "linear(1,0)"
+rankprofile[].fef.property[].name "nativeAttributeMatch.weightTable.singlefloat"
+rankprofile[].fef.property[].value "linear(1,0)"
+rankprofile[].fef.property[].name "nativeAttributeMatch.weightTable.singledouble"
+rankprofile[].fef.property[].value "linear(1,0)"
+rankprofile[].fef.property[].name "nativeAttributeMatch.weightTable.singlestring"
+rankprofile[].fef.property[].value "linear(1,0)"
diff --git a/config-model/src/test/derived/attributes/attributes.cfg b/config-model/src/test/derived/attributes/attributes.cfg
index 19066d8971c..61339fa325d 100644
--- a/config-model/src/test/derived/attributes/attributes.cfg
+++ b/config-model/src/test/derived/attributes/attributes.cfg
@@ -1,360 +1,360 @@
-attribute[0].name "a1"
-attribute[0].datatype STRING
-attribute[0].collectiontype SINGLE
-attribute[0].removeifzero false
-attribute[0].createifnonexistent false
-attribute[0].fastsearch false
-attribute[0].huge false
-attribute[0].sortascending true
-attribute[0].sortfunction UCA
-attribute[0].sortstrength PRIMARY
-attribute[0].sortlocale ""
-attribute[0].enablebitvectors false
-attribute[0].enableonlybitvector false
-attribute[0].fastaccess false
-attribute[0].arity 8
-attribute[0].lowerbound -9223372036854775808
-attribute[0].upperbound 9223372036854775807
-attribute[0].densepostinglistthreshold 0.4
-attribute[0].tensortype ""
-attribute[0].imported false
-attribute[1].name "a2"
-attribute[1].datatype STRING
-attribute[1].collectiontype SINGLE
-attribute[1].removeifzero false
-attribute[1].createifnonexistent false
-attribute[1].fastsearch false
-attribute[1].huge false
-attribute[1].sortascending true
-attribute[1].sortfunction UCA
-attribute[1].sortstrength PRIMARY
-attribute[1].sortlocale ""
-attribute[1].enablebitvectors false
-attribute[1].enableonlybitvector false
-attribute[1].fastaccess false
-attribute[1].arity 8
-attribute[1].lowerbound -9223372036854775808
-attribute[1].upperbound 9223372036854775807
-attribute[1].densepostinglistthreshold 0.4
-attribute[1].tensortype ""
-attribute[1].imported false
-attribute[2].name "a3"
-attribute[2].datatype STRING
-attribute[2].collectiontype SINGLE
-attribute[2].removeifzero false
-attribute[2].createifnonexistent false
-attribute[2].fastsearch false
-attribute[2].huge false
-attribute[2].sortascending true
-attribute[2].sortfunction UCA
-attribute[2].sortstrength PRIMARY
-attribute[2].sortlocale ""
-attribute[2].enablebitvectors false
-attribute[2].enableonlybitvector false
-attribute[2].fastaccess false
-attribute[2].arity 8
-attribute[2].lowerbound -9223372036854775808
-attribute[2].upperbound 9223372036854775807
-attribute[2].densepostinglistthreshold 0.4
-attribute[2].tensortype ""
-attribute[2].imported false
-attribute[3].name "a5"
-attribute[3].datatype STRING
-attribute[3].collectiontype SINGLE
-attribute[3].removeifzero false
-attribute[3].createifnonexistent false
-attribute[3].fastsearch false
-attribute[3].huge false
-attribute[3].sortascending true
-attribute[3].sortfunction UCA
-attribute[3].sortstrength PRIMARY
-attribute[3].sortlocale ""
-attribute[3].enablebitvectors false
-attribute[3].enableonlybitvector false
-attribute[3].fastaccess false
-attribute[3].arity 8
-attribute[3].lowerbound -9223372036854775808
-attribute[3].upperbound 9223372036854775807
-attribute[3].densepostinglistthreshold 0.4
-attribute[3].tensortype ""
-attribute[3].imported false
-attribute[4].name "a6"
-attribute[4].datatype STRING
-attribute[4].collectiontype SINGLE
-attribute[4].removeifzero false
-attribute[4].createifnonexistent false
-attribute[4].fastsearch false
-attribute[4].huge false
-attribute[4].sortascending true
-attribute[4].sortfunction UCA
-attribute[4].sortstrength PRIMARY
-attribute[4].sortlocale ""
-attribute[4].enablebitvectors false
-attribute[4].enableonlybitvector false
-attribute[4].fastaccess false
-attribute[4].arity 8
-attribute[4].lowerbound -9223372036854775808
-attribute[4].upperbound 9223372036854775807
-attribute[4].densepostinglistthreshold 0.4
-attribute[4].tensortype ""
-attribute[4].imported false
-attribute[5].name "b1"
-attribute[5].datatype STRING
-attribute[5].collectiontype SINGLE
-attribute[5].removeifzero false
-attribute[5].createifnonexistent false
-attribute[5].fastsearch false
-attribute[5].huge false
-attribute[5].sortascending true
-attribute[5].sortfunction UCA
-attribute[5].sortstrength PRIMARY
-attribute[5].sortlocale ""
-attribute[5].enablebitvectors false
-attribute[5].enableonlybitvector false
-attribute[5].fastaccess false
-attribute[5].arity 8
-attribute[5].lowerbound -9223372036854775808
-attribute[5].upperbound 9223372036854775807
-attribute[5].densepostinglistthreshold 0.4
-attribute[5].tensortype ""
-attribute[5].imported false
-attribute[6].name "b2"
-attribute[6].datatype STRING
-attribute[6].collectiontype SINGLE
-attribute[6].removeifzero false
-attribute[6].createifnonexistent false
-attribute[6].fastsearch false
-attribute[6].huge false
-attribute[6].sortascending true
-attribute[6].sortfunction UCA
-attribute[6].sortstrength PRIMARY
-attribute[6].sortlocale ""
-attribute[6].enablebitvectors false
-attribute[6].enableonlybitvector false
-attribute[6].fastaccess false
-attribute[6].arity 8
-attribute[6].lowerbound -9223372036854775808
-attribute[6].upperbound 9223372036854775807
-attribute[6].densepostinglistthreshold 0.4
-attribute[6].tensortype ""
-attribute[6].imported false
-attribute[7].name "b3"
-attribute[7].datatype STRING
-attribute[7].collectiontype SINGLE
-attribute[7].removeifzero false
-attribute[7].createifnonexistent false
-attribute[7].fastsearch false
-attribute[7].huge false
-attribute[7].sortascending true
-attribute[7].sortfunction UCA
-attribute[7].sortstrength PRIMARY
-attribute[7].sortlocale ""
-attribute[7].enablebitvectors false
-attribute[7].enableonlybitvector false
-attribute[7].fastaccess false
-attribute[7].arity 8
-attribute[7].lowerbound -9223372036854775808
-attribute[7].upperbound 9223372036854775807
-attribute[7].densepostinglistthreshold 0.4
-attribute[7].tensortype ""
-attribute[7].imported false
-attribute[8].name "b4"
-attribute[8].datatype INT32
-attribute[8].collectiontype SINGLE
-attribute[8].removeifzero false
-attribute[8].createifnonexistent false
-attribute[8].fastsearch false
-attribute[8].huge false
-attribute[8].sortascending true
-attribute[8].sortfunction UCA
-attribute[8].sortstrength PRIMARY
-attribute[8].sortlocale ""
-attribute[8].enablebitvectors false
-attribute[8].enableonlybitvector false
-attribute[8].fastaccess false
-attribute[8].arity 8
-attribute[8].lowerbound -9223372036854775808
-attribute[8].upperbound 9223372036854775807
-attribute[8].densepostinglistthreshold 0.4
-attribute[8].tensortype ""
-attribute[8].imported false
-attribute[9].name "b5"
-attribute[9].datatype INT32
-attribute[9].collectiontype SINGLE
-attribute[9].removeifzero false
-attribute[9].createifnonexistent false
-attribute[9].fastsearch false
-attribute[9].huge false
-attribute[9].sortascending true
-attribute[9].sortfunction UCA
-attribute[9].sortstrength PRIMARY
-attribute[9].sortlocale ""
-attribute[9].enablebitvectors false
-attribute[9].enableonlybitvector false
-attribute[9].fastaccess false
-attribute[9].arity 8
-attribute[9].lowerbound -9223372036854775808
-attribute[9].upperbound 9223372036854775807
-attribute[9].densepostinglistthreshold 0.4
-attribute[9].tensortype ""
-attribute[9].imported false
-attribute[10].name "b6"
-attribute[10].datatype INT64
-attribute[10].collectiontype ARRAY
-attribute[10].removeifzero false
-attribute[10].createifnonexistent false
-attribute[10].fastsearch false
-attribute[10].huge false
-attribute[10].sortascending true
-attribute[10].sortfunction UCA
-attribute[10].sortstrength PRIMARY
-attribute[10].sortlocale ""
-attribute[10].enablebitvectors false
-attribute[10].enableonlybitvector false
-attribute[10].fastaccess false
-attribute[10].arity 8
-attribute[10].lowerbound -9223372036854775808
-attribute[10].upperbound 9223372036854775807
-attribute[10].densepostinglistthreshold 0.4
-attribute[10].tensortype ""
-attribute[10].imported false
-attribute[11].name "b7"
-attribute[11].datatype DOUBLE
-attribute[11].collectiontype WEIGHTEDSET
-attribute[11].removeifzero false
-attribute[11].createifnonexistent false
-attribute[11].fastsearch false
-attribute[11].huge false
-attribute[11].sortascending true
-attribute[11].sortfunction UCA
-attribute[11].sortstrength PRIMARY
-attribute[11].sortlocale ""
-attribute[11].enablebitvectors false
-attribute[11].enableonlybitvector false
-attribute[11].fastaccess false
-attribute[11].arity 8
-attribute[11].lowerbound -9223372036854775808
-attribute[11].upperbound 9223372036854775807
-attribute[11].densepostinglistthreshold 0.4
-attribute[11].tensortype ""
-attribute[11].imported false
-attribute[12].name "a9"
-attribute[12].datatype INT32
-attribute[12].collectiontype SINGLE
-attribute[12].removeifzero false
-attribute[12].createifnonexistent false
-attribute[12].fastsearch false
-attribute[12].huge false
-attribute[12].sortascending true
-attribute[12].sortfunction UCA
-attribute[12].sortstrength PRIMARY
-attribute[12].sortlocale ""
-attribute[12].enablebitvectors true
-attribute[12].enableonlybitvector false
-attribute[12].fastaccess false
-attribute[12].arity 8
-attribute[12].lowerbound -9223372036854775808
-attribute[12].upperbound 9223372036854775807
-attribute[12].densepostinglistthreshold 0.4
-attribute[12].tensortype ""
-attribute[12].imported false
-attribute[13].name "a10"
-attribute[13].datatype INT32
-attribute[13].collectiontype ARRAY
-attribute[13].removeifzero false
-attribute[13].createifnonexistent false
-attribute[13].fastsearch true
-attribute[13].huge false
-attribute[13].sortascending true
-attribute[13].sortfunction UCA
-attribute[13].sortstrength PRIMARY
-attribute[13].sortlocale ""
-attribute[13].enablebitvectors true
-attribute[13].enableonlybitvector true
-attribute[13].fastaccess false
-attribute[13].arity 8
-attribute[13].lowerbound -9223372036854775808
-attribute[13].upperbound 9223372036854775807
-attribute[13].densepostinglistthreshold 0.4
-attribute[13].tensortype ""
-attribute[13].imported false
-attribute[14].name "a11"
-attribute[14].datatype INT32
-attribute[14].collectiontype SINGLE
-attribute[14].removeifzero false
-attribute[14].createifnonexistent false
-attribute[14].fastsearch false
-attribute[14].huge false
-attribute[14].sortascending true
-attribute[14].sortfunction UCA
-attribute[14].sortstrength PRIMARY
-attribute[14].sortlocale ""
-attribute[14].enablebitvectors false
-attribute[14].enableonlybitvector false
-attribute[14].fastaccess true
-attribute[14].arity 8
-attribute[14].lowerbound -9223372036854775808
-attribute[14].upperbound 9223372036854775807
-attribute[14].densepostinglistthreshold 0.4
-attribute[14].tensortype ""
-attribute[14].imported false
-attribute[15].name "a12"
-attribute[15].datatype INT32
-attribute[15].collectiontype SINGLE
-attribute[15].removeifzero false
-attribute[15].createifnonexistent false
-attribute[15].fastsearch false
-attribute[15].huge false
-attribute[15].sortascending true
-attribute[15].sortfunction UCA
-attribute[15].sortstrength PRIMARY
-attribute[15].sortlocale ""
-attribute[15].enablebitvectors true
-attribute[15].enableonlybitvector true
-attribute[15].fastaccess false
-attribute[15].arity 8
-attribute[15].lowerbound -9223372036854775808
-attribute[15].upperbound 9223372036854775807
-attribute[15].densepostinglistthreshold 0.4
-attribute[15].tensortype ""
-attribute[15].imported false
-attribute[16].name "a7_arr"
-attribute[16].datatype STRING
-attribute[16].collectiontype ARRAY
-attribute[16].removeifzero false
-attribute[16].createifnonexistent false
-attribute[16].fastsearch false
-attribute[16].huge false
-attribute[16].sortascending true
-attribute[16].sortfunction UCA
-attribute[16].sortstrength PRIMARY
-attribute[16].sortlocale ""
-attribute[16].enablebitvectors false
-attribute[16].enableonlybitvector false
-attribute[16].fastaccess false
-attribute[16].arity 8
-attribute[16].lowerbound -9223372036854775808
-attribute[16].upperbound 9223372036854775807
-attribute[16].densepostinglistthreshold 0.4
-attribute[16].tensortype ""
-attribute[16].imported false
-attribute[17].name "a8_arr"
-attribute[17].datatype STRING
-attribute[17].collectiontype ARRAY
-attribute[17].removeifzero false
-attribute[17].createifnonexistent false
-attribute[17].fastsearch false
-attribute[17].huge false
-attribute[17].sortascending true
-attribute[17].sortfunction UCA
-attribute[17].sortstrength PRIMARY
-attribute[17].sortlocale ""
-attribute[17].enablebitvectors false
-attribute[17].enableonlybitvector false
-attribute[17].fastaccess false
-attribute[17].arity 8
-attribute[17].lowerbound -9223372036854775808
-attribute[17].upperbound 9223372036854775807
-attribute[17].densepostinglistthreshold 0.4
-attribute[17].tensortype ""
-attribute[17].imported false \ No newline at end of file
+attribute[].name "a1"
+attribute[].datatype STRING
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "a2"
+attribute[].datatype STRING
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "a3"
+attribute[].datatype STRING
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "a5"
+attribute[].datatype STRING
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "a6"
+attribute[].datatype STRING
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "b1"
+attribute[].datatype STRING
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "b2"
+attribute[].datatype STRING
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "b3"
+attribute[].datatype STRING
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "b4"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "b5"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "b6"
+attribute[].datatype INT64
+attribute[].collectiontype ARRAY
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "b7"
+attribute[].datatype DOUBLE
+attribute[].collectiontype WEIGHTEDSET
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "a9"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors true
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "a10"
+attribute[].datatype INT32
+attribute[].collectiontype ARRAY
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch true
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors true
+attribute[].enableonlybitvector true
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "a11"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess true
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "a12"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors true
+attribute[].enableonlybitvector true
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "a7_arr"
+attribute[].datatype STRING
+attribute[].collectiontype ARRAY
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "a8_arr"
+attribute[].datatype STRING
+attribute[].collectiontype ARRAY
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
diff --git a/config-model/src/test/derived/attributes/ilscripts.cfg b/config-model/src/test/derived/attributes/ilscripts.cfg
index 4879eff9edc..fa3b17e49f5 100644
--- a/config-model/src/test/derived/attributes/ilscripts.cfg
+++ b/config-model/src/test/derived/attributes/ilscripts.cfg
@@ -1,43 +1,43 @@
maxtermoccurrences 100
fieldmatchmaxlength 1000000
-ilscript[0].doctype "attributes"
-ilscript[0].docfield[0] "a1"
-ilscript[0].docfield[1] "a2"
-ilscript[0].docfield[2] "a3"
-ilscript[0].docfield[3] "a4"
-ilscript[0].docfield[4] "a5"
-ilscript[0].docfield[5] "a6"
-ilscript[0].docfield[6] "a7"
-ilscript[0].docfield[7] "a8"
-ilscript[0].docfield[8] "b1"
-ilscript[0].docfield[9] "b2"
-ilscript[0].docfield[10] "b3"
-ilscript[0].docfield[11] "b4"
-ilscript[0].docfield[12] "b5"
-ilscript[0].docfield[13] "b6"
-ilscript[0].docfield[14] "b7"
-ilscript[0].docfield[15] "a9"
-ilscript[0].docfield[16] "a10"
-ilscript[0].docfield[17] "a11"
-ilscript[0].docfield[18] "a12"
-ilscript[0].content[0] "clear_state | guard { input a7 | split \";\" | attribute a7_arr; }"
-ilscript[0].content[1] "clear_state | guard { input a8 | split \";\" | attribute a8_arr; }"
-ilscript[0].content[2] "clear_state | guard { input a1 | attribute a1 | summary a1; }"
-ilscript[0].content[3] "clear_state | guard { input a2 | attribute a2 | summary a2; }"
-ilscript[0].content[4] "clear_state | guard { input a3 | attribute a3 | summary a3; }"
-ilscript[0].content[5] "clear_state | guard { input a4 | summary a4; }"
-ilscript[0].content[6] "clear_state | guard { input a5 | tokenize normalize stem:\"SHORTEST\" | attribute a5 | summary a5 | index a5; }"
-ilscript[0].content[7] "clear_state | guard { input a6 | tokenize normalize stem:\"SHORTEST\" | attribute a6 | summary a6 | index a6; }"
-ilscript[0].content[8] "clear_state | guard { input a7 | summary a7; }"
-ilscript[0].content[9] "clear_state | guard { input a8 | summary a8; }"
-ilscript[0].content[10] "clear_state | guard { input b1 | attribute b1 | summary b1; }"
-ilscript[0].content[11] "clear_state | guard { input b2 | tokenize normalize stem:\"SHORTEST\" | attribute b2 | summary b2 | index b2; }"
-ilscript[0].content[12] "clear_state | guard { input b3 | tokenize normalize stem:\"SHORTEST\" | attribute b3 | summary b3 | index b3; }"
-ilscript[0].content[13] "clear_state | guard { input b4 | attribute b4 | summary b4; }"
-ilscript[0].content[14] "clear_state | guard { input b5 | summary b5 | attribute b5; }"
-ilscript[0].content[15] "clear_state | guard { input b6 | summary b6 | attribute b6; }"
-ilscript[0].content[16] "clear_state | guard { input b7 | summary b7 | attribute b7; }"
-ilscript[0].content[17] "clear_state | guard { input a9 | attribute a9; }"
-ilscript[0].content[18] "clear_state | guard { input a10 | attribute a10; }"
-ilscript[0].content[19] "clear_state | guard { input a11 | attribute a11; }"
-ilscript[0].content[20] "clear_state | guard { input a12 | attribute a12; }"
+ilscript[].doctype "attributes"
+ilscript[].docfield[0] "a1"
+ilscript[].docfield[1] "a2"
+ilscript[].docfield[2] "a3"
+ilscript[].docfield[3] "a4"
+ilscript[].docfield[4] "a5"
+ilscript[].docfield[5] "a6"
+ilscript[].docfield[6] "a7"
+ilscript[].docfield[7] "a8"
+ilscript[].docfield[8] "b1"
+ilscript[].docfield[9] "b2"
+ilscript[].docfield[10] "b3"
+ilscript[].docfield[11] "b4"
+ilscript[].docfield[12] "b5"
+ilscript[].docfield[13] "b6"
+ilscript[].docfield[14] "b7"
+ilscript[].docfield[15] "a9"
+ilscript[].docfield[16] "a10"
+ilscript[].docfield[17] "a11"
+ilscript[].docfield[18] "a12"
+ilscript[].content[0] "clear_state | guard { input a7 | split \";\" | attribute a7_arr; }"
+ilscript[].content[1] "clear_state | guard { input a8 | split \";\" | attribute a8_arr; }"
+ilscript[].content[2] "clear_state | guard { input a1 | attribute a1 | summary a1; }"
+ilscript[].content[3] "clear_state | guard { input a2 | attribute a2 | summary a2; }"
+ilscript[].content[4] "clear_state | guard { input a3 | attribute a3 | summary a3; }"
+ilscript[].content[5] "clear_state | guard { input a4 | summary a4; }"
+ilscript[].content[6] "clear_state | guard { input a5 | tokenize normalize stem:\"SHORTEST\" | attribute a5 | summary a5 | index a5; }"
+ilscript[].content[7] "clear_state | guard { input a6 | tokenize normalize stem:\"SHORTEST\" | attribute a6 | summary a6 | index a6; }"
+ilscript[].content[8] "clear_state | guard { input a7 | summary a7; }"
+ilscript[].content[9] "clear_state | guard { input a8 | summary a8; }"
+ilscript[].content[10] "clear_state | guard { input b1 | attribute b1 | summary b1; }"
+ilscript[].content[11] "clear_state | guard { input b2 | tokenize normalize stem:\"SHORTEST\" | attribute b2 | summary b2 | index b2; }"
+ilscript[].content[12] "clear_state | guard { input b3 | tokenize normalize stem:\"SHORTEST\" | attribute b3 | summary b3 | index b3; }"
+ilscript[].content[13] "clear_state | guard { input b4 | attribute b4 | summary b4; }"
+ilscript[].content[14] "clear_state | guard { input b5 | summary b5 | attribute b5; }"
+ilscript[].content[15] "clear_state | guard { input b6 | summary b6 | attribute b6; }"
+ilscript[].content[16] "clear_state | guard { input b7 | summary b7 | attribute b7; }"
+ilscript[].content[17] "clear_state | guard { input a9 | attribute a9; }"
+ilscript[].content[18] "clear_state | guard { input a10 | attribute a10; }"
+ilscript[].content[19] "clear_state | guard { input a11 | attribute a11; }"
+ilscript[].content[20] "clear_state | guard { input a12 | attribute a12; }"
diff --git a/config-model/src/test/derived/attributes/index-info.cfg b/config-model/src/test/derived/attributes/index-info.cfg
index a5d2bc346b9..ef96a1dd310 100644
--- a/config-model/src/test/derived/attributes/index-info.cfg
+++ b/config-model/src/test/derived/attributes/index-info.cfg
@@ -1,151 +1,151 @@
-indexinfo[0].name "attributes"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "a1"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "a1"
-indexinfo[0].command[3].command "attribute"
-indexinfo[0].command[4].indexname "a2"
-indexinfo[0].command[4].command "index"
-indexinfo[0].command[5].indexname "a2"
-indexinfo[0].command[5].command "attribute"
-indexinfo[0].command[6].indexname "a3"
-indexinfo[0].command[6].command "index"
-indexinfo[0].command[7].indexname "a3"
-indexinfo[0].command[7].command "attribute"
-indexinfo[0].command[8].indexname "a4"
-indexinfo[0].command[8].command "index"
-indexinfo[0].command[9].indexname "a5"
-indexinfo[0].command[9].command "index"
-indexinfo[0].command[10].indexname "a5"
-indexinfo[0].command[10].command "lowercase"
-indexinfo[0].command[11].indexname "a5"
-indexinfo[0].command[11].command "stem:SHORTEST"
-indexinfo[0].command[12].indexname "a5"
-indexinfo[0].command[12].command "normalize"
-indexinfo[0].command[13].indexname "a5"
-indexinfo[0].command[13].command "plain-tokens"
-indexinfo[0].command[14].indexname "a6"
-indexinfo[0].command[14].command "index"
-indexinfo[0].command[15].indexname "a6"
-indexinfo[0].command[15].command "lowercase"
-indexinfo[0].command[16].indexname "a6"
-indexinfo[0].command[16].command "stem:SHORTEST"
-indexinfo[0].command[17].indexname "a6"
-indexinfo[0].command[17].command "normalize"
-indexinfo[0].command[18].indexname "a6"
-indexinfo[0].command[18].command "plain-tokens"
-indexinfo[0].command[19].indexname "a7"
-indexinfo[0].command[19].command "index"
-indexinfo[0].command[20].indexname "a8"
-indexinfo[0].command[20].command "index"
-indexinfo[0].command[21].indexname "b1"
-indexinfo[0].command[21].command "index"
-indexinfo[0].command[22].indexname "b1"
-indexinfo[0].command[22].command "attribute"
-indexinfo[0].command[23].indexname "b1"
-indexinfo[0].command[23].command "word"
-indexinfo[0].command[24].indexname "b2"
-indexinfo[0].command[24].command "index"
-indexinfo[0].command[25].indexname "b2"
-indexinfo[0].command[25].command "lowercase"
-indexinfo[0].command[26].indexname "b2"
-indexinfo[0].command[26].command "stem:SHORTEST"
-indexinfo[0].command[27].indexname "b2"
-indexinfo[0].command[27].command "normalize"
-indexinfo[0].command[28].indexname "b2"
-indexinfo[0].command[28].command "plain-tokens"
-indexinfo[0].command[29].indexname "b3"
-indexinfo[0].command[29].command "index"
-indexinfo[0].command[30].indexname "b3"
-indexinfo[0].command[30].command "lowercase"
-indexinfo[0].command[31].indexname "b3"
-indexinfo[0].command[31].command "stem:SHORTEST"
-indexinfo[0].command[32].indexname "b3"
-indexinfo[0].command[32].command "normalize"
-indexinfo[0].command[33].indexname "b3"
-indexinfo[0].command[33].command "plain-tokens"
-indexinfo[0].command[34].indexname "b4"
-indexinfo[0].command[34].command "index"
-indexinfo[0].command[35].indexname "b4"
-indexinfo[0].command[35].command "attribute"
-indexinfo[0].command[36].indexname "b4"
-indexinfo[0].command[36].command "numerical"
-indexinfo[0].command[37].indexname "b5"
-indexinfo[0].command[37].command "index"
-indexinfo[0].command[38].indexname "b5"
-indexinfo[0].command[38].command "attribute"
-indexinfo[0].command[39].indexname "b5"
-indexinfo[0].command[39].command "numerical"
-indexinfo[0].command[40].indexname "b6"
-indexinfo[0].command[40].command "index"
-indexinfo[0].command[41].indexname "b6"
-indexinfo[0].command[41].command "multivalue"
-indexinfo[0].command[42].indexname "b6"
-indexinfo[0].command[42].command "attribute"
-indexinfo[0].command[43].indexname "b7"
-indexinfo[0].command[43].command "index"
-indexinfo[0].command[44].indexname "b7"
-indexinfo[0].command[44].command "multivalue"
-indexinfo[0].command[45].indexname "b7"
-indexinfo[0].command[45].command "attribute"
-indexinfo[0].command[46].indexname "a9"
-indexinfo[0].command[46].command "index"
-indexinfo[0].command[47].indexname "a9"
-indexinfo[0].command[47].command "attribute"
-indexinfo[0].command[48].indexname "a9"
-indexinfo[0].command[48].command "numerical"
-indexinfo[0].command[49].indexname "a10"
-indexinfo[0].command[49].command "index"
-indexinfo[0].command[50].indexname "a10"
-indexinfo[0].command[50].command "multivalue"
-indexinfo[0].command[51].indexname "a10"
-indexinfo[0].command[51].command "attribute"
-indexinfo[0].command[52].indexname "a10"
-indexinfo[0].command[52].command "fast-search"
-indexinfo[0].command[53].indexname "a11"
-indexinfo[0].command[53].command "index"
-indexinfo[0].command[54].indexname "a11"
-indexinfo[0].command[54].command "attribute"
-indexinfo[0].command[55].indexname "a11"
-indexinfo[0].command[55].command "numerical"
-indexinfo[0].command[56].indexname "a12"
-indexinfo[0].command[56].command "index"
-indexinfo[0].command[57].indexname "a12"
-indexinfo[0].command[57].command "attribute"
-indexinfo[0].command[58].indexname "a12"
-indexinfo[0].command[58].command "numerical"
-indexinfo[0].command[59].indexname "a7_arr"
-indexinfo[0].command[59].command "index"
-indexinfo[0].command[60].indexname "a7_arr"
-indexinfo[0].command[60].command "multivalue"
-indexinfo[0].command[61].indexname "a7_arr"
-indexinfo[0].command[61].command "attribute"
-indexinfo[0].command[62].indexname "a7_arr"
-indexinfo[0].command[62].command "word"
-indexinfo[0].command[63].indexname "a8_arr"
-indexinfo[0].command[63].command "index"
-indexinfo[0].command[64].indexname "a8_arr"
-indexinfo[0].command[64].command "multivalue"
-indexinfo[0].command[65].indexname "a8_arr"
-indexinfo[0].command[65].command "attribute"
-indexinfo[0].command[66].indexname "a8_arr"
-indexinfo[0].command[66].command "word"
-indexinfo[0].command[67].indexname "rankfeatures"
-indexinfo[0].command[67].command "index"
-indexinfo[0].command[68].indexname "summaryfeatures"
-indexinfo[0].command[68].command "index"
-indexinfo[0].command[69].indexname "default"
-indexinfo[0].command[69].command "lowercase"
-indexinfo[0].command[70].indexname "default"
-indexinfo[0].command[70].command "index"
-indexinfo[0].command[71].indexname "default"
-indexinfo[0].command[71].command "plain-tokens"
-indexinfo[0].command[72].indexname "default"
-indexinfo[0].command[72].command "stem:SHORTEST"
-indexinfo[0].command[73].indexname "default"
-indexinfo[0].command[73].command "normalize"
-indexinfo[0].alias[0].alias "date"
-indexinfo[0].alias[0].indexname "b3" \ No newline at end of file
+indexinfo[].name "attributes"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "a1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "a1"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "a2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "a2"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "a3"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "a3"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "a4"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "a5"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "a5"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "a5"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "a5"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "a5"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "a6"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "a6"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "a6"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "a6"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "a6"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "a7"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "a8"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "b1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "b1"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "b1"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "b2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "b2"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "b2"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "b2"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "b2"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "b3"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "b3"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "b3"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "b3"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "b3"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "b4"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "b4"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "b4"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "b5"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "b5"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "b5"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "b6"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "b6"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "b6"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "b7"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "b7"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "b7"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "a9"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "a9"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "a9"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "a10"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "a10"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "a10"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "a10"
+indexinfo[].command[].command "fast-search"
+indexinfo[].command[].indexname "a11"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "a11"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "a11"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "a12"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "a12"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "a12"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "a7_arr"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "a7_arr"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "a7_arr"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "a7_arr"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "a8_arr"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "a8_arr"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "a8_arr"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "a8_arr"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "rankfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "summaryfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "normalize"
+indexinfo[].alias[].alias "date"
+indexinfo[].alias[].indexname "b3"
diff --git a/config-model/src/test/derived/attributes/summarymap.cfg b/config-model/src/test/derived/attributes/summarymap.cfg
index f13a8ab0b82..a96f1e3858d 100644
--- a/config-model/src/test/derived/attributes/summarymap.cfg
+++ b/config-model/src/test/derived/attributes/summarymap.cfg
@@ -1,52 +1,52 @@
defaultoutputclass -1
-override[0].field "a1"
-override[0].command "attribute"
-override[0].arguments "a1"
-override[1].field "a2"
-override[1].command "attribute"
-override[1].arguments "a2"
-override[2].field "a3"
-override[2].command "attribute"
-override[2].arguments "a3"
-override[3].field "a5"
-override[3].command "attribute"
-override[3].arguments "a5"
-override[4].field "a6"
-override[4].command "attribute"
-override[4].arguments "a6"
-override[5].field "b1"
-override[5].command "attribute"
-override[5].arguments "b1"
-override[6].field "b2"
-override[6].command "attribute"
-override[6].arguments "b2"
-override[7].field "b3"
-override[7].command "attribute"
-override[7].arguments "b3"
-override[8].field "b4"
-override[8].command "attribute"
-override[8].arguments "b4"
-override[9].field "b5"
-override[9].command "attribute"
-override[9].arguments "b5"
-override[10].field "b6"
-override[10].command "attribute"
-override[10].arguments "b6"
-override[11].field "b7"
-override[11].command "attribute"
-override[11].arguments "b7"
-override[12].field "rankfeatures"
-override[12].command "rankfeatures"
-override[12].arguments ""
-override[13].field "summaryfeatures"
-override[13].command "summaryfeatures"
-override[13].arguments ""
-override[14].field "a9"
-override[14].command "attribute"
-override[14].arguments "a9"
-override[15].field "a11"
-override[15].command "attribute"
-override[15].arguments "a11"
-override[16].field "a12"
-override[16].command "attribute"
-override[16].arguments "a12" \ No newline at end of file
+override[].field "a1"
+override[].command "attribute"
+override[].arguments "a1"
+override[].field "a2"
+override[].command "attribute"
+override[].arguments "a2"
+override[].field "a3"
+override[].command "attribute"
+override[].arguments "a3"
+override[].field "a5"
+override[].command "attribute"
+override[].arguments "a5"
+override[].field "a6"
+override[].command "attribute"
+override[].arguments "a6"
+override[].field "b1"
+override[].command "attribute"
+override[].arguments "b1"
+override[].field "b2"
+override[].command "attribute"
+override[].arguments "b2"
+override[].field "b3"
+override[].command "attribute"
+override[].arguments "b3"
+override[].field "b4"
+override[].command "attribute"
+override[].arguments "b4"
+override[].field "b5"
+override[].command "attribute"
+override[].arguments "b5"
+override[].field "b6"
+override[].command "attribute"
+override[].arguments "b6"
+override[].field "b7"
+override[].command "attribute"
+override[].arguments "b7"
+override[].field "rankfeatures"
+override[].command "rankfeatures"
+override[].arguments ""
+override[].field "summaryfeatures"
+override[].command "summaryfeatures"
+override[].arguments ""
+override[].field "a9"
+override[].command "attribute"
+override[].arguments "a9"
+override[].field "a11"
+override[].command "attribute"
+override[].arguments "a11"
+override[].field "a12"
+override[].command "attribute"
+override[].arguments "a12"
diff --git a/config-model/src/test/derived/combinedattributeandindexsearch/index-info.cfg b/config-model/src/test/derived/combinedattributeandindexsearch/index-info.cfg
index 78b074360c4..85939113adf 100644
--- a/config-model/src/test/derived/combinedattributeandindexsearch/index-info.cfg
+++ b/config-model/src/test/derived/combinedattributeandindexsearch/index-info.cfg
@@ -1,47 +1,47 @@
-indexinfo[0].name "combinedattributeandindexsearch"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "index1"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "index1"
-indexinfo[0].command[3].command "lowercase"
-indexinfo[0].command[4].indexname "index1"
-indexinfo[0].command[4].command "stem:SHORTEST"
-indexinfo[0].command[5].indexname "index1"
-indexinfo[0].command[5].command "normalize"
-indexinfo[0].command[6].indexname "index1"
-indexinfo[0].command[6].command "plain-tokens"
-indexinfo[0].command[7].indexname "index2"
-indexinfo[0].command[7].command "index"
-indexinfo[0].command[8].indexname "index2"
-indexinfo[0].command[8].command "lowercase"
-indexinfo[0].command[9].indexname "index2"
-indexinfo[0].command[9].command "stem:SHORTEST"
-indexinfo[0].command[10].indexname "index2"
-indexinfo[0].command[10].command "normalize"
-indexinfo[0].command[11].indexname "index2"
-indexinfo[0].command[11].command "plain-tokens"
-indexinfo[0].command[12].indexname "attribute1"
-indexinfo[0].command[12].command "index"
-indexinfo[0].command[13].indexname "attribute1"
-indexinfo[0].command[13].command "attribute"
-indexinfo[0].command[14].indexname "attribute2"
-indexinfo[0].command[14].command "index"
-indexinfo[0].command[15].indexname "attribute2"
-indexinfo[0].command[15].command "attribute"
-indexinfo[0].command[16].indexname "rankfeatures"
-indexinfo[0].command[16].command "index"
-indexinfo[0].command[17].indexname "summaryfeatures"
-indexinfo[0].command[17].command "index"
-indexinfo[0].command[18].indexname "default"
-indexinfo[0].command[18].command "lowercase"
-indexinfo[0].command[19].indexname "default"
-indexinfo[0].command[19].command "index"
-indexinfo[0].command[20].indexname "default"
-indexinfo[0].command[20].command "plain-tokens"
-indexinfo[0].command[21].indexname "default"
-indexinfo[0].command[21].command "stem:SHORTEST"
-indexinfo[0].command[22].indexname "default"
-indexinfo[0].command[22].command "normalize" \ No newline at end of file
+indexinfo[].name "combinedattributeandindexsearch"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "index1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "index1"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "index1"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "index1"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "index1"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "index2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "index2"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "index2"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "index2"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "index2"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "attribute1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "attribute1"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "attribute2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "attribute2"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "rankfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "summaryfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "normalize"
diff --git a/config-model/src/test/derived/complex/attributes.cfg b/config-model/src/test/derived/complex/attributes.cfg
index 644d219ee34..83a6dde17ea 100644
--- a/config-model/src/test/derived/complex/attributes.cfg
+++ b/config-model/src/test/derived/complex/attributes.cfg
@@ -1,180 +1,180 @@
-attribute[0].name "prefixenabled"
-attribute[0].datatype STRING
-attribute[0].collectiontype SINGLE
-attribute[0].removeifzero false
-attribute[0].createifnonexistent false
-attribute[0].fastsearch false
-attribute[0].huge true
-attribute[0].sortascending true
-attribute[0].sortfunction UCA
-attribute[0].sortstrength PRIMARY
-attribute[0].sortlocale ""
-attribute[0].enablebitvectors false
-attribute[0].enableonlybitvector false
-attribute[0].fastaccess false
-attribute[0].arity 8
-attribute[0].lowerbound -9223372036854775808
-attribute[0].upperbound 9223372036854775807
-attribute[0].densepostinglistthreshold 0.4
-attribute[0].tensortype ""
-attribute[0].imported false
-attribute[1].name "fleeting"
-attribute[1].datatype FLOAT
-attribute[1].collectiontype ARRAY
-attribute[1].removeifzero false
-attribute[1].createifnonexistent false
-attribute[1].fastsearch false
-attribute[1].huge false
-attribute[1].sortascending true
-attribute[1].sortfunction UCA
-attribute[1].sortstrength PRIMARY
-attribute[1].sortlocale ""
-attribute[1].enablebitvectors false
-attribute[1].enableonlybitvector false
-attribute[1].fastaccess false
-attribute[1].arity 8
-attribute[1].lowerbound -9223372036854775808
-attribute[1].upperbound 9223372036854775807
-attribute[1].densepostinglistthreshold 0.4
-attribute[1].tensortype ""
-attribute[1].imported false
-attribute[2].name "fleeting2"
-attribute[2].datatype FLOAT
-attribute[2].collectiontype SINGLE
-attribute[2].removeifzero false
-attribute[2].createifnonexistent false
-attribute[2].fastsearch false
-attribute[2].huge false
-attribute[2].sortascending true
-attribute[2].sortfunction UCA
-attribute[2].sortstrength PRIMARY
-attribute[2].sortlocale ""
-attribute[2].enablebitvectors false
-attribute[2].enableonlybitvector false
-attribute[2].fastaccess false
-attribute[2].arity 8
-attribute[2].lowerbound -9223372036854775808
-attribute[2].upperbound 9223372036854775807
-attribute[2].densepostinglistthreshold 0.4
-attribute[2].tensortype ""
-attribute[2].imported false
-attribute[3].name "foundat"
-attribute[3].datatype INT64
-attribute[3].collectiontype SINGLE
-attribute[3].removeifzero false
-attribute[3].createifnonexistent false
-attribute[3].fastsearch false
-attribute[3].huge false
-attribute[3].sortascending true
-attribute[3].sortfunction UCA
-attribute[3].sortstrength PRIMARY
-attribute[3].sortlocale ""
-attribute[3].enablebitvectors false
-attribute[3].enableonlybitvector false
-attribute[3].fastaccess false
-attribute[3].arity 8
-attribute[3].lowerbound -9223372036854775808
-attribute[3].upperbound 9223372036854775807
-attribute[3].densepostinglistthreshold 0.4
-attribute[3].tensortype ""
-attribute[3].imported false
-attribute[4].name "collapseby"
-attribute[4].datatype INT32
-attribute[4].collectiontype SINGLE
-attribute[4].removeifzero false
-attribute[4].createifnonexistent false
-attribute[4].fastsearch false
-attribute[4].huge false
-attribute[4].sortascending true
-attribute[4].sortfunction UCA
-attribute[4].sortstrength PRIMARY
-attribute[4].sortlocale ""
-attribute[4].enablebitvectors false
-attribute[4].enableonlybitvector false
-attribute[4].fastaccess false
-attribute[4].arity 8
-attribute[4].lowerbound -9223372036854775808
-attribute[4].upperbound 9223372036854775807
-attribute[4].densepostinglistthreshold 0.4
-attribute[4].tensortype ""
-attribute[4].imported false
-attribute[5].name "ts"
-attribute[5].datatype INT64
-attribute[5].collectiontype SINGLE
-attribute[5].removeifzero false
-attribute[5].createifnonexistent false
-attribute[5].fastsearch false
-attribute[5].huge false
-attribute[5].sortascending true
-attribute[5].sortfunction UCA
-attribute[5].sortstrength PRIMARY
-attribute[5].sortlocale ""
-attribute[5].enablebitvectors false
-attribute[5].enableonlybitvector false
-attribute[5].fastaccess false
-attribute[5].arity 8
-attribute[5].lowerbound -9223372036854775808
-attribute[5].upperbound 9223372036854775807
-attribute[5].densepostinglistthreshold 0.4
-attribute[5].tensortype ""
-attribute[5].imported false
-attribute[6].name "combineda"
-attribute[6].datatype INT32
-attribute[6].collectiontype SINGLE
-attribute[6].removeifzero false
-attribute[6].createifnonexistent false
-attribute[6].fastsearch false
-attribute[6].huge false
-attribute[6].sortascending true
-attribute[6].sortfunction UCA
-attribute[6].sortstrength PRIMARY
-attribute[6].sortlocale ""
-attribute[6].enablebitvectors false
-attribute[6].enableonlybitvector false
-attribute[6].fastaccess false
-attribute[6].arity 8
-attribute[6].lowerbound -9223372036854775808
-attribute[6].upperbound 9223372036854775807
-attribute[6].densepostinglistthreshold 0.4
-attribute[6].tensortype ""
-attribute[6].imported false
-attribute[7].name "year_arr"
-attribute[7].datatype INT32
-attribute[7].collectiontype ARRAY
-attribute[7].removeifzero false
-attribute[7].createifnonexistent false
-attribute[7].fastsearch false
-attribute[7].huge false
-attribute[7].sortascending true
-attribute[7].sortfunction UCA
-attribute[7].sortstrength PRIMARY
-attribute[7].sortlocale ""
-attribute[7].enablebitvectors false
-attribute[7].enableonlybitvector false
-attribute[7].fastaccess false
-attribute[7].arity 8
-attribute[7].lowerbound -9223372036854775808
-attribute[7].upperbound 9223372036854775807
-attribute[7].densepostinglistthreshold 0.4
-attribute[7].tensortype ""
-attribute[7].imported false
-attribute[8].name "year_sub"
-attribute[8].datatype INT32
-attribute[8].collectiontype SINGLE
-attribute[8].removeifzero false
-attribute[8].createifnonexistent false
-attribute[8].fastsearch false
-attribute[8].huge false
-attribute[8].sortascending true
-attribute[8].sortfunction UCA
-attribute[8].sortstrength PRIMARY
-attribute[8].sortlocale ""
-attribute[8].enablebitvectors false
-attribute[8].enableonlybitvector false
-attribute[8].fastaccess false
-attribute[8].arity 8
-attribute[8].lowerbound -9223372036854775808
-attribute[8].upperbound 9223372036854775807
-attribute[8].densepostinglistthreshold 0.4
-attribute[8].tensortype ""
-attribute[8].imported false \ No newline at end of file
+attribute[].name "prefixenabled"
+attribute[].datatype STRING
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge true
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "fleeting"
+attribute[].datatype FLOAT
+attribute[].collectiontype ARRAY
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "fleeting2"
+attribute[].datatype FLOAT
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "foundat"
+attribute[].datatype INT64
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "collapseby"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "ts"
+attribute[].datatype INT64
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "combineda"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "year_arr"
+attribute[].datatype INT32
+attribute[].collectiontype ARRAY
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "year_sub"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
diff --git a/config-model/src/test/derived/complex/documentmanager.cfg b/config-model/src/test/derived/complex/documentmanager.cfg
index e47f40f100a..a6c3999c45f 100644
--- a/config-model/src/test/derived/complex/documentmanager.cfg
+++ b/config-model/src/test/derived/complex/documentmanager.cfg
@@ -1,148 +1,148 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
-datatype[1].id 1650586661
-datatype[1].arraytype[0].datatype 1
-datatype[2].id -1245117006
-datatype[2].arraytype[0].datatype 0
-datatype[3].id -1749463923
-datatype[3].structtype[0].name "complex.header"
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].compresstype NONE
-datatype[3].structtype[0].compresslevel 0
-datatype[3].structtype[0].compressthreshold 95
-datatype[3].structtype[0].compressminsize 800
-datatype[3].structtype[0].field[0].name "title"
-datatype[3].structtype[0].field[0].datatype 2
-datatype[3].structtype[0].field[0].detailedtype ""
-datatype[3].structtype[0].field[1].name "location"
-datatype[3].structtype[0].field[1].datatype 2
-datatype[3].structtype[0].field[1].detailedtype ""
-datatype[3].structtype[0].field[2].name "dyntitle"
-datatype[3].structtype[0].field[2].datatype 2
-datatype[3].structtype[0].field[2].detailedtype ""
-datatype[3].structtype[0].field[3].name "special1"
-datatype[3].structtype[0].field[3].datatype 2
-datatype[3].structtype[0].field[3].detailedtype ""
-datatype[3].structtype[0].field[4].name "special2"
-datatype[3].structtype[0].field[4].datatype 2
-datatype[3].structtype[0].field[4].detailedtype ""
-datatype[3].structtype[0].field[5].name "special3"
-datatype[3].structtype[0].field[5].datatype 2
-datatype[3].structtype[0].field[5].detailedtype ""
-datatype[3].structtype[0].field[6].name "prefixenabled"
-datatype[3].structtype[0].field[6].datatype 2
-datatype[3].structtype[0].field[6].detailedtype ""
-datatype[3].structtype[0].field[7].name "source"
-datatype[3].structtype[0].field[7].datatype 10
-datatype[3].structtype[0].field[7].detailedtype ""
-datatype[3].structtype[0].field[8].name "docurl"
-datatype[3].structtype[0].field[8].datatype 10
-datatype[3].structtype[0].field[8].detailedtype ""
-datatype[3].structtype[0].field[9].name "fleeting"
-datatype[3].structtype[0].field[9].datatype 1650586661
-datatype[3].structtype[0].field[9].detailedtype ""
-datatype[3].structtype[0].field[10].name "fleeting2"
-datatype[3].structtype[0].field[10].datatype 1
-datatype[3].structtype[0].field[10].detailedtype ""
-datatype[3].structtype[0].field[11].name "foundat"
-datatype[3].structtype[0].field[11].datatype 4
-datatype[3].structtype[0].field[11].detailedtype ""
-datatype[3].structtype[0].field[12].name "collapseby"
-datatype[3].structtype[0].field[12].datatype 0
-datatype[3].structtype[0].field[12].detailedtype ""
-datatype[3].structtype[0].field[13].name "yEaR"
-datatype[3].structtype[0].field[13].datatype 0
-datatype[3].structtype[0].field[13].detailedtype ""
-datatype[3].structtype[0].field[14].name "stringfield"
-datatype[3].structtype[0].field[14].datatype 2
-datatype[3].structtype[0].field[14].detailedtype ""
-datatype[3].structtype[0].field[15].name "exactemento"
-datatype[3].structtype[0].field[15].datatype 2
-datatype[3].structtype[0].field[15].detailedtype ""
-datatype[3].structtype[0].field[16].name "exactagain"
-datatype[3].structtype[0].field[16].datatype 2
-datatype[3].structtype[0].field[16].detailedtype ""
-datatype[3].structtype[0].field[17].name "ts"
-datatype[3].structtype[0].field[17].datatype 4
-datatype[3].structtype[0].field[17].detailedtype ""
-datatype[3].structtype[0].field[18].name "combineda"
-datatype[3].structtype[0].field[18].datatype 0
-datatype[3].structtype[0].field[18].detailedtype ""
-datatype[3].structtype[0].field[19].name "combinedb"
-datatype[3].structtype[0].field[19].datatype 2
-datatype[3].structtype[0].field[19].detailedtype ""
-datatype[3].structtype[0].field[20].name "category"
-datatype[3].structtype[0].field[20].datatype 2
-datatype[3].structtype[0].field[20].detailedtype ""
-datatype[3].structtype[0].field[21].name "woe"
-datatype[3].structtype[0].field[21].datatype 2
-datatype[3].structtype[0].field[21].detailedtype ""
-datatype[3].structtype[0].field[22].name "year_sub"
-datatype[3].structtype[0].field[22].datatype 0
-datatype[3].structtype[0].field[22].detailedtype ""
-datatype[3].structtype[0].field[23].name "year_arr"
-datatype[3].structtype[0].field[23].datatype -1245117006
-datatype[3].structtype[0].field[23].detailedtype ""
-datatype[3].structtype[0].field[24].name "exact"
-datatype[3].structtype[0].field[24].datatype 2
-datatype[3].structtype[0].field[24].detailedtype ""
-datatype[3].structtype[0].field[25].name "rankfeatures"
-datatype[3].structtype[0].field[25].datatype 2
-datatype[3].structtype[0].field[25].detailedtype ""
-datatype[3].structtype[0].field[26].name "summaryfeatures"
-datatype[3].structtype[0].field[26].datatype 2
-datatype[3].structtype[0].field[26].detailedtype ""
-datatype[4].id -1665926686
-datatype[4].structtype[0].name "complex.body"
-datatype[4].structtype[0].version 0
-datatype[4].structtype[0].compresstype NONE
-datatype[4].structtype[0].compresslevel 0
-datatype[4].structtype[0].compressthreshold 95
-datatype[4].structtype[0].compressminsize 800
-datatype[5].id -1402929550
-datatype[5].documenttype[0].name "complex"
-datatype[5].documenttype[0].version 0
-datatype[5].documenttype[0].inherits[0].name "document"
-datatype[5].documenttype[0].inherits[0].version 0
-datatype[5].documenttype[0].headerstruct -1749463923
-datatype[5].documenttype[0].bodystruct -1665926686
-datatype[5].documenttype[0].fieldsets{default}.fields[0] "stringfield"
-datatype[5].documenttype[0].fieldsets{default}.fields[1] "title"
-datatype[5].documenttype[0].fieldsets{special}.fields[0] "special1"
-datatype[5].documenttype[0].fieldsets{special}.fields[1] "special2"
-datatype[5].documenttype[0].fieldsets{special}.fields[2] "special3"
-datatype[5].documenttype[0].fieldsets{all}.fields[0] "combineda"
-datatype[5].documenttype[0].fieldsets{all}.fields[1] "combinedb"
-datatype[5].documenttype[0].fieldsets{[document]}.fields[0] "category"
-datatype[5].documenttype[0].fieldsets{[document]}.fields[1] "collapseby"
-datatype[5].documenttype[0].fieldsets{[document]}.fields[2] "combineda"
-datatype[5].documenttype[0].fieldsets{[document]}.fields[3] "combinedb"
-datatype[5].documenttype[0].fieldsets{[document]}.fields[4] "docurl"
-datatype[5].documenttype[0].fieldsets{[document]}.fields[5] "dyntitle"
-datatype[5].documenttype[0].fieldsets{[document]}.fields[6] "exactagain"
-datatype[5].documenttype[0].fieldsets{[document]}.fields[7] "exactemento"
-datatype[5].documenttype[0].fieldsets{[document]}.fields[8] "fleeting"
-datatype[5].documenttype[0].fieldsets{[document]}.fields[9] "fleeting2"
-datatype[5].documenttype[0].fieldsets{[document]}.fields[10] "foundat"
-datatype[5].documenttype[0].fieldsets{[document]}.fields[11] "location"
-datatype[5].documenttype[0].fieldsets{[document]}.fields[12] "prefixenabled"
-datatype[5].documenttype[0].fieldsets{[document]}.fields[13] "source"
-datatype[5].documenttype[0].fieldsets{[document]}.fields[14] "special1"
-datatype[5].documenttype[0].fieldsets{[document]}.fields[15] "special2"
-datatype[5].documenttype[0].fieldsets{[document]}.fields[16] "special3"
-datatype[5].documenttype[0].fieldsets{[document]}.fields[17] "stringfield"
-datatype[5].documenttype[0].fieldsets{[document]}.fields[18] "title"
-datatype[5].documenttype[0].fieldsets{[document]}.fields[19] "ts"
-datatype[5].documenttype[0].fieldsets{[document]}.fields[20] "yEaR"
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 1650586661
+datatype[].arraytype[].datatype 1
+datatype[].id -1245117006
+datatype[].arraytype[].datatype 0
+datatype[].id -1749463923
+datatype[].structtype[].name "complex.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "title"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "location"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "dyntitle"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "special1"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "special2"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "special3"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "prefixenabled"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "source"
+datatype[].structtype[].field[].datatype 10
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "docurl"
+datatype[].structtype[].field[].datatype 10
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "fleeting"
+datatype[].structtype[].field[].datatype 1650586661
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "fleeting2"
+datatype[].structtype[].field[].datatype 1
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "foundat"
+datatype[].structtype[].field[].datatype 4
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "collapseby"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "yEaR"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "stringfield"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "exactemento"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "exactagain"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "ts"
+datatype[].structtype[].field[].datatype 4
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "combineda"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "combinedb"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "category"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "woe"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "year_sub"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "year_arr"
+datatype[].structtype[].field[].datatype -1245117006
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "exact"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -1665926686
+datatype[].structtype[].name "complex.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id -1402929550
+datatype[].documenttype[].name "complex"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct -1749463923
+datatype[].documenttype[].bodystruct -1665926686
+datatype[].documenttype[].fieldsets{default}.fields[0] "stringfield"
+datatype[].documenttype[].fieldsets{default}.fields[1] "title"
+datatype[].documenttype[].fieldsets{special}.fields[0] "special1"
+datatype[].documenttype[].fieldsets{special}.fields[1] "special2"
+datatype[].documenttype[].fieldsets{special}.fields[2] "special3"
+datatype[].documenttype[].fieldsets{all}.fields[0] "combineda"
+datatype[].documenttype[].fieldsets{all}.fields[1] "combinedb"
+datatype[].documenttype[].fieldsets{[document]}.fields[0] "category"
+datatype[].documenttype[].fieldsets{[document]}.fields[1] "collapseby"
+datatype[].documenttype[].fieldsets{[document]}.fields[2] "combineda"
+datatype[].documenttype[].fieldsets{[document]}.fields[3] "combinedb"
+datatype[].documenttype[].fieldsets{[document]}.fields[4] "docurl"
+datatype[].documenttype[].fieldsets{[document]}.fields[5] "dyntitle"
+datatype[].documenttype[].fieldsets{[document]}.fields[6] "exactagain"
+datatype[].documenttype[].fieldsets{[document]}.fields[7] "exactemento"
+datatype[].documenttype[].fieldsets{[document]}.fields[8] "fleeting"
+datatype[].documenttype[].fieldsets{[document]}.fields[9] "fleeting2"
+datatype[].documenttype[].fieldsets{[document]}.fields[10] "foundat"
+datatype[].documenttype[].fieldsets{[document]}.fields[11] "location"
+datatype[].documenttype[].fieldsets{[document]}.fields[12] "prefixenabled"
+datatype[].documenttype[].fieldsets{[document]}.fields[13] "source"
+datatype[].documenttype[].fieldsets{[document]}.fields[14] "special1"
+datatype[].documenttype[].fieldsets{[document]}.fields[15] "special2"
+datatype[].documenttype[].fieldsets{[document]}.fields[16] "special3"
+datatype[].documenttype[].fieldsets{[document]}.fields[17] "stringfield"
+datatype[].documenttype[].fieldsets{[document]}.fields[18] "title"
+datatype[].documenttype[].fieldsets{[document]}.fields[19] "ts"
+datatype[].documenttype[].fieldsets{[document]}.fields[20] "yEaR"
diff --git a/config-model/src/test/derived/complex/ilscripts.cfg b/config-model/src/test/derived/complex/ilscripts.cfg
index 4341af4ce87..fec528018fb 100644
--- a/config-model/src/test/derived/complex/ilscripts.cfg
+++ b/config-model/src/test/derived/complex/ilscripts.cfg
@@ -1,49 +1,49 @@
maxtermoccurrences 100
fieldmatchmaxlength 1000000
-ilscript[0].doctype "complex"
-ilscript[0].docfield[0] "title"
-ilscript[0].docfield[1] "location"
-ilscript[0].docfield[2] "dyntitle"
-ilscript[0].docfield[3] "special1"
-ilscript[0].docfield[4] "special2"
-ilscript[0].docfield[5] "special3"
-ilscript[0].docfield[6] "prefixenabled"
-ilscript[0].docfield[7] "source"
-ilscript[0].docfield[8] "docurl"
-ilscript[0].docfield[9] "fleeting"
-ilscript[0].docfield[10] "fleeting2"
-ilscript[0].docfield[11] "foundat"
-ilscript[0].docfield[12] "collapseby"
-ilscript[0].docfield[13] "yEaR"
-ilscript[0].docfield[14] "stringfield"
-ilscript[0].docfield[15] "exactemento"
-ilscript[0].docfield[16] "exactagain"
-ilscript[0].docfield[17] "ts"
-ilscript[0].docfield[18] "combineda"
-ilscript[0].docfield[19] "combinedb"
-ilscript[0].docfield[20] "category"
-ilscript[0].content[0] "clear_state | guard { input title . input category | tokenize | summary exact | index exact; }"
-ilscript[0].content[1] "clear_state | guard { input location | tokenize normalize stem:\"SHORTEST\" | summary woe | index woe; }"
-ilscript[0].content[2] "clear_state | guard { input yEaR | to_array | attribute year_arr; }"
-ilscript[0].content[3] "clear_state | guard { input yEaR - 1900 | attribute year_sub; }"
-ilscript[0].content[4] "clear_state | guard { input title | tokenize normalize stem:\"SHORTEST\" | index title | summary title; }"
-ilscript[0].content[5] "clear_state | guard { input dyntitle | tokenize normalize stem:\"SHORTEST\" | summary dyntitle; }"
-ilscript[0].content[6] "clear_state | guard { input special1 | tokenize normalize | index special1; }"
-ilscript[0].content[7] "clear_state | guard { input special2 | tokenize normalize | index special2; }"
-ilscript[0].content[8] "clear_state | guard { input special3 | tokenize normalize | index special3; }"
-ilscript[0].content[9] "clear_state | guard { input prefixenabled | tokenize stem:\"SHORTEST\" | index prefixenabled | attribute prefixenabled; }"
-ilscript[0].content[10] "clear_state | guard { input source | summary source | index source; }"
-ilscript[0].content[11] "clear_state | guard { input docurl | index docurl; }"
-ilscript[0].content[12] "clear_state | guard { input fleeting | attribute fleeting; }"
-ilscript[0].content[13] "clear_state | guard { input fleeting2 | attribute fleeting2; }"
-ilscript[0].content[14] "clear_state | guard { input foundat | attribute foundat; }"
-ilscript[0].content[15] "clear_state | guard { input collapseby | attribute collapseby; }"
-ilscript[0].content[16] "clear_state | guard { input stringfield | tokenize normalize stem:\"SHORTEST\" | summary stringfield | index stringfield; }"
-ilscript[0].content[17] "clear_state | guard { input exactemento | tokenize normalize stem:\"SHORTEST\" | index exactemento; }"
-ilscript[0].content[18] "clear_state | guard { input exactagain | tokenize normalize stem:\"SHORTEST\" | index exactagain; }"
-ilscript[0].content[19] "clear_state | guard { input ts | attribute ts; }"
-ilscript[0].content[20] "clear_state | guard { input combineda | attribute combineda; }"
-ilscript[0].content[21] "clear_state | guard { input combinedb | tokenize normalize stem:\"SHORTEST\" | index combinedb; }"
-ilscript[0].content[22] "input category | passthrough category"
-ilscript[0].content[23] "input location | passthrough location"
-ilscript[0].content[24] "input yEaR | passthrough yEaR"
+ilscript[].doctype "complex"
+ilscript[].docfield[0] "title"
+ilscript[].docfield[1] "location"
+ilscript[].docfield[2] "dyntitle"
+ilscript[].docfield[3] "special1"
+ilscript[].docfield[4] "special2"
+ilscript[].docfield[5] "special3"
+ilscript[].docfield[6] "prefixenabled"
+ilscript[].docfield[7] "source"
+ilscript[].docfield[8] "docurl"
+ilscript[].docfield[9] "fleeting"
+ilscript[].docfield[10] "fleeting2"
+ilscript[].docfield[11] "foundat"
+ilscript[].docfield[12] "collapseby"
+ilscript[].docfield[13] "yEaR"
+ilscript[].docfield[14] "stringfield"
+ilscript[].docfield[15] "exactemento"
+ilscript[].docfield[16] "exactagain"
+ilscript[].docfield[17] "ts"
+ilscript[].docfield[18] "combineda"
+ilscript[].docfield[19] "combinedb"
+ilscript[].docfield[20] "category"
+ilscript[].content[0] "clear_state | guard { input title . input category | tokenize | summary exact | index exact; }"
+ilscript[].content[1] "clear_state | guard { input location | tokenize normalize stem:\"SHORTEST\" | summary woe | index woe; }"
+ilscript[].content[2] "clear_state | guard { input yEaR | to_array | attribute year_arr; }"
+ilscript[].content[3] "clear_state | guard { input yEaR - 1900 | attribute year_sub; }"
+ilscript[].content[4] "clear_state | guard { input title | tokenize normalize stem:\"SHORTEST\" | index title | summary title; }"
+ilscript[].content[5] "clear_state | guard { input dyntitle | tokenize normalize stem:\"SHORTEST\" | summary dyntitle; }"
+ilscript[].content[6] "clear_state | guard { input special1 | tokenize normalize | index special1; }"
+ilscript[].content[7] "clear_state | guard { input special2 | tokenize normalize | index special2; }"
+ilscript[].content[8] "clear_state | guard { input special3 | tokenize normalize | index special3; }"
+ilscript[].content[9] "clear_state | guard { input prefixenabled | tokenize stem:\"SHORTEST\" | index prefixenabled | attribute prefixenabled; }"
+ilscript[].content[10] "clear_state | guard { input source | summary source | index source; }"
+ilscript[].content[11] "clear_state | guard { input docurl | index docurl; }"
+ilscript[].content[12] "clear_state | guard { input fleeting | attribute fleeting; }"
+ilscript[].content[13] "clear_state | guard { input fleeting2 | attribute fleeting2; }"
+ilscript[].content[14] "clear_state | guard { input foundat | attribute foundat; }"
+ilscript[].content[15] "clear_state | guard { input collapseby | attribute collapseby; }"
+ilscript[].content[16] "clear_state | guard { input stringfield | tokenize normalize stem:\"SHORTEST\" | summary stringfield | index stringfield; }"
+ilscript[].content[17] "clear_state | guard { input exactemento | tokenize normalize stem:\"SHORTEST\" | index exactemento; }"
+ilscript[].content[18] "clear_state | guard { input exactagain | tokenize normalize stem:\"SHORTEST\" | index exactagain; }"
+ilscript[].content[19] "clear_state | guard { input ts | attribute ts; }"
+ilscript[].content[20] "clear_state | guard { input combineda | attribute combineda; }"
+ilscript[].content[21] "clear_state | guard { input combinedb | tokenize normalize stem:\"SHORTEST\" | index combinedb; }"
+ilscript[].content[22] "input category | passthrough category"
+ilscript[].content[23] "input location | passthrough location"
+ilscript[].content[24] "input yEaR | passthrough yEaR"
diff --git a/config-model/src/test/derived/complex/rank-profiles.cfg b/config-model/src/test/derived/complex/rank-profiles.cfg
index a317bfeb18e..1704045eb5e 100644
--- a/config-model/src/test/derived/complex/rank-profiles.cfg
+++ b/config-model/src/test/derived/complex/rank-profiles.cfg
@@ -1,68 +1,68 @@
-rankprofile[0].name "default"
-rankprofile[0].fef.property[0].name "nativeFieldMatch.firstOccurrenceTable.exact"
-rankprofile[0].fef.property[0].value "expdecay(100,12.50)"
-rankprofile[0].fef.property[1].name "nativeFieldMatch.occurrenceCountTable.exact"
-rankprofile[0].fef.property[1].value "loggrowth(1500,4000,19)"
-rankprofile[0].fef.property[2].name "nativeProximity.proximityTable.exact"
-rankprofile[0].fef.property[2].value "expdecay(5000,3)"
-rankprofile[0].fef.property[3].name "nativeProximity.reverseProximityTable.exact"
-rankprofile[0].fef.property[3].value "expdecay(3000,3)"
-rankprofile[0].fef.property[4].name "nativeFieldMatch.firstOccurrenceTable.title"
-rankprofile[0].fef.property[4].value "expdecay(8000,12.50)"
-rankprofile[0].fef.property[5].name "nativeFieldMatch.occurrenceCountTable.title"
-rankprofile[0].fef.property[5].value "loggrowth(1500,4000,19)"
-rankprofile[0].fef.property[6].name "nativeProximity.proximityTable.title"
-rankprofile[0].fef.property[6].value "expdecay(500,3)"
-rankprofile[0].fef.property[7].name "nativeProximity.reverseProximityTable.title"
-rankprofile[0].fef.property[7].value "expdecay(400,3)"
-rankprofile[1].name "unranked"
-rankprofile[1].fef.property[0].name "vespa.rank.firstphase"
-rankprofile[1].fef.property[0].value "value(0)"
-rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize"
-rankprofile[1].fef.property[1].value "0"
-rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize"
-rankprofile[1].fef.property[2].value "0"
-rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures"
-rankprofile[1].fef.property[3].value "true"
-rankprofile[2].name "experimental"
-rankprofile[2].fef.property[0].name "nativeFieldMatch.firstOccurrenceTable.exact"
-rankprofile[2].fef.property[0].value "expdecay(100,12.50)"
-rankprofile[2].fef.property[1].name "nativeFieldMatch.occurrenceCountTable.exact"
-rankprofile[2].fef.property[1].value "loggrowth(1500,4000,19)"
-rankprofile[2].fef.property[2].name "nativeProximity.proximityTable.exact"
-rankprofile[2].fef.property[2].value "expdecay(5000,3)"
-rankprofile[2].fef.property[3].name "nativeProximity.reverseProximityTable.exact"
-rankprofile[2].fef.property[3].value "expdecay(3000,3)"
-rankprofile[2].fef.property[4].name "nativeFieldMatch.firstOccurrenceTable.title"
-rankprofile[2].fef.property[4].value "expdecay(8000,12.50)"
-rankprofile[2].fef.property[5].name "nativeFieldMatch.occurrenceCountTable.title"
-rankprofile[2].fef.property[5].value "loggrowth(1500,4000,19)"
-rankprofile[2].fef.property[6].name "nativeProximity.proximityTable.title"
-rankprofile[2].fef.property[6].value "expdecay(500,3)"
-rankprofile[2].fef.property[7].name "nativeProximity.reverseProximityTable.title"
-rankprofile[2].fef.property[7].value "expdecay(400,3)"
-rankprofile[3].name "other"
-rankprofile[3].fef.property[0].name "nativeFieldMatch.firstOccurrenceTable.source"
-rankprofile[3].fef.property[0].value "expdecay(100,12.50)"
-rankprofile[3].fef.property[1].name "nativeFieldMatch.occurrenceCountTable.source"
-rankprofile[3].fef.property[1].value "loggrowth(1500,4000,19)"
-rankprofile[3].fef.property[2].name "nativeProximity.proximityTable.source"
-rankprofile[3].fef.property[2].value "expdecay(5000,3)"
-rankprofile[3].fef.property[3].name "nativeProximity.reverseProximityTable.source"
-rankprofile[3].fef.property[3].value "expdecay(3000,3)"
-rankprofile[3].fef.property[4].name "nativeFieldMatch.firstOccurrenceTable.exact"
-rankprofile[3].fef.property[4].value "expdecay(100,12.50)"
-rankprofile[3].fef.property[5].name "nativeFieldMatch.occurrenceCountTable.exact"
-rankprofile[3].fef.property[5].value "loggrowth(1500,4000,19)"
-rankprofile[3].fef.property[6].name "nativeProximity.proximityTable.exact"
-rankprofile[3].fef.property[6].value "expdecay(5000,3)"
-rankprofile[3].fef.property[7].name "nativeProximity.reverseProximityTable.exact"
-rankprofile[3].fef.property[7].value "expdecay(3000,3)"
-rankprofile[3].fef.property[8].name "nativeFieldMatch.firstOccurrenceTable.title"
-rankprofile[3].fef.property[8].value "expdecay(8000,12.50)"
-rankprofile[3].fef.property[9].name "nativeFieldMatch.occurrenceCountTable.title"
-rankprofile[3].fef.property[9].value "loggrowth(1500,4000,19)"
-rankprofile[3].fef.property[10].name "nativeProximity.proximityTable.title"
-rankprofile[3].fef.property[10].value "expdecay(500,3)"
-rankprofile[3].fef.property[11].name "nativeProximity.reverseProximityTable.title"
-rankprofile[3].fef.property[11].value "expdecay(400,3)" \ No newline at end of file
+rankprofile[].name "default"
+rankprofile[].fef.property[].name "nativeFieldMatch.firstOccurrenceTable.exact"
+rankprofile[].fef.property[].value "expdecay(100,12.50)"
+rankprofile[].fef.property[].name "nativeFieldMatch.occurrenceCountTable.exact"
+rankprofile[].fef.property[].value "loggrowth(1500,4000,19)"
+rankprofile[].fef.property[].name "nativeProximity.proximityTable.exact"
+rankprofile[].fef.property[].value "expdecay(5000,3)"
+rankprofile[].fef.property[].name "nativeProximity.reverseProximityTable.exact"
+rankprofile[].fef.property[].value "expdecay(3000,3)"
+rankprofile[].fef.property[].name "nativeFieldMatch.firstOccurrenceTable.title"
+rankprofile[].fef.property[].value "expdecay(8000,12.50)"
+rankprofile[].fef.property[].name "nativeFieldMatch.occurrenceCountTable.title"
+rankprofile[].fef.property[].value "loggrowth(1500,4000,19)"
+rankprofile[].fef.property[].name "nativeProximity.proximityTable.title"
+rankprofile[].fef.property[].value "expdecay(500,3)"
+rankprofile[].fef.property[].name "nativeProximity.reverseProximityTable.title"
+rankprofile[].fef.property[].value "expdecay(400,3)"
+rankprofile[].name "unranked"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "value(0)"
+rankprofile[].fef.property[].name "vespa.hitcollector.heapsize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.hitcollector.arraysize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.dump.ignoredefaultfeatures"
+rankprofile[].fef.property[].value "true"
+rankprofile[].name "experimental"
+rankprofile[].fef.property[].name "nativeFieldMatch.firstOccurrenceTable.exact"
+rankprofile[].fef.property[].value "expdecay(100,12.50)"
+rankprofile[].fef.property[].name "nativeFieldMatch.occurrenceCountTable.exact"
+rankprofile[].fef.property[].value "loggrowth(1500,4000,19)"
+rankprofile[].fef.property[].name "nativeProximity.proximityTable.exact"
+rankprofile[].fef.property[].value "expdecay(5000,3)"
+rankprofile[].fef.property[].name "nativeProximity.reverseProximityTable.exact"
+rankprofile[].fef.property[].value "expdecay(3000,3)"
+rankprofile[].fef.property[].name "nativeFieldMatch.firstOccurrenceTable.title"
+rankprofile[].fef.property[].value "expdecay(8000,12.50)"
+rankprofile[].fef.property[].name "nativeFieldMatch.occurrenceCountTable.title"
+rankprofile[].fef.property[].value "loggrowth(1500,4000,19)"
+rankprofile[].fef.property[].name "nativeProximity.proximityTable.title"
+rankprofile[].fef.property[].value "expdecay(500,3)"
+rankprofile[].fef.property[].name "nativeProximity.reverseProximityTable.title"
+rankprofile[].fef.property[].value "expdecay(400,3)"
+rankprofile[].name "other"
+rankprofile[].fef.property[].name "nativeFieldMatch.firstOccurrenceTable.source"
+rankprofile[].fef.property[].value "expdecay(100,12.50)"
+rankprofile[].fef.property[].name "nativeFieldMatch.occurrenceCountTable.source"
+rankprofile[].fef.property[].value "loggrowth(1500,4000,19)"
+rankprofile[].fef.property[].name "nativeProximity.proximityTable.source"
+rankprofile[].fef.property[].value "expdecay(5000,3)"
+rankprofile[].fef.property[].name "nativeProximity.reverseProximityTable.source"
+rankprofile[].fef.property[].value "expdecay(3000,3)"
+rankprofile[].fef.property[].name "nativeFieldMatch.firstOccurrenceTable.exact"
+rankprofile[].fef.property[].value "expdecay(100,12.50)"
+rankprofile[].fef.property[].name "nativeFieldMatch.occurrenceCountTable.exact"
+rankprofile[].fef.property[].value "loggrowth(1500,4000,19)"
+rankprofile[].fef.property[].name "nativeProximity.proximityTable.exact"
+rankprofile[].fef.property[].value "expdecay(5000,3)"
+rankprofile[].fef.property[].name "nativeProximity.reverseProximityTable.exact"
+rankprofile[].fef.property[].value "expdecay(3000,3)"
+rankprofile[].fef.property[].name "nativeFieldMatch.firstOccurrenceTable.title"
+rankprofile[].fef.property[].value "expdecay(8000,12.50)"
+rankprofile[].fef.property[].name "nativeFieldMatch.occurrenceCountTable.title"
+rankprofile[].fef.property[].value "loggrowth(1500,4000,19)"
+rankprofile[].fef.property[].name "nativeProximity.proximityTable.title"
+rankprofile[].fef.property[].value "expdecay(500,3)"
+rankprofile[].fef.property[].name "nativeProximity.reverseProximityTable.title"
+rankprofile[].fef.property[].value "expdecay(400,3)"
diff --git a/config-model/src/test/derived/complex/summary.cfg b/config-model/src/test/derived/complex/summary.cfg
index 1cf6ad457b3..ff14dbba419 100644
--- a/config-model/src/test/derived/complex/summary.cfg
+++ b/config-model/src/test/derived/complex/summary.cfg
@@ -1,43 +1,43 @@
defaultsummaryid 1506848752
-classes[0].id 1506848752
-classes[0].name "default"
-classes[0].fields[0].name "woe"
-classes[0].fields[0].type "longstring"
-classes[0].fields[1].name "exact"
-classes[0].fields[1].type "longstring"
-classes[0].fields[2].name "title"
-classes[0].fields[2].type "longstring"
-classes[0].fields[3].name "dyntitle"
-classes[0].fields[3].type "longstring"
-classes[0].fields[4].name "source"
-classes[0].fields[4].type "longstring"
-classes[0].fields[5].name "stringfield"
-classes[0].fields[5].type "longstring"
-classes[0].fields[6].name "rankfeatures"
-classes[0].fields[6].type "featuredata"
-classes[0].fields[7].name "summaryfeatures"
-classes[0].fields[7].type "featuredata"
-classes[0].fields[8].name "documentid"
-classes[0].fields[8].type "longstring"
-classes[1].id 28214929
-classes[1].name "attributeprefetch"
-classes[1].fields[0].name "year_sub"
-classes[1].fields[0].type "integer"
-classes[1].fields[1].name "prefixenabled"
-classes[1].fields[1].type "longstring"
-classes[1].fields[2].name "fleeting"
-classes[1].fields[2].type "jsonstring"
-classes[1].fields[3].name "fleeting2"
-classes[1].fields[3].type "float"
-classes[1].fields[4].name "foundat"
-classes[1].fields[4].type "int64"
-classes[1].fields[5].name "collapseby"
-classes[1].fields[5].type "integer"
-classes[1].fields[6].name "ts"
-classes[1].fields[6].type "int64"
-classes[1].fields[7].name "combineda"
-classes[1].fields[7].type "integer"
-classes[1].fields[8].name "rankfeatures"
-classes[1].fields[8].type "featuredata"
-classes[1].fields[9].name "summaryfeatures"
-classes[1].fields[9].type "featuredata" \ No newline at end of file
+classes[].id 1506848752
+classes[].name "default"
+classes[].fields[].name "woe"
+classes[].fields[].type "longstring"
+classes[].fields[].name "exact"
+classes[].fields[].type "longstring"
+classes[].fields[].name "title"
+classes[].fields[].type "longstring"
+classes[].fields[].name "dyntitle"
+classes[].fields[].type "longstring"
+classes[].fields[].name "source"
+classes[].fields[].type "longstring"
+classes[].fields[].name "stringfield"
+classes[].fields[].type "longstring"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "documentid"
+classes[].fields[].type "longstring"
+classes[].id 28214929
+classes[].name "attributeprefetch"
+classes[].fields[].name "year_sub"
+classes[].fields[].type "integer"
+classes[].fields[].name "prefixenabled"
+classes[].fields[].type "longstring"
+classes[].fields[].name "fleeting"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "fleeting2"
+classes[].fields[].type "float"
+classes[].fields[].name "foundat"
+classes[].fields[].type "int64"
+classes[].fields[].name "collapseby"
+classes[].fields[].type "integer"
+classes[].fields[].name "ts"
+classes[].fields[].type "int64"
+classes[].fields[].name "combineda"
+classes[].fields[].type "integer"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
diff --git a/config-model/src/test/derived/complex/summarymap.cfg b/config-model/src/test/derived/complex/summarymap.cfg
index 37721347b1c..1d4b57a49a7 100644
--- a/config-model/src/test/derived/complex/summarymap.cfg
+++ b/config-model/src/test/derived/complex/summarymap.cfg
@@ -1,34 +1,34 @@
defaultoutputclass -1
-override[0].field "dyntitle"
-override[0].command "dynamicteaser"
-override[0].arguments "dyntitle"
-override[1].field "rankfeatures"
-override[1].command "rankfeatures"
-override[1].arguments ""
-override[2].field "summaryfeatures"
-override[2].command "summaryfeatures"
-override[2].arguments ""
-override[3].field "year_sub"
-override[3].command "attribute"
-override[3].arguments "year_sub"
-override[4].field "prefixenabled"
-override[4].command "attribute"
-override[4].arguments "prefixenabled"
-override[5].field "fleeting"
-override[5].command "attribute"
-override[5].arguments "fleeting"
-override[6].field "fleeting2"
-override[6].command "attribute"
-override[6].arguments "fleeting2"
-override[7].field "foundat"
-override[7].command "attribute"
-override[7].arguments "foundat"
-override[8].field "collapseby"
-override[8].command "attribute"
-override[8].arguments "collapseby"
-override[9].field "ts"
-override[9].command "attribute"
-override[9].arguments "ts"
-override[10].field "combineda"
-override[10].command "attribute"
-override[10].arguments "combineda" \ No newline at end of file
+override[].field "dyntitle"
+override[].command "dynamicteaser"
+override[].arguments "dyntitle"
+override[].field "rankfeatures"
+override[].command "rankfeatures"
+override[].arguments ""
+override[].field "summaryfeatures"
+override[].command "summaryfeatures"
+override[].arguments ""
+override[].field "year_sub"
+override[].command "attribute"
+override[].arguments "year_sub"
+override[].field "prefixenabled"
+override[].command "attribute"
+override[].arguments "prefixenabled"
+override[].field "fleeting"
+override[].command "attribute"
+override[].arguments "fleeting"
+override[].field "fleeting2"
+override[].command "attribute"
+override[].arguments "fleeting2"
+override[].field "foundat"
+override[].command "attribute"
+override[].arguments "foundat"
+override[].field "collapseby"
+override[].command "attribute"
+override[].arguments "collapseby"
+override[].field "ts"
+override[].command "attribute"
+override[].arguments "ts"
+override[].field "combineda"
+override[].command "attribute"
+override[].arguments "combineda"
diff --git a/config-model/src/test/derived/documentderiver/documentmanager.cfg b/config-model/src/test/derived/documentderiver/documentmanager.cfg
index f993b465111..2ab99b75aef 100644
--- a/config-model/src/test/derived/documentderiver/documentmanager.cfg
+++ b/config-model/src/test/derived/documentderiver/documentmanager.cfg
@@ -1,394 +1,394 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
-datatype[1].id -843666531
-datatype[1].structtype[0].name "compressed_body.header"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].compresstype NONE
-datatype[1].structtype[0].compresslevel 0
-datatype[1].structtype[0].compressthreshold 95
-datatype[1].structtype[0].compressminsize 800
-datatype[1].structtype[0].field[0].name "from"
-datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
-datatype[2].id 1704844530
-datatype[2].structtype[0].name "compressed_body.body"
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].compresstype LZ4
-datatype[2].structtype[0].compresslevel 6
-datatype[2].structtype[0].compressthreshold 95
-datatype[2].structtype[0].compressminsize 0
-datatype[2].structtype[0].field[0].name "content"
-datatype[2].structtype[0].field[0].datatype 2
-datatype[2].structtype[0].field[0].detailedtype ""
-datatype[3].id 1417245026
-datatype[3].documenttype[0].name "compressed_body"
-datatype[3].documenttype[0].version 0
-datatype[3].documenttype[0].inherits[0].name "document"
-datatype[3].documenttype[0].inherits[0].version 0
-datatype[3].documenttype[0].headerstruct -843666531
-datatype[3].documenttype[0].bodystruct 1704844530
-datatype[4].id -484354914
-datatype[4].structtype[0].name "compressed_both.header"
-datatype[4].structtype[0].version 0
-datatype[4].structtype[0].compresstype LZ4
-datatype[4].structtype[0].compresslevel 6
-datatype[4].structtype[0].compressthreshold 50
-datatype[4].structtype[0].compressminsize 0
-datatype[4].structtype[0].field[0].name "from"
-datatype[4].structtype[0].field[0].datatype 2
-datatype[4].structtype[0].field[0].detailedtype ""
-datatype[5].id -1007627725
-datatype[5].structtype[0].name "compressed_both.body"
-datatype[5].structtype[0].version 0
-datatype[5].structtype[0].compresstype LZ4
-datatype[5].structtype[0].compresslevel 9
-datatype[5].structtype[0].compressthreshold 90
-datatype[5].structtype[0].compressminsize 0
-datatype[5].structtype[0].field[0].name "content"
-datatype[5].structtype[0].field[0].datatype 2
-datatype[5].structtype[0].field[0].detailedtype ""
-datatype[6].id 1417705345
-datatype[6].documenttype[0].name "compressed_both"
-datatype[6].documenttype[0].version 0
-datatype[6].documenttype[0].inherits[0].name "document"
-datatype[6].documenttype[0].inherits[0].version 0
-datatype[6].documenttype[0].headerstruct -484354914
-datatype[6].documenttype[0].bodystruct -1007627725
-datatype[7].id -940182894
-datatype[7].structtype[0].name "compressed_header.header"
-datatype[7].structtype[0].version 0
-datatype[7].structtype[0].compresstype LZ4
-datatype[7].structtype[0].compresslevel 9
-datatype[7].structtype[0].compressthreshold 95
-datatype[7].structtype[0].compressminsize 0
-datatype[7].structtype[0].field[0].name "from"
-datatype[7].structtype[0].field[0].datatype 2
-datatype[7].structtype[0].field[0].detailedtype ""
-datatype[8].id -579052249
-datatype[8].structtype[0].name "compressed_header.body"
-datatype[8].structtype[0].version 0
-datatype[8].structtype[0].compresstype NONE
-datatype[8].structtype[0].compresslevel 0
-datatype[8].structtype[0].compressthreshold 95
-datatype[8].structtype[0].compressminsize 800
-datatype[8].structtype[0].field[0].name "content"
-datatype[8].structtype[0].field[0].datatype 2
-datatype[8].structtype[0].field[0].detailedtype ""
-datatype[9].id 1946084365
-datatype[9].documenttype[0].name "compressed_header"
-datatype[9].documenttype[0].version 0
-datatype[9].documenttype[0].inherits[0].name "document"
-datatype[9].documenttype[0].inherits[0].version 0
-datatype[9].documenttype[0].headerstruct -940182894
-datatype[9].documenttype[0].bodystruct -579052249
-datatype[10].id -88808602
-datatype[10].structtype[0].name "mail.header"
-datatype[10].structtype[0].version 0
-datatype[10].structtype[0].compresstype NONE
-datatype[10].structtype[0].compresslevel 0
-datatype[10].structtype[0].compressthreshold 95
-datatype[10].structtype[0].compressminsize 800
-datatype[10].structtype[0].field[0].name "URI"
-datatype[10].structtype[0].field[0].datatype 10
-datatype[10].structtype[0].field[0].detailedtype ""
-datatype[10].structtype[0].field[1].name "mailid"
-datatype[10].structtype[0].field[1].datatype 2
-datatype[10].structtype[0].field[1].detailedtype ""
-datatype[10].structtype[0].field[2].name "date"
-datatype[10].structtype[0].field[2].datatype 0
-datatype[10].structtype[0].field[2].detailedtype ""
-datatype[10].structtype[0].field[3].name "from"
-datatype[10].structtype[0].field[3].datatype 2
-datatype[10].structtype[0].field[3].detailedtype ""
-datatype[10].structtype[0].field[4].name "replyto"
-datatype[10].structtype[0].field[4].datatype 3
-datatype[10].structtype[0].field[4].detailedtype ""
-datatype[10].structtype[0].field[5].name "to"
-datatype[10].structtype[0].field[5].datatype 2
-datatype[10].structtype[0].field[5].detailedtype ""
-datatype[10].structtype[0].field[6].name "cc"
-datatype[10].structtype[0].field[6].datatype 2
-datatype[10].structtype[0].field[6].detailedtype ""
-datatype[10].structtype[0].field[7].name "bcc"
-datatype[10].structtype[0].field[7].datatype 2
-datatype[10].structtype[0].field[7].detailedtype ""
-datatype[10].structtype[0].field[8].name "subject"
-datatype[10].structtype[0].field[8].datatype 2
-datatype[10].structtype[0].field[8].detailedtype ""
-datatype[11].id -1244861287
-datatype[11].arraytype[0].datatype 3
-datatype[12].id -953584901
-datatype[12].structtype[0].name "mail.body"
-datatype[12].structtype[0].version 0
-datatype[12].structtype[0].compresstype NONE
-datatype[12].structtype[0].compresslevel 0
-datatype[12].structtype[0].compressthreshold 95
-datatype[12].structtype[0].compressminsize 800
-datatype[12].structtype[0].field[0].name "mailbody"
-datatype[12].structtype[0].field[0].datatype 3
-datatype[12].structtype[0].field[0].detailedtype ""
-datatype[12].structtype[0].field[1].name "attachmentcount"
-datatype[12].structtype[0].field[1].datatype 0
-datatype[12].structtype[0].field[1].detailedtype ""
-datatype[12].structtype[0].field[2].name "attachmentnames"
-datatype[12].structtype[0].field[2].datatype 2
-datatype[12].structtype[0].field[2].detailedtype ""
-datatype[12].structtype[0].field[3].name "attachmenttypes"
-datatype[12].structtype[0].field[3].datatype 2
-datatype[12].structtype[0].field[3].detailedtype ""
-datatype[12].structtype[0].field[4].name "attachmentlanguages"
-datatype[12].structtype[0].field[4].datatype 2
-datatype[12].structtype[0].field[4].detailedtype ""
-datatype[12].structtype[0].field[5].name "attachmentcontent"
-datatype[12].structtype[0].field[5].datatype 2
-datatype[12].structtype[0].field[5].detailedtype ""
-datatype[12].structtype[0].field[6].name "attachments"
-datatype[12].structtype[0].field[6].datatype -1244861287
-datatype[12].structtype[0].field[6].detailedtype ""
-datatype[13].id -1081574983
-datatype[13].documenttype[0].name "mail"
-datatype[13].documenttype[0].version 0
-datatype[13].documenttype[0].inherits[0].name "document"
-datatype[13].documenttype[0].inherits[0].version 0
-datatype[13].documenttype[0].headerstruct -88808602
-datatype[13].documenttype[0].bodystruct -953584901
-datatype[14].id -1486737430
-datatype[14].arraytype[0].datatype 2
-datatype[15].id 519906144
-datatype[15].weightedsettype[0].datatype 0
-datatype[15].weightedsettype[0].createifnonexistant false
-datatype[15].weightedsettype[0].removeifzero false
-datatype[16].id 363959257
-datatype[16].weightedsettype[0].datatype 0
-datatype[16].weightedsettype[0].createifnonexistant true
-datatype[16].weightedsettype[0].removeifzero true
-datatype[17].id -1910204744
-datatype[17].structtype[0].name "music.header"
-datatype[17].structtype[0].version 0
-datatype[17].structtype[0].compresstype NONE
-datatype[17].structtype[0].compresslevel 0
-datatype[17].structtype[0].compressthreshold 95
-datatype[17].structtype[0].compressminsize 800
-datatype[17].structtype[0].field[0].name "url"
-datatype[17].structtype[0].field[0].datatype 10
-datatype[17].structtype[0].field[0].detailedtype ""
-datatype[17].structtype[0].field[1].name "title"
-datatype[17].structtype[0].field[1].datatype 2
-datatype[17].structtype[0].field[1].detailedtype ""
-datatype[17].structtype[0].field[2].name "artist"
-datatype[17].structtype[0].field[2].datatype 2
-datatype[17].structtype[0].field[2].detailedtype ""
-datatype[17].structtype[0].field[3].name "year"
-datatype[17].structtype[0].field[3].datatype 0
-datatype[17].structtype[0].field[3].detailedtype ""
-datatype[17].structtype[0].field[4].name "description"
-datatype[17].structtype[0].field[4].datatype 3
-datatype[17].structtype[0].field[4].detailedtype ""
-datatype[17].structtype[0].field[5].name "tracks"
-datatype[17].structtype[0].field[5].datatype -1486737430
-datatype[17].structtype[0].field[5].detailedtype ""
-datatype[17].structtype[0].field[6].name "popularity"
-datatype[17].structtype[0].field[6].datatype 519906144
-datatype[17].structtype[0].field[6].detailedtype ""
-datatype[17].structtype[0].field[7].name "popularity2"
-datatype[17].structtype[0].field[7].datatype 363959257
-datatype[17].structtype[0].field[7].detailedtype ""
-datatype[17].structtype[0].field[8].name "popularity3"
-datatype[17].structtype[0].field[8].datatype 363959257
-datatype[17].structtype[0].field[8].detailedtype ""
-datatype[18].id 993120973
-datatype[18].structtype[0].name "music.body"
-datatype[18].structtype[0].version 0
-datatype[18].structtype[0].compresstype NONE
-datatype[18].structtype[0].compresslevel 0
-datatype[18].structtype[0].compressthreshold 95
-datatype[18].structtype[0].compressminsize 800
-datatype[19].id 1412693671
-datatype[19].documenttype[0].name "music"
-datatype[19].documenttype[0].version 0
-datatype[19].documenttype[0].inherits[0].name "document"
-datatype[19].documenttype[0].inherits[0].version 0
-datatype[19].documenttype[0].headerstruct -1910204744
-datatype[19].documenttype[0].bodystruct 993120973
-datatype[20].id 2006483754
-datatype[20].structtype[0].name "newssummary.header"
-datatype[20].structtype[0].version 0
-datatype[20].structtype[0].compresstype NONE
-datatype[20].structtype[0].compresslevel 0
-datatype[20].structtype[0].compressthreshold 95
-datatype[20].structtype[0].compressminsize 800
-datatype[20].structtype[0].field[0].name "title"
-datatype[20].structtype[0].field[0].datatype 2
-datatype[20].structtype[0].field[0].detailedtype ""
-datatype[20].structtype[0].field[1].name "abstract"
-datatype[20].structtype[0].field[1].datatype 2
-datatype[20].structtype[0].field[1].detailedtype ""
-datatype[20].structtype[0].field[2].name "sourcename"
-datatype[20].structtype[0].field[2].datatype 2
-datatype[20].structtype[0].field[2].detailedtype ""
-datatype[20].structtype[0].field[3].name "providername"
-datatype[20].structtype[0].field[3].datatype 2
-datatype[20].structtype[0].field[3].detailedtype ""
-datatype[20].structtype[0].field[4].name "thumburl"
-datatype[20].structtype[0].field[4].datatype 2
-datatype[20].structtype[0].field[4].detailedtype ""
-datatype[20].structtype[0].field[5].name "thumbwidth"
-datatype[20].structtype[0].field[5].datatype 0
-datatype[20].structtype[0].field[5].detailedtype ""
-datatype[20].structtype[0].field[6].name "thumbheight"
-datatype[20].structtype[0].field[6].datatype 0
-datatype[20].structtype[0].field[6].detailedtype ""
-datatype[20].structtype[0].field[7].name "language"
-datatype[20].structtype[0].field[7].datatype 2
-datatype[20].structtype[0].field[7].detailedtype ""
-datatype[20].structtype[0].field[8].name "crawldocid"
-datatype[20].structtype[0].field[8].datatype 2
-datatype[20].structtype[0].field[8].detailedtype ""
-datatype[20].structtype[0].field[9].name "url"
-datatype[20].structtype[0].field[9].datatype 10
-datatype[20].structtype[0].field[9].detailedtype ""
-datatype[20].structtype[0].field[10].name "sourceurl"
-datatype[20].structtype[0].field[10].datatype 10
-datatype[20].structtype[0].field[10].detailedtype ""
-datatype[20].structtype[0].field[11].name "categories"
-datatype[20].structtype[0].field[11].datatype 2
-datatype[20].structtype[0].field[11].detailedtype ""
-datatype[20].structtype[0].field[12].name "pubdate"
-datatype[20].structtype[0].field[12].datatype 4
-datatype[20].structtype[0].field[12].detailedtype ""
-datatype[20].structtype[0].field[13].name "expdate"
-datatype[20].structtype[0].field[13].datatype 4
-datatype[20].structtype[0].field[13].detailedtype ""
-datatype[20].structtype[0].field[14].name "fingerprint"
-datatype[20].structtype[0].field[14].datatype 0
-datatype[20].structtype[0].field[14].detailedtype ""
-datatype[20].structtype[0].field[15].name "debug"
-datatype[20].structtype[0].field[15].datatype 2
-datatype[20].structtype[0].field[15].detailedtype ""
-datatype[20].structtype[0].field[16].name "attributes"
-datatype[20].structtype[0].field[16].datatype 2
-datatype[20].structtype[0].field[16].detailedtype ""
-datatype[20].structtype[0].field[17].name "searchcluster"
-datatype[20].structtype[0].field[17].datatype 2
-datatype[20].structtype[0].field[17].detailedtype ""
-datatype[20].structtype[0].field[18].name "eustaticrank"
-datatype[20].structtype[0].field[18].datatype 0
-datatype[20].structtype[0].field[18].detailedtype ""
-datatype[20].structtype[0].field[19].name "usstaticrank"
-datatype[20].structtype[0].field[19].datatype 0
-datatype[20].structtype[0].field[19].detailedtype ""
-datatype[20].structtype[0].field[20].name "asiastaticrank"
-datatype[20].structtype[0].field[20].datatype 0
-datatype[20].structtype[0].field[20].detailedtype ""
-datatype[21].id -2059783233
-datatype[21].structtype[0].name "newssummary.body"
-datatype[21].structtype[0].version 0
-datatype[21].structtype[0].compresstype NONE
-datatype[21].structtype[0].compresslevel 0
-datatype[21].structtype[0].compressthreshold 95
-datatype[21].structtype[0].compressminsize 800
-datatype[22].id -756330891
-datatype[22].documenttype[0].name "newssummary"
-datatype[22].documenttype[0].version 0
-datatype[22].documenttype[0].inherits[0].name "document"
-datatype[22].documenttype[0].inherits[0].version 0
-datatype[22].documenttype[0].headerstruct 2006483754
-datatype[22].documenttype[0].bodystruct -2059783233
-datatype[23].id 2098419674
-datatype[23].structtype[0].name "newsarticle.header"
-datatype[23].structtype[0].version 0
-datatype[23].structtype[0].compresstype NONE
-datatype[23].structtype[0].compresslevel 0
-datatype[23].structtype[0].compressthreshold 95
-datatype[23].structtype[0].compressminsize 800
-datatype[23].structtype[0].field[0].name "dynabstract"
-datatype[23].structtype[0].field[0].datatype 2
-datatype[23].structtype[0].field[0].detailedtype ""
-datatype[23].structtype[0].field[1].name "othersourcenames"
-datatype[23].structtype[0].field[1].datatype 2
-datatype[23].structtype[0].field[1].detailedtype ""
-datatype[23].structtype[0].field[2].name "author"
-datatype[23].structtype[0].field[2].datatype 2
-datatype[23].structtype[0].field[2].detailedtype ""
-datatype[23].structtype[0].field[3].name "otherlanguages"
-datatype[23].structtype[0].field[3].datatype 2
-datatype[23].structtype[0].field[3].detailedtype ""
-datatype[23].structtype[0].field[4].name "charset"
-datatype[23].structtype[0].field[4].datatype 2
-datatype[23].structtype[0].field[4].detailedtype ""
-datatype[23].structtype[0].field[5].name "mimetype"
-datatype[23].structtype[0].field[5].datatype 2
-datatype[23].structtype[0].field[5].detailedtype ""
-datatype[23].structtype[0].field[6].name "referrerurl"
-datatype[23].structtype[0].field[6].datatype 10
-datatype[23].structtype[0].field[6].detailedtype ""
-datatype[23].structtype[0].field[7].name "sourcelocation"
-datatype[23].structtype[0].field[7].datatype 2
-datatype[23].structtype[0].field[7].detailedtype ""
-datatype[23].structtype[0].field[8].name "sourcecountry"
-datatype[23].structtype[0].field[8].datatype 2
-datatype[23].structtype[0].field[8].detailedtype ""
-datatype[23].structtype[0].field[9].name "sourcelocale"
-datatype[23].structtype[0].field[9].datatype 2
-datatype[23].structtype[0].field[9].detailedtype ""
-datatype[23].structtype[0].field[10].name "sourcecontinent"
-datatype[23].structtype[0].field[10].datatype 2
-datatype[23].structtype[0].field[10].detailedtype ""
-datatype[23].structtype[0].field[11].name "articlecountry"
-datatype[23].structtype[0].field[11].datatype 2
-datatype[23].structtype[0].field[11].detailedtype ""
-datatype[23].structtype[0].field[12].name "articlelocale"
-datatype[23].structtype[0].field[12].datatype 2
-datatype[23].structtype[0].field[12].detailedtype ""
-datatype[23].structtype[0].field[13].name "articlecontinent"
-datatype[23].structtype[0].field[13].datatype 2
-datatype[23].structtype[0].field[13].detailedtype ""
-datatype[23].structtype[0].field[14].name "sourcerank"
-datatype[23].structtype[0].field[14].datatype 0
-datatype[23].structtype[0].field[14].detailedtype ""
-datatype[23].structtype[0].field[15].name "crawldate"
-datatype[23].structtype[0].field[15].datatype 4
-datatype[23].structtype[0].field[15].detailedtype ""
-datatype[23].structtype[0].field[16].name "indexdate"
-datatype[23].structtype[0].field[16].datatype 4
-datatype[23].structtype[0].field[16].detailedtype ""
-datatype[23].structtype[0].field[17].name "procdate"
-datatype[23].structtype[0].field[17].datatype 4
-datatype[23].structtype[0].field[17].detailedtype ""
-datatype[23].structtype[0].field[18].name "sourceid"
-datatype[23].structtype[0].field[18].datatype 0
-datatype[23].structtype[0].field[18].detailedtype ""
-datatype[23].structtype[0].field[19].name "sourcefeedid"
-datatype[23].structtype[0].field[19].datatype 0
-datatype[23].structtype[0].field[19].detailedtype ""
-datatype[24].id 197293167
-datatype[24].structtype[0].name "newsarticle.body"
-datatype[24].structtype[0].version 0
-datatype[24].structtype[0].compresstype NONE
-datatype[24].structtype[0].compresslevel 0
-datatype[24].structtype[0].compressthreshold 95
-datatype[24].structtype[0].compressminsize 800
-datatype[24].structtype[0].field[0].name "body"
-datatype[24].structtype[0].field[0].datatype 2
-datatype[24].structtype[0].field[0].detailedtype ""
-datatype[25].id -1710661691
-datatype[25].documenttype[0].name "newsarticle"
-datatype[25].documenttype[0].version 0
-datatype[25].documenttype[0].inherits[0].name "document"
-datatype[25].documenttype[0].inherits[0].version 0
-datatype[25].documenttype[0].inherits[1].name "newssummary"
-datatype[25].documenttype[0].inherits[1].version 0
-datatype[25].documenttype[0].headerstruct 2098419674
-datatype[25].documenttype[0].bodystruct 197293167
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -843666531
+datatype[].structtype[].name "compressed_body.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "from"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 1704844530
+datatype[].structtype[].name "compressed_body.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype LZ4
+datatype[].structtype[].compresslevel 6
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 0
+datatype[].structtype[].field[].name "content"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 1417245026
+datatype[].documenttype[].name "compressed_body"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct -843666531
+datatype[].documenttype[].bodystruct 1704844530
+datatype[].id -484354914
+datatype[].structtype[].name "compressed_both.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype LZ4
+datatype[].structtype[].compresslevel 6
+datatype[].structtype[].compressthreshold 50
+datatype[].structtype[].compressminsize 0
+datatype[].structtype[].field[].name "from"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -1007627725
+datatype[].structtype[].name "compressed_both.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype LZ4
+datatype[].structtype[].compresslevel 9
+datatype[].structtype[].compressthreshold 90
+datatype[].structtype[].compressminsize 0
+datatype[].structtype[].field[].name "content"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 1417705345
+datatype[].documenttype[].name "compressed_both"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct -484354914
+datatype[].documenttype[].bodystruct -1007627725
+datatype[].id -940182894
+datatype[].structtype[].name "compressed_header.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype LZ4
+datatype[].structtype[].compresslevel 9
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 0
+datatype[].structtype[].field[].name "from"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -579052249
+datatype[].structtype[].name "compressed_header.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "content"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 1946084365
+datatype[].documenttype[].name "compressed_header"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct -940182894
+datatype[].documenttype[].bodystruct -579052249
+datatype[].id -88808602
+datatype[].structtype[].name "mail.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "URI"
+datatype[].structtype[].field[].datatype 10
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "mailid"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "date"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "from"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "replyto"
+datatype[].structtype[].field[].datatype 3
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "to"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "cc"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "bcc"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "subject"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -1244861287
+datatype[].arraytype[].datatype 3
+datatype[].id -953584901
+datatype[].structtype[].name "mail.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "mailbody"
+datatype[].structtype[].field[].datatype 3
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "attachmentcount"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "attachmentnames"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "attachmenttypes"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "attachmentlanguages"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "attachmentcontent"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "attachments"
+datatype[].structtype[].field[].datatype -1244861287
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -1081574983
+datatype[].documenttype[].name "mail"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct -88808602
+datatype[].documenttype[].bodystruct -953584901
+datatype[].id -1486737430
+datatype[].arraytype[].datatype 2
+datatype[].id 519906144
+datatype[].weightedsettype[].datatype 0
+datatype[].weightedsettype[].createifnonexistant false
+datatype[].weightedsettype[].removeifzero false
+datatype[].id 363959257
+datatype[].weightedsettype[].datatype 0
+datatype[].weightedsettype[].createifnonexistant true
+datatype[].weightedsettype[].removeifzero true
+datatype[].id -1910204744
+datatype[].structtype[].name "music.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "url"
+datatype[].structtype[].field[].datatype 10
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "title"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "artist"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "year"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "description"
+datatype[].structtype[].field[].datatype 3
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "tracks"
+datatype[].structtype[].field[].datatype -1486737430
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "popularity"
+datatype[].structtype[].field[].datatype 519906144
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "popularity2"
+datatype[].structtype[].field[].datatype 363959257
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "popularity3"
+datatype[].structtype[].field[].datatype 363959257
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 993120973
+datatype[].structtype[].name "music.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id 1412693671
+datatype[].documenttype[].name "music"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct -1910204744
+datatype[].documenttype[].bodystruct 993120973
+datatype[].id 2006483754
+datatype[].structtype[].name "newssummary.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "title"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "abstract"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "sourcename"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "providername"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "thumburl"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "thumbwidth"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "thumbheight"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "language"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "crawldocid"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "url"
+datatype[].structtype[].field[].datatype 10
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "sourceurl"
+datatype[].structtype[].field[].datatype 10
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "categories"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "pubdate"
+datatype[].structtype[].field[].datatype 4
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "expdate"
+datatype[].structtype[].field[].datatype 4
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "fingerprint"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "debug"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "attributes"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "searchcluster"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "eustaticrank"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "usstaticrank"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "asiastaticrank"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -2059783233
+datatype[].structtype[].name "newssummary.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id -756330891
+datatype[].documenttype[].name "newssummary"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 2006483754
+datatype[].documenttype[].bodystruct -2059783233
+datatype[].id 2098419674
+datatype[].structtype[].name "newsarticle.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "dynabstract"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "othersourcenames"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "author"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "otherlanguages"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "charset"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "mimetype"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "referrerurl"
+datatype[].structtype[].field[].datatype 10
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "sourcelocation"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "sourcecountry"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "sourcelocale"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "sourcecontinent"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "articlecountry"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "articlelocale"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "articlecontinent"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "sourcerank"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "crawldate"
+datatype[].structtype[].field[].datatype 4
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "indexdate"
+datatype[].structtype[].field[].datatype 4
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "procdate"
+datatype[].structtype[].field[].datatype 4
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "sourceid"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "sourcefeedid"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 197293167
+datatype[].structtype[].name "newsarticle.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "body"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -1710661691
+datatype[].documenttype[].name "newsarticle"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].inherits[].name "newssummary"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 2098419674
+datatype[].documenttype[].bodystruct 197293167
diff --git a/config-model/src/test/derived/documentderiver/vsmfields.cfg b/config-model/src/test/derived/documentderiver/vsmfields.cfg
index 34d4ac85315..dd5669f0f71 100644
--- a/config-model/src/test/derived/documentderiver/vsmfields.cfg
+++ b/config-model/src/test/derived/documentderiver/vsmfields.cfg
@@ -1,489 +1,489 @@
fieldspec[58]
-fieldspec[0].name sddocname
-fieldspec[0].searchmethod AUTOUTF8
-fieldspec[0].arg1 "exact"
-fieldspec[1].name title
-fieldspec[1].searchmethod AUTOUTF8
-fieldspec[1].arg1 ""
-fieldspec[2].name abstract
-fieldspec[2].searchmethod AUTOUTF8
-fieldspec[2].arg1 ""
-fieldspec[3].name sourcename
-fieldspec[3].searchmethod AUTOUTF8
-fieldspec[3].arg1 ""
-fieldspec[4].name providername
-fieldspec[4].searchmethod AUTOUTF8
-fieldspec[4].arg1 ""
-fieldspec[5].name thumburl
-fieldspec[5].searchmethod AUTOUTF8
-fieldspec[5].arg1 ""
-fieldspec[6].name thumbwidth
-fieldspec[6].searchmethod INT32
-fieldspec[6].arg1 ""
-fieldspec[7].name thumbheight
-fieldspec[7].searchmethod INT32
-fieldspec[7].arg1 ""
-fieldspec[8].name language
-fieldspec[8].searchmethod AUTOUTF8
-fieldspec[8].arg1 ""
-fieldspec[9].name crawldocid
-fieldspec[9].searchmethod AUTOUTF8
-fieldspec[9].arg1 ""
-fieldspec[10].name url
-fieldspec[10].searchmethod AUTOUTF8
-fieldspec[10].arg1 ""
-fieldspec[11].name sourceurl
-fieldspec[11].searchmethod AUTOUTF8
-fieldspec[11].arg1 ""
-fieldspec[12].name categories
-fieldspec[12].searchmethod AUTOUTF8
-fieldspec[12].arg1 ""
-fieldspec[13].name pubdate
-fieldspec[13].searchmethod INT64
-fieldspec[13].arg1 ""
-fieldspec[14].name expdate
-fieldspec[14].searchmethod INT64
-fieldspec[14].arg1 ""
-fieldspec[15].name fingerprint
-fieldspec[15].searchmethod INT32
-fieldspec[15].arg1 ""
-fieldspec[16].name debug
-fieldspec[16].searchmethod AUTOUTF8
-fieldspec[16].arg1 ""
-fieldspec[17].name attributes
-fieldspec[17].searchmethod AUTOUTF8
-fieldspec[17].arg1 ""
-fieldspec[18].name searchcluster
-fieldspec[18].searchmethod AUTOUTF8
-fieldspec[18].arg1 ""
-fieldspec[19].name eustaticrank
-fieldspec[19].searchmethod INT32
-fieldspec[19].arg1 ""
-fieldspec[20].name usstaticrank
-fieldspec[20].searchmethod INT32
-fieldspec[20].arg1 ""
-fieldspec[21].name asiastaticrank
-fieldspec[21].searchmethod INT32
-fieldspec[21].arg1 ""
-fieldspec[22].name dynabstract
-fieldspec[22].searchmethod AUTOUTF8
-fieldspec[22].arg1 ""
-fieldspec[23].name body
-fieldspec[23].searchmethod AUTOUTF8
-fieldspec[23].arg1 ""
-fieldspec[24].name othersourcenames
-fieldspec[24].searchmethod AUTOUTF8
-fieldspec[24].arg1 ""
-fieldspec[25].name author
-fieldspec[25].searchmethod AUTOUTF8
-fieldspec[25].arg1 ""
-fieldspec[26].name otherlanguages
-fieldspec[26].searchmethod AUTOUTF8
-fieldspec[26].arg1 ""
-fieldspec[27].name charset
-fieldspec[27].searchmethod AUTOUTF8
-fieldspec[27].arg1 ""
-fieldspec[28].name mimetype
-fieldspec[28].searchmethod AUTOUTF8
-fieldspec[28].arg1 ""
-fieldspec[29].name referrerurl
-fieldspec[29].searchmethod AUTOUTF8
-fieldspec[29].arg1 ""
-fieldspec[30].name sourcelocation
-fieldspec[30].searchmethod AUTOUTF8
-fieldspec[30].arg1 ""
-fieldspec[31].name sourcecountry
-fieldspec[31].searchmethod AUTOUTF8
-fieldspec[31].arg1 ""
-fieldspec[32].name sourcelocale
-fieldspec[32].searchmethod AUTOUTF8
-fieldspec[32].arg1 ""
-fieldspec[33].name sourcecontinent
-fieldspec[33].searchmethod AUTOUTF8
-fieldspec[33].arg1 ""
-fieldspec[34].name articlecountry
-fieldspec[34].searchmethod AUTOUTF8
-fieldspec[34].arg1 ""
-fieldspec[35].name articlelocale
-fieldspec[35].searchmethod AUTOUTF8
-fieldspec[35].arg1 ""
-fieldspec[36].name articlecontinent
-fieldspec[36].searchmethod AUTOUTF8
-fieldspec[36].arg1 ""
-fieldspec[37].name sourcerank
-fieldspec[37].searchmethod INT32
-fieldspec[37].arg1 ""
-fieldspec[38].name crawldate
-fieldspec[38].searchmethod INT64
-fieldspec[38].arg1 ""
-fieldspec[39].name indexdate
-fieldspec[39].searchmethod INT64
-fieldspec[39].arg1 ""
-fieldspec[40].name procdate
-fieldspec[40].searchmethod INT64
-fieldspec[40].arg1 ""
-fieldspec[41].name sourceid
-fieldspec[41].searchmethod INT32
-fieldspec[41].arg1 ""
-fieldspec[42].name sourcefeedid
-fieldspec[42].searchmethod INT32
-fieldspec[42].arg1 ""
-fieldspec[43].name URI
-fieldspec[43].searchmethod AUTOUTF8
-fieldspec[43].arg1 ""
-fieldspec[44].name mailid
-fieldspec[44].searchmethod AUTOUTF8
-fieldspec[44].arg1 "prefix"
-fieldspec[45].name date
-fieldspec[45].searchmethod INT32
-fieldspec[45].arg1 ""
-fieldspec[46].name from
-fieldspec[46].searchmethod AUTOUTF8
-fieldspec[46].arg1 "prefix"
-fieldspec[47].name replyto
-fieldspec[47].searchmethod AUTOUTF8
-fieldspec[47].arg1 "prefix"
-fieldspec[48].name to
-fieldspec[48].searchmethod AUTOUTF8
-fieldspec[48].arg1 "prefix"
-fieldspec[49].name cc
-fieldspec[49].searchmethod AUTOUTF8
-fieldspec[49].arg1 "prefix"
-fieldspec[50].name bcc
-fieldspec[50].searchmethod AUTOUTF8
-fieldspec[50].arg1 "prefix"
-fieldspec[51].name subject
-fieldspec[51].searchmethod AUTOUTF8
-fieldspec[51].arg1 "prefix"
-fieldspec[52].name mailbody
-fieldspec[52].searchmethod AUTOUTF8
-fieldspec[52].arg1 "substring"
-fieldspec[53].name attachmentcount
-fieldspec[53].searchmethod INT32
-fieldspec[53].arg1 ""
-fieldspec[54].name attachmentnames
-fieldspec[54].searchmethod AUTOUTF8
-fieldspec[54].arg1 ""
-fieldspec[55].name attachmenttypes
-fieldspec[55].searchmethod AUTOUTF8
-fieldspec[55].arg1 ""
-fieldspec[56].name attachmentlanguages
-fieldspec[56].searchmethod AUTOUTF8
-fieldspec[56].arg1 "prefix"
-fieldspec[57].name attachmentcontent
-fieldspec[57].searchmethod AUTOUTF8
-fieldspec[57].arg1 "prefix"
+fieldspec[].name sddocname
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "exact"
+fieldspec[].name title
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name abstract
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name sourcename
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name providername
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name thumburl
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name thumbwidth
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].name thumbheight
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].name language
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name crawldocid
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name url
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name sourceurl
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name categories
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name pubdate
+fieldspec[].searchmethod INT64
+fieldspec[].arg1 ""
+fieldspec[].name expdate
+fieldspec[].searchmethod INT64
+fieldspec[].arg1 ""
+fieldspec[].name fingerprint
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].name debug
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name attributes
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name searchcluster
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name eustaticrank
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].name usstaticrank
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].name asiastaticrank
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].name dynabstract
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name body
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name othersourcenames
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name author
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name otherlanguages
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name charset
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name mimetype
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name referrerurl
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name sourcelocation
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name sourcecountry
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name sourcelocale
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name sourcecontinent
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name articlecountry
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name articlelocale
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name articlecontinent
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name sourcerank
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].name crawldate
+fieldspec[].searchmethod INT64
+fieldspec[].arg1 ""
+fieldspec[].name indexdate
+fieldspec[].searchmethod INT64
+fieldspec[].arg1 ""
+fieldspec[].name procdate
+fieldspec[].searchmethod INT64
+fieldspec[].arg1 ""
+fieldspec[].name sourceid
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].name sourcefeedid
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].name URI
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name mailid
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].name date
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].name from
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].name replyto
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].name to
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].name cc
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].name bcc
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].name subject
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].name mailbody
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "substring"
+fieldspec[].name attachmentcount
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].name attachmentnames
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name attachmenttypes
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name attachmentlanguages
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].name attachmentcontent
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
documenttype[7]
-documenttype[0].name newssummary
-documenttype[0].index[24]
-documenttype[0].index[0].name sddocname
-documenttype[0].index[0].field[1]
-documenttype[0].index[0].field[0].name sddocname
-documenttype[0].index[1].name title
-documenttype[0].index[1].field[1]
-documenttype[0].index[1].field[0].name title
-documenttype[0].index[2].name titleabstract
-documenttype[0].index[2].field[2]
-documenttype[0].index[2].field[0].name title
-documenttype[0].index[2].field[1].name abstract
-documenttype[0].index[3].name default
-documenttype[0].index[3].field[2]
-documenttype[0].index[3].field[0].name title
-documenttype[0].index[3].field[1].name abstract
-documenttype[0].index[4].name abstract
-documenttype[0].index[4].field[1]
-documenttype[0].index[4].field[0].name abstract
-documenttype[0].index[5].name sourcename
-documenttype[0].index[5].field[1]
-documenttype[0].index[5].field[0].name sourcename
-documenttype[0].index[6].name source
-documenttype[0].index[6].field[2]
-documenttype[0].index[6].field[0].name sourcename
-documenttype[0].index[6].field[1].name providername
-documenttype[0].index[7].name providername
-documenttype[0].index[7].field[1]
-documenttype[0].index[7].field[0].name providername
-documenttype[0].index[8].name thumburl
-documenttype[0].index[8].field[1]
-documenttype[0].index[8].field[0].name thumburl
-documenttype[0].index[9].name thumbwidth
-documenttype[0].index[9].field[1]
-documenttype[0].index[9].field[0].name thumbwidth
-documenttype[0].index[10].name thumbheight
-documenttype[0].index[10].field[1]
-documenttype[0].index[10].field[0].name thumbheight
-documenttype[0].index[11].name language
-documenttype[0].index[11].field[1]
-documenttype[0].index[11].field[0].name language
-documenttype[0].index[12].name languages
-documenttype[0].index[12].field[1]
-documenttype[0].index[12].field[0].name language
-documenttype[0].index[13].name url
-documenttype[0].index[13].field[1]
-documenttype[0].index[13].field[0].name url
-documenttype[0].index[14].name sourceurl
-documenttype[0].index[14].field[1]
-documenttype[0].index[14].field[0].name sourceurl
-documenttype[0].index[15].name categories
-documenttype[0].index[15].field[1]
-documenttype[0].index[15].field[0].name categories
-documenttype[0].index[16].name pubdate
-documenttype[0].index[16].field[1]
-documenttype[0].index[16].field[0].name pubdate
-documenttype[0].index[17].name expdate
-documenttype[0].index[17].field[1]
-documenttype[0].index[17].field[0].name expdate
-documenttype[0].index[18].name fingerprint
-documenttype[0].index[18].field[1]
-documenttype[0].index[18].field[0].name fingerprint
-documenttype[0].index[19].name debug
-documenttype[0].index[19].field[1]
-documenttype[0].index[19].field[0].name debug
-documenttype[0].index[20].name attributes
-documenttype[0].index[20].field[1]
-documenttype[0].index[20].field[0].name attributes
-documenttype[0].index[21].name eustaticrank
-documenttype[0].index[21].field[1]
-documenttype[0].index[21].field[0].name eustaticrank
-documenttype[0].index[22].name usstaticrank
-documenttype[0].index[22].field[1]
-documenttype[0].index[22].field[0].name usstaticrank
-documenttype[0].index[23].name asiastaticrank
-documenttype[0].index[23].field[1]
-documenttype[0].index[23].field[0].name asiastaticrank
-documenttype[1].name newsarticle
-documenttype[1].index[41]
-documenttype[1].index[0].name sddocname
-documenttype[1].index[0].field[1]
-documenttype[1].index[0].field[0].name sddocname
-documenttype[1].index[1].name title
-documenttype[1].index[1].field[1]
-documenttype[1].index[1].field[0].name title
-documenttype[1].index[2].name titleabstract
-documenttype[1].index[2].field[2]
-documenttype[1].index[2].field[0].name title
-documenttype[1].index[2].field[1].name abstract
-documenttype[1].index[3].name default
-documenttype[1].index[3].field[3]
-documenttype[1].index[3].field[0].name title
-documenttype[1].index[3].field[1].name abstract
-documenttype[1].index[3].field[2].name body
-documenttype[1].index[4].name abstract
-documenttype[1].index[4].field[1]
-documenttype[1].index[4].field[0].name abstract
-documenttype[1].index[5].name sourcename
-documenttype[1].index[5].field[1]
-documenttype[1].index[5].field[0].name sourcename
-documenttype[1].index[6].name source
-documenttype[1].index[6].field[3]
-documenttype[1].index[6].field[0].name sourcename
-documenttype[1].index[6].field[1].name providername
-documenttype[1].index[6].field[2].name othersourcenames
-documenttype[1].index[7].name providername
-documenttype[1].index[7].field[1]
-documenttype[1].index[7].field[0].name providername
-documenttype[1].index[8].name thumburl
-documenttype[1].index[8].field[1]
-documenttype[1].index[8].field[0].name thumburl
-documenttype[1].index[9].name thumbwidth
-documenttype[1].index[9].field[1]
-documenttype[1].index[9].field[0].name thumbwidth
-documenttype[1].index[10].name thumbheight
-documenttype[1].index[10].field[1]
-documenttype[1].index[10].field[0].name thumbheight
-documenttype[1].index[11].name language
-documenttype[1].index[11].field[1]
-documenttype[1].index[11].field[0].name language
-documenttype[1].index[12].name languages
-documenttype[1].index[12].field[2]
-documenttype[1].index[12].field[0].name language
-documenttype[1].index[12].field[1].name otherlanguages
-documenttype[1].index[13].name url
-documenttype[1].index[13].field[1]
-documenttype[1].index[13].field[0].name url
-documenttype[1].index[14].name sourceurl
-documenttype[1].index[14].field[1]
-documenttype[1].index[14].field[0].name sourceurl
-documenttype[1].index[15].name categories
-documenttype[1].index[15].field[1]
-documenttype[1].index[15].field[0].name categories
-documenttype[1].index[16].name pubdate
-documenttype[1].index[16].field[1]
-documenttype[1].index[16].field[0].name pubdate
-documenttype[1].index[17].name expdate
-documenttype[1].index[17].field[1]
-documenttype[1].index[17].field[0].name expdate
-documenttype[1].index[18].name fingerprint
-documenttype[1].index[18].field[1]
-documenttype[1].index[18].field[0].name fingerprint
-documenttype[1].index[19].name debug
-documenttype[1].index[19].field[1]
-documenttype[1].index[19].field[0].name debug
-documenttype[1].index[20].name attributes
-documenttype[1].index[20].field[1]
-documenttype[1].index[20].field[0].name attributes
-documenttype[1].index[21].name eustaticrank
-documenttype[1].index[21].field[1]
-documenttype[1].index[21].field[0].name eustaticrank
-documenttype[1].index[22].name usstaticrank
-documenttype[1].index[22].field[1]
-documenttype[1].index[22].field[0].name usstaticrank
-documenttype[1].index[23].name asiastaticrank
-documenttype[1].index[23].field[1]
-documenttype[1].index[23].field[0].name asiastaticrank
-documenttype[1].index[24].name body
-documenttype[1].index[24].field[1]
-documenttype[1].index[24].field[0].name body
-documenttype[1].index[25].name othersourcenames
-documenttype[1].index[25].field[1]
-documenttype[1].index[25].field[0].name othersourcenames
-documenttype[1].index[26].name author
-documenttype[1].index[26].field[1]
-documenttype[1].index[26].field[0].name author
-documenttype[1].index[27].name referrerurl
-documenttype[1].index[27].field[1]
-documenttype[1].index[27].field[0].name referrerurl
-documenttype[1].index[28].name sourcelocation
-documenttype[1].index[28].field[4]
-documenttype[1].index[28].field[0].name sourcelocation
-documenttype[1].index[28].field[1].name sourcecountry
-documenttype[1].index[28].field[2].name sourcelocale
-documenttype[1].index[28].field[3].name sourcecontinent
-documenttype[1].index[29].name sourcecountry
-documenttype[1].index[29].field[1]
-documenttype[1].index[29].field[0].name sourcecountry
-documenttype[1].index[30].name sourcelocale
-documenttype[1].index[30].field[1]
-documenttype[1].index[30].field[0].name sourcelocale
-documenttype[1].index[31].name sourcecontinent
-documenttype[1].index[31].field[1]
-documenttype[1].index[31].field[0].name sourcecontinent
-documenttype[1].index[32].name articlecountry
-documenttype[1].index[32].field[1]
-documenttype[1].index[32].field[0].name articlecountry
-documenttype[1].index[33].name articlelocale
-documenttype[1].index[33].field[1]
-documenttype[1].index[33].field[0].name articlelocale
-documenttype[1].index[34].name articlecontinent
-documenttype[1].index[34].field[1]
-documenttype[1].index[34].field[0].name articlecontinent
-documenttype[1].index[35].name sourcerank
-documenttype[1].index[35].field[1]
-documenttype[1].index[35].field[0].name sourcerank
-documenttype[1].index[36].name crawldate
-documenttype[1].index[36].field[1]
-documenttype[1].index[36].field[0].name crawldate
-documenttype[1].index[37].name indexdate
-documenttype[1].index[37].field[1]
-documenttype[1].index[37].field[0].name indexdate
-documenttype[1].index[38].name procdate
-documenttype[1].index[38].field[1]
-documenttype[1].index[38].field[0].name procdate
-documenttype[1].index[39].name sourceid
-documenttype[1].index[39].field[1]
-documenttype[1].index[39].field[0].name sourceid
-documenttype[1].index[40].name sourcefeedid
-documenttype[1].index[40].field[1]
-documenttype[1].index[40].field[0].name sourcefeedid
-documenttype[2].name music
-documenttype[2].index[1]
-documenttype[2].index[0].name sddocname
-documenttype[2].index[0].field[1]
-documenttype[2].index[0].field[0].name sddocname
-documenttype[3].name mail
-documenttype[3].index[21]
-documenttype[3].index[0].name sddocname
-documenttype[3].index[0].field[1]
-documenttype[3].index[0].field[0].name sddocname
-documenttype[3].index[1].name mailid
-documenttype[3].index[1].field[1]
-documenttype[3].index[1].field[0].name mailid
-documenttype[3].index[2].name date
-documenttype[3].index[2].field[1]
-documenttype[3].index[2].field[0].name date
-documenttype[3].index[3].name from
-documenttype[3].index[3].field[1]
-documenttype[3].index[3].field[0].name from
-documenttype[3].index[4].name sender
-documenttype[3].index[4].field[1]
-documenttype[3].index[4].field[0].name from
-documenttype[3].index[5].name address
-documenttype[3].index[5].field[3]
-documenttype[3].index[5].field[0].name from
-documenttype[3].index[5].field[1].name to
-documenttype[3].index[5].field[2].name cc
-documenttype[3].index[6].name header
-documenttype[3].index[6].field[4]
-documenttype[3].index[6].field[0].name from
-documenttype[3].index[6].field[1].name to
-documenttype[3].index[6].field[2].name cc
-documenttype[3].index[6].field[3].name subject
-documenttype[3].index[7].name default
-documenttype[3].index[7].field[5]
-documenttype[3].index[7].field[0].name from
-documenttype[3].index[7].field[1].name to
-documenttype[3].index[7].field[2].name cc
-documenttype[3].index[7].field[3].name subject
-documenttype[3].index[7].field[4].name mailbody
-documenttype[3].index[8].name all
-documenttype[3].index[8].field[8]
-documenttype[3].index[8].field[0].name from
-documenttype[3].index[8].field[1].name to
-documenttype[3].index[8].field[2].name cc
-documenttype[3].index[8].field[3].name subject
-documenttype[3].index[8].field[4].name mailbody
-documenttype[3].index[8].field[5].name attachmentnames
-documenttype[3].index[8].field[6].name attachmenttypes
-documenttype[3].index[8].field[7].name attachmentcontent
-documenttype[3].index[9].name replyto
-documenttype[3].index[9].field[1]
-documenttype[3].index[9].field[0].name replyto
-documenttype[3].index[10].name to
-documenttype[3].index[10].field[1]
-documenttype[3].index[10].field[0].name to
-documenttype[3].index[11].name recipient
-documenttype[3].index[11].field[2]
-documenttype[3].index[11].field[0].name to
-documenttype[3].index[11].field[1].name cc
-documenttype[3].index[12].name cc
-documenttype[3].index[12].field[1]
-documenttype[3].index[12].field[0].name cc
-documenttype[3].index[13].name bcc
-documenttype[3].index[13].field[1]
-documenttype[3].index[13].field[0].name bcc
-documenttype[3].index[14].name subject
-documenttype[3].index[14].field[1]
-documenttype[3].index[14].field[0].name subject
-documenttype[3].index[15].name mailbody
-documenttype[3].index[15].field[1]
-documenttype[3].index[15].field[0].name mailbody
-documenttype[3].index[16].name attachmentcount
-documenttype[3].index[16].field[1]
-documenttype[3].index[16].field[0].name attachmentcount
-documenttype[3].index[17].name attachmentname
-documenttype[3].index[17].field[1]
-documenttype[3].index[17].field[0].name attachmentnames
-documenttype[3].index[18].name attachmenttype
-documenttype[3].index[18].field[1]
-documenttype[3].index[18].field[0].name attachmenttypes
-documenttype[3].index[19].name attachmentlanguages
-documenttype[3].index[19].field[1]
-documenttype[3].index[19].field[0].name attachmentlanguages
-documenttype[3].index[20].name attachment
-documenttype[3].index[20].field[1]
-documenttype[3].index[20].field[0].name attachmentcontent
-documenttype[4].name compressed_header
-documenttype[4].index[1]
-documenttype[4].index[0].name sddocname
-documenttype[4].index[0].field[1]
-documenttype[4].index[0].field[0].name sddocname
-documenttype[5].name compressed_both
-documenttype[5].index[1]
-documenttype[5].index[0].name sddocname
-documenttype[5].index[0].field[1]
-documenttype[5].index[0].field[0].name sddocname
-documenttype[6].name compressed_body
-documenttype[6].index[1]
-documenttype[6].index[0].name sddocname
-documenttype[6].index[0].field[1]
-documenttype[6].index[0].field[0].name sddocname
+documenttype[].name newssummary
+documenttype[].index[24]
+documenttype[].index[].name sddocname
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name sddocname
+documenttype[].index[].name title
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name title
+documenttype[].index[].name titleabstract
+documenttype[].index[].field[2]
+documenttype[].index[].field[].name title
+documenttype[].index[].field[].name abstract
+documenttype[].index[].name default
+documenttype[].index[].field[2]
+documenttype[].index[].field[].name title
+documenttype[].index[].field[].name abstract
+documenttype[].index[].name abstract
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name abstract
+documenttype[].index[].name sourcename
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name sourcename
+documenttype[].index[].name source
+documenttype[].index[].field[2]
+documenttype[].index[].field[].name sourcename
+documenttype[].index[].field[].name providername
+documenttype[].index[].name providername
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name providername
+documenttype[].index[].name thumburl
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name thumburl
+documenttype[].index[].name thumbwidth
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name thumbwidth
+documenttype[].index[].name thumbheight
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name thumbheight
+documenttype[].index[].name language
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name language
+documenttype[].index[].name languages
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name language
+documenttype[].index[].name url
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name url
+documenttype[].index[].name sourceurl
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name sourceurl
+documenttype[].index[].name categories
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name categories
+documenttype[].index[].name pubdate
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name pubdate
+documenttype[].index[].name expdate
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name expdate
+documenttype[].index[].name fingerprint
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name fingerprint
+documenttype[].index[].name debug
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name debug
+documenttype[].index[].name attributes
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name attributes
+documenttype[].index[].name eustaticrank
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name eustaticrank
+documenttype[].index[].name usstaticrank
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name usstaticrank
+documenttype[].index[].name asiastaticrank
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name asiastaticrank
+documenttype[].name newsarticle
+documenttype[].index[41]
+documenttype[].index[].name sddocname
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name sddocname
+documenttype[].index[].name title
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name title
+documenttype[].index[].name titleabstract
+documenttype[].index[].field[2]
+documenttype[].index[].field[].name title
+documenttype[].index[].field[].name abstract
+documenttype[].index[].name default
+documenttype[].index[].field[3]
+documenttype[].index[].field[].name title
+documenttype[].index[].field[].name abstract
+documenttype[].index[].field[].name body
+documenttype[].index[].name abstract
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name abstract
+documenttype[].index[].name sourcename
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name sourcename
+documenttype[].index[].name source
+documenttype[].index[].field[3]
+documenttype[].index[].field[].name sourcename
+documenttype[].index[].field[].name providername
+documenttype[].index[].field[].name othersourcenames
+documenttype[].index[].name providername
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name providername
+documenttype[].index[].name thumburl
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name thumburl
+documenttype[].index[].name thumbwidth
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name thumbwidth
+documenttype[].index[].name thumbheight
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name thumbheight
+documenttype[].index[].name language
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name language
+documenttype[].index[].name languages
+documenttype[].index[].field[2]
+documenttype[].index[].field[].name language
+documenttype[].index[].field[].name otherlanguages
+documenttype[].index[].name url
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name url
+documenttype[].index[].name sourceurl
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name sourceurl
+documenttype[].index[].name categories
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name categories
+documenttype[].index[].name pubdate
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name pubdate
+documenttype[].index[].name expdate
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name expdate
+documenttype[].index[].name fingerprint
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name fingerprint
+documenttype[].index[].name debug
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name debug
+documenttype[].index[].name attributes
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name attributes
+documenttype[].index[].name eustaticrank
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name eustaticrank
+documenttype[].index[].name usstaticrank
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name usstaticrank
+documenttype[].index[].name asiastaticrank
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name asiastaticrank
+documenttype[].index[].name body
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name body
+documenttype[].index[].name othersourcenames
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name othersourcenames
+documenttype[].index[].name author
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name author
+documenttype[].index[].name referrerurl
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name referrerurl
+documenttype[].index[].name sourcelocation
+documenttype[].index[].field[4]
+documenttype[].index[].field[].name sourcelocation
+documenttype[].index[].field[].name sourcecountry
+documenttype[].index[].field[].name sourcelocale
+documenttype[].index[].field[].name sourcecontinent
+documenttype[].index[].name sourcecountry
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name sourcecountry
+documenttype[].index[].name sourcelocale
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name sourcelocale
+documenttype[].index[].name sourcecontinent
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name sourcecontinent
+documenttype[].index[].name articlecountry
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name articlecountry
+documenttype[].index[].name articlelocale
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name articlelocale
+documenttype[].index[].name articlecontinent
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name articlecontinent
+documenttype[].index[].name sourcerank
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name sourcerank
+documenttype[].index[].name crawldate
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name crawldate
+documenttype[].index[].name indexdate
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name indexdate
+documenttype[].index[].name procdate
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name procdate
+documenttype[].index[].name sourceid
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name sourceid
+documenttype[].index[].name sourcefeedid
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name sourcefeedid
+documenttype[].name music
+documenttype[].index[1]
+documenttype[].index[].name sddocname
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name sddocname
+documenttype[].name mail
+documenttype[].index[21]
+documenttype[].index[].name sddocname
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name sddocname
+documenttype[].index[].name mailid
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name mailid
+documenttype[].index[].name date
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name date
+documenttype[].index[].name from
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name from
+documenttype[].index[].name sender
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name from
+documenttype[].index[].name address
+documenttype[].index[].field[3]
+documenttype[].index[].field[].name from
+documenttype[].index[].field[].name to
+documenttype[].index[].field[].name cc
+documenttype[].index[].name header
+documenttype[].index[].field[4]
+documenttype[].index[].field[].name from
+documenttype[].index[].field[].name to
+documenttype[].index[].field[].name cc
+documenttype[].index[].field[].name subject
+documenttype[].index[].name default
+documenttype[].index[].field[5]
+documenttype[].index[].field[].name from
+documenttype[].index[].field[].name to
+documenttype[].index[].field[].name cc
+documenttype[].index[].field[].name subject
+documenttype[].index[].field[].name mailbody
+documenttype[].index[].name all
+documenttype[].index[].field[8]
+documenttype[].index[].field[].name from
+documenttype[].index[].field[].name to
+documenttype[].index[].field[].name cc
+documenttype[].index[].field[].name subject
+documenttype[].index[].field[].name mailbody
+documenttype[].index[].field[].name attachmentnames
+documenttype[].index[].field[].name attachmenttypes
+documenttype[].index[].field[].name attachmentcontent
+documenttype[].index[].name replyto
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name replyto
+documenttype[].index[].name to
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name to
+documenttype[].index[].name recipient
+documenttype[].index[].field[2]
+documenttype[].index[].field[].name to
+documenttype[].index[].field[].name cc
+documenttype[].index[].name cc
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name cc
+documenttype[].index[].name bcc
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name bcc
+documenttype[].index[].name subject
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name subject
+documenttype[].index[].name mailbody
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name mailbody
+documenttype[].index[].name attachmentcount
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name attachmentcount
+documenttype[].index[].name attachmentname
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name attachmentnames
+documenttype[].index[].name attachmenttype
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name attachmenttypes
+documenttype[].index[].name attachmentlanguages
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name attachmentlanguages
+documenttype[].index[].name attachment
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name attachmentcontent
+documenttype[].name compressed_header
+documenttype[].index[1]
+documenttype[].index[].name sddocname
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name sddocname
+documenttype[].name compressed_both
+documenttype[].index[1]
+documenttype[].index[].name sddocname
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name sddocname
+documenttype[].name compressed_body
+documenttype[].index[1]
+documenttype[].index[].name sddocname
+documenttype[].index[].field[1]
+documenttype[].index[].field[].name sddocname
diff --git a/config-model/src/test/derived/documentderiver/vsmsummary.cfg b/config-model/src/test/derived/documentderiver/vsmsummary.cfg
index 5f9882e8c1b..7a9846101be 100644
--- a/config-model/src/test/derived/documentderiver/vsmsummary.cfg
+++ b/config-model/src/test/derived/documentderiver/vsmsummary.cfg
@@ -1,6 +1,6 @@
fieldmap[1]
-fieldmap[0].summary snippet
-fieldmap[0].document[2]
-fieldmap[0].document[0].field body
-fieldmap[0].document[1].field attachmentcontent
-fieldmap[0].command FLATTENJUNIPER \ No newline at end of file
+fieldmap[].summary snippet
+fieldmap[].document[2]
+fieldmap[].document[].field body
+fieldmap[].document[].field attachmentcontent
+fieldmap[].command FLATTENJUNIPER
diff --git a/config-model/src/test/derived/emptychild/summary.cfg b/config-model/src/test/derived/emptychild/summary.cfg
index b8b56eea8f5..ed3a61a5de5 100644
--- a/config-model/src/test/derived/emptychild/summary.cfg
+++ b/config-model/src/test/derived/emptychild/summary.cfg
@@ -1,19 +1,19 @@
defaultsummaryid 1814603381
-classes[0].id 1814603381
-classes[0].name "default"
-classes[0].fields[0].name "a1"
-classes[0].fields[0].type "longstring"
-classes[0].fields[1].name "rankfeatures"
-classes[0].fields[1].type "featuredata"
-classes[0].fields[2].name "summaryfeatures"
-classes[0].fields[2].type "featuredata"
-classes[0].fields[3].name "documentid"
-classes[0].fields[3].type "longstring"
-classes[1].id 1490368133
-classes[1].name "attributeprefetch"
-classes[1].fields[0].name "a1"
-classes[1].fields[0].type "longstring"
-classes[1].fields[1].name "rankfeatures"
-classes[1].fields[1].type "featuredata"
-classes[1].fields[2].name "summaryfeatures"
-classes[1].fields[2].type "featuredata" \ No newline at end of file
+classes[].id 1814603381
+classes[].name "default"
+classes[].fields[].name "a1"
+classes[].fields[].type "longstring"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "documentid"
+classes[].fields[].type "longstring"
+classes[].id 1490368133
+classes[].name "attributeprefetch"
+classes[].fields[].name "a1"
+classes[].fields[].type "longstring"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
diff --git a/config-model/src/test/derived/emptydefault/documentmanager.cfg b/config-model/src/test/derived/emptydefault/documentmanager.cfg
index 9e25ff1c8ec..a7359c62c2f 100644
--- a/config-model/src/test/derived/emptydefault/documentmanager.cfg
+++ b/config-model/src/test/derived/emptydefault/documentmanager.cfg
@@ -1,49 +1,49 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
-datatype[1].id 461724009
-datatype[1].structtype[0].name "emptydefault.header"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].compresstype NONE
-datatype[1].structtype[0].compresslevel 0
-datatype[1].structtype[0].compressthreshold 95
-datatype[1].structtype[0].compressminsize 800
-datatype[1].structtype[0].field[0].name "one"
-datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
-datatype[1].structtype[0].field[1].name "two"
-datatype[1].structtype[0].field[1].datatype 2
-datatype[1].structtype[0].field[1].detailedtype ""
-datatype[1].structtype[0].field[2].name "rankfeatures"
-datatype[1].structtype[0].field[2].datatype 2
-datatype[1].structtype[0].field[2].detailedtype ""
-datatype[1].structtype[0].field[3].name "summaryfeatures"
-datatype[1].structtype[0].field[3].datatype 2
-datatype[1].structtype[0].field[3].detailedtype ""
-datatype[2].id 311791038
-datatype[2].structtype[0].name "emptydefault.body"
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].compresstype NONE
-datatype[2].structtype[0].compresslevel 0
-datatype[2].structtype[0].compressthreshold 95
-datatype[2].structtype[0].compressminsize 800
-datatype[3].id -1663995626
-datatype[3].documenttype[0].name "emptydefault"
-datatype[3].documenttype[0].version 0
-datatype[3].documenttype[0].inherits[0].name "document"
-datatype[3].documenttype[0].inherits[0].version 0
-datatype[3].documenttype[0].headerstruct 461724009
-datatype[3].documenttype[0].bodystruct 311791038
-datatype[3].documenttype[0].fieldsets{[document]}.fields[0] "one"
-datatype[3].documenttype[0].fieldsets{[document]}.fields[1] "two"
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 461724009
+datatype[].structtype[].name "emptydefault.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "one"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "two"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 311791038
+datatype[].structtype[].name "emptydefault.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id -1663995626
+datatype[].documenttype[].name "emptydefault"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 461724009
+datatype[].documenttype[].bodystruct 311791038
+datatype[].documenttype[].fieldsets{[document]}.fields[0] "one"
+datatype[].documenttype[].fieldsets{[document]}.fields[1] "two"
diff --git a/config-model/src/test/derived/emptydefault/ilscripts.cfg b/config-model/src/test/derived/emptydefault/ilscripts.cfg
index 6806ce8bf91..16e9e236eb9 100644
--- a/config-model/src/test/derived/emptydefault/ilscripts.cfg
+++ b/config-model/src/test/derived/emptydefault/ilscripts.cfg
@@ -1,7 +1,7 @@
maxtermoccurrences 100
fieldmatchmaxlength 1000000
-ilscript[0].doctype "emptydefault"
-ilscript[0].docfield[0] "one"
-ilscript[0].docfield[1] "two"
-ilscript[0].content[0] "clear_state | guard { input one | tokenize normalize stem:\"SHORTEST\" | index one; }"
-ilscript[0].content[1] "clear_state | guard { input two | tokenize normalize stem:\"SHORTEST\" | index two; }"
+ilscript[].doctype "emptydefault"
+ilscript[].docfield[0] "one"
+ilscript[].docfield[1] "two"
+ilscript[].content[0] "clear_state | guard { input one | tokenize normalize stem:\"SHORTEST\" | index one; }"
+ilscript[].content[1] "clear_state | guard { input two | tokenize normalize stem:\"SHORTEST\" | index two; }"
diff --git a/config-model/src/test/derived/emptydefault/index-info.cfg b/config-model/src/test/derived/emptydefault/index-info.cfg
index 666ce9e58c0..d773f544abb 100644
--- a/config-model/src/test/derived/emptydefault/index-info.cfg
+++ b/config-model/src/test/derived/emptydefault/index-info.cfg
@@ -1,29 +1,29 @@
-indexinfo[0].name "emptydefault"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "one"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "one"
-indexinfo[0].command[3].command "lowercase"
-indexinfo[0].command[4].indexname "one"
-indexinfo[0].command[4].command "stem:SHORTEST"
-indexinfo[0].command[5].indexname "one"
-indexinfo[0].command[5].command "normalize"
-indexinfo[0].command[6].indexname "one"
-indexinfo[0].command[6].command "plain-tokens"
-indexinfo[0].command[7].indexname "two"
-indexinfo[0].command[7].command "index"
-indexinfo[0].command[8].indexname "two"
-indexinfo[0].command[8].command "lowercase"
-indexinfo[0].command[9].indexname "two"
-indexinfo[0].command[9].command "stem:SHORTEST"
-indexinfo[0].command[10].indexname "two"
-indexinfo[0].command[10].command "normalize"
-indexinfo[0].command[11].indexname "two"
-indexinfo[0].command[11].command "plain-tokens"
-indexinfo[0].command[12].indexname "rankfeatures"
-indexinfo[0].command[12].command "index"
-indexinfo[0].command[13].indexname "summaryfeatures"
-indexinfo[0].command[13].command "index" \ No newline at end of file
+indexinfo[].name "emptydefault"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "one"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "one"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "one"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "one"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "one"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "two"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "two"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "two"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "two"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "two"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "rankfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "summaryfeatures"
+indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/emptydefault/rank-profiles.cfg b/config-model/src/test/derived/emptydefault/rank-profiles.cfg
index caca83a9a91..873d3c0cd49 100644
--- a/config-model/src/test/derived/emptydefault/rank-profiles.cfg
+++ b/config-model/src/test/derived/emptydefault/rank-profiles.cfg
@@ -1,10 +1,10 @@
-rankprofile[0].name "default"
-rankprofile[1].name "unranked"
-rankprofile[1].fef.property[0].name "vespa.rank.firstphase"
-rankprofile[1].fef.property[0].value "value(0)"
-rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize"
-rankprofile[1].fef.property[1].value "0"
-rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize"
-rankprofile[1].fef.property[2].value "0"
-rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures"
-rankprofile[1].fef.property[3].value "true" \ No newline at end of file
+rankprofile[].name "default"
+rankprofile[].name "unranked"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "value(0)"
+rankprofile[].fef.property[].name "vespa.hitcollector.heapsize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.hitcollector.arraysize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.dump.ignoredefaultfeatures"
+rankprofile[].fef.property[].value "true"
diff --git a/config-model/src/test/derived/emptydefault/summary.cfg b/config-model/src/test/derived/emptydefault/summary.cfg
index 788f02babfc..e47f24b21c3 100644
--- a/config-model/src/test/derived/emptydefault/summary.cfg
+++ b/config-model/src/test/derived/emptydefault/summary.cfg
@@ -1,9 +1,9 @@
defaultsummaryid 1151071433
-classes[0].id 1151071433
-classes[0].name "default"
-classes[0].fields[0].name "rankfeatures"
-classes[0].fields[0].type "featuredata"
-classes[0].fields[1].name "summaryfeatures"
-classes[0].fields[1].type "featuredata"
-classes[0].fields[2].name "documentid"
-classes[0].fields[2].type "longstring" \ No newline at end of file
+classes[].id 1151071433
+classes[].name "default"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "documentid"
+classes[].fields[].type "longstring"
diff --git a/config-model/src/test/derived/emptydefault/summarymap.cfg b/config-model/src/test/derived/emptydefault/summarymap.cfg
index 42b6e811ee6..8956a146b74 100644
--- a/config-model/src/test/derived/emptydefault/summarymap.cfg
+++ b/config-model/src/test/derived/emptydefault/summarymap.cfg
@@ -1,7 +1,7 @@
defaultoutputclass -1
-override[0].field "rankfeatures"
-override[0].command "rankfeatures"
-override[0].arguments ""
-override[1].field "summaryfeatures"
-override[1].command "summaryfeatures"
-override[1].arguments "" \ No newline at end of file
+override[].field "rankfeatures"
+override[].command "rankfeatures"
+override[].arguments ""
+override[].field "summaryfeatures"
+override[].command "summaryfeatures"
+override[].arguments ""
diff --git a/config-model/src/test/derived/exactmatch/ilscripts.cfg b/config-model/src/test/derived/exactmatch/ilscripts.cfg
index c5bcaf70e41..87096fe70d4 100644
--- a/config-model/src/test/derived/exactmatch/ilscripts.cfg
+++ b/config-model/src/test/derived/exactmatch/ilscripts.cfg
@@ -1,7 +1,7 @@
maxtermoccurrences 100
fieldmatchmaxlength 1000000
-ilscript[0].doctype "exactmatch"
-ilscript[0].docfield[0] "tag"
-ilscript[0].docfield[1] "screweduserids"
-ilscript[0].content[0] "clear_state | guard { input tag | exact | summary tag | index tag; }"
-ilscript[0].content[1] "clear_state | guard { input screweduserids | exact | index screweduserids | summary screweduserids | attribute screweduserids; }"
+ilscript[].doctype "exactmatch"
+ilscript[].docfield[0] "tag"
+ilscript[].docfield[1] "screweduserids"
+ilscript[].content[0] "clear_state | guard { input tag | exact | summary tag | index tag; }"
+ilscript[].content[1] "clear_state | guard { input screweduserids | exact | index screweduserids | summary screweduserids | attribute screweduserids; }"
diff --git a/config-model/src/test/derived/exactmatch/index-info.cfg b/config-model/src/test/derived/exactmatch/index-info.cfg
index aeece43832d..55b6b2d8fcb 100644
--- a/config-model/src/test/derived/exactmatch/index-info.cfg
+++ b/config-model/src/test/derived/exactmatch/index-info.cfg
@@ -1,21 +1,21 @@
-indexinfo[0].name "exactmatch"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "tag"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "tag"
-indexinfo[0].command[3].command "lowercase"
-indexinfo[0].command[4].indexname "tag"
-indexinfo[0].command[4].command "exact @@"
-indexinfo[0].command[5].indexname "screweduserids"
-indexinfo[0].command[5].command "index"
-indexinfo[0].command[6].indexname "screweduserids"
-indexinfo[0].command[6].command "lowercase"
-indexinfo[0].command[7].indexname "screweduserids"
-indexinfo[0].command[7].command "exact *!!!*"
-indexinfo[0].command[8].indexname "rankfeatures"
-indexinfo[0].command[8].command "index"
-indexinfo[0].command[9].indexname "summaryfeatures"
-indexinfo[0].command[9].command "index" \ No newline at end of file
+indexinfo[].name "exactmatch"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "tag"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "tag"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "tag"
+indexinfo[].command[].command "exact @@"
+indexinfo[].command[].indexname "screweduserids"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "screweduserids"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "screweduserids"
+indexinfo[].command[].command "exact *!!!*"
+indexinfo[].command[].indexname "rankfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "summaryfeatures"
+indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/fieldlength/attributes.cfg b/config-model/src/test/derived/fieldlength/attributes.cfg
index 29fd2f986f0..b26bfcc287e 100644
--- a/config-model/src/test/derived/fieldlength/attributes.cfg
+++ b/config-model/src/test/derived/fieldlength/attributes.cfg
@@ -1,4 +1,4 @@
attribute[1]
-attribute[0].name "year"
-attribute[0].datatype INT32
-attribute[0].collectiontype SINGLE
+attribute[].name "year"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
diff --git a/config-model/src/test/derived/gemini2/rank-profiles.cfg b/config-model/src/test/derived/gemini2/rank-profiles.cfg
index 362155fe6cc..aa4f963320d 100644
--- a/config-model/src/test/derived/gemini2/rank-profiles.cfg
+++ b/config-model/src/test/derived/gemini2/rank-profiles.cfg
@@ -1,29 +1,29 @@
-rankprofile[0].name "default"
-rankprofile[1].name "unranked"
-rankprofile[1].fef.property[0].name "vespa.rank.firstphase"
-rankprofile[1].fef.property[0].value "value(0)"
-rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize"
-rankprofile[1].fef.property[1].value "0"
-rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize"
-rankprofile[1].fef.property[2].value "0"
-rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures"
-rankprofile[1].fef.property[3].value "true"
-rankprofile[2].name "test"
-rankprofile[2].fef.property[0].name "rankingExpression(wrapper2).rankingScript"
-rankprofile[2].fef.property[0].value "x"
-rankprofile[2].fef.property[1].name "rankingExpression(wrapper2@c7ef616469cdb0b3).rankingScript"
-rankprofile[2].fef.property[1].value "x"
-rankprofile[2].fef.property[2].name "rankingExpression(wrapper1).rankingScript"
-rankprofile[2].fef.property[2].value "rankingExpression(wrapper2@c7ef616469cdb0b3)"
-rankprofile[2].fef.property[3].name "rankingExpression(wrapper2@2d437c13405e61d6).rankingScript"
-rankprofile[2].fef.property[3].value "attribute(right)"
-rankprofile[2].fef.property[4].name "rankingExpression(wrapper1@2d437c13405e61d6).rankingScript"
-rankprofile[2].fef.property[4].value "rankingExpression(wrapper2@2d437c13405e61d6)"
-rankprofile[2].fef.property[5].name "rankingExpression(toplevel).rankingScript"
-rankprofile[2].fef.property[5].value "rankingExpression(wrapper1@2d437c13405e61d6)"
-rankprofile[2].fef.property[6].name "rankingExpression(wrapper2@8fc8470e911f253f).rankingScript"
-rankprofile[2].fef.property[6].value "attribute(wrong)"
-rankprofile[2].fef.property[7].name "rankingExpression(wrapper1@8fc8470e911f253f).rankingScript"
-rankprofile[2].fef.property[7].value "rankingExpression(wrapper2@8fc8470e911f253f)"
-rankprofile[2].fef.property[8].name "rankingExpression(interfering).rankingScript"
-rankprofile[2].fef.property[8].value "rankingExpression(wrapper1@8fc8470e911f253f)" \ No newline at end of file
+rankprofile[].name "default"
+rankprofile[].name "unranked"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "value(0)"
+rankprofile[].fef.property[].name "vespa.hitcollector.heapsize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.hitcollector.arraysize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.dump.ignoredefaultfeatures"
+rankprofile[].fef.property[].value "true"
+rankprofile[].name "test"
+rankprofile[].fef.property[].name "rankingExpression(wrapper2).rankingScript"
+rankprofile[].fef.property[].value "x"
+rankprofile[].fef.property[].name "rankingExpression(wrapper2@c7ef616469cdb0b3).rankingScript"
+rankprofile[].fef.property[].value "x"
+rankprofile[].fef.property[].name "rankingExpression(wrapper1).rankingScript"
+rankprofile[].fef.property[].value "rankingExpression(wrapper2@c7ef616469cdb0b3)"
+rankprofile[].fef.property[].name "rankingExpression(wrapper2@2d437c13405e61d6).rankingScript"
+rankprofile[].fef.property[].value "attribute(right)"
+rankprofile[].fef.property[].name "rankingExpression(wrapper1@2d437c13405e61d6).rankingScript"
+rankprofile[].fef.property[].value "rankingExpression(wrapper2@2d437c13405e61d6)"
+rankprofile[].fef.property[].name "rankingExpression(toplevel).rankingScript"
+rankprofile[].fef.property[].value "rankingExpression(wrapper1@2d437c13405e61d6)"
+rankprofile[].fef.property[].name "rankingExpression(wrapper2@8fc8470e911f253f).rankingScript"
+rankprofile[].fef.property[].value "attribute(wrong)"
+rankprofile[].fef.property[].name "rankingExpression(wrapper1@8fc8470e911f253f).rankingScript"
+rankprofile[].fef.property[].value "rankingExpression(wrapper2@8fc8470e911f253f)"
+rankprofile[].fef.property[].name "rankingExpression(interfering).rankingScript"
+rankprofile[].fef.property[].value "rankingExpression(wrapper1@8fc8470e911f253f)"
diff --git a/config-model/src/test/derived/id/documentmanager.cfg b/config-model/src/test/derived/id/documentmanager.cfg
index 00ffb00975b..d63e5fe9d20 100644
--- a/config-model/src/test/derived/id/documentmanager.cfg
+++ b/config-model/src/test/derived/id/documentmanager.cfg
@@ -1,45 +1,45 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
-datatype[1].id -531633022
-datatype[1].structtype[0].name "id.header"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].compresstype NONE
-datatype[1].structtype[0].compresslevel 0
-datatype[1].structtype[0].compressthreshold 95
-datatype[1].structtype[0].compressminsize 800
-datatype[1].structtype[0].field[0].name "uri"
-datatype[1].structtype[0].field[0].datatype 10
-datatype[1].structtype[0].field[0].detailedtype ""
-datatype[1].structtype[0].field[1].name "rankfeatures"
-datatype[1].structtype[0].field[1].datatype 2
-datatype[1].structtype[0].field[1].detailedtype ""
-datatype[1].structtype[0].field[2].name "summaryfeatures"
-datatype[1].structtype[0].field[2].datatype 2
-datatype[1].structtype[0].field[2].detailedtype ""
-datatype[2].id -1830022377
-datatype[2].structtype[0].name "id.body"
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].compresstype NONE
-datatype[2].structtype[0].compresslevel 0
-datatype[2].structtype[0].compressthreshold 95
-datatype[2].structtype[0].compressminsize 800
-datatype[3].id 3225629
-datatype[3].documenttype[0].name "id"
-datatype[3].documenttype[0].version 0
-datatype[3].documenttype[0].inherits[0].name "document"
-datatype[3].documenttype[0].inherits[0].version 0
-datatype[3].documenttype[0].headerstruct -531633022
-datatype[3].documenttype[0].bodystruct -1830022377
-datatype[3].documenttype[0].fieldsets{[document]}.fields[0] "uri"
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -531633022
+datatype[].structtype[].name "id.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "uri"
+datatype[].structtype[].field[].datatype 10
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -1830022377
+datatype[].structtype[].name "id.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id 3225629
+datatype[].documenttype[].name "id"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct -531633022
+datatype[].documenttype[].bodystruct -1830022377
+datatype[].documenttype[].fieldsets{[document]}.fields[0] "uri"
diff --git a/config-model/src/test/derived/id/ilscripts.cfg b/config-model/src/test/derived/id/ilscripts.cfg
index 0a617538ded..0a78bee80c7 100644
--- a/config-model/src/test/derived/id/ilscripts.cfg
+++ b/config-model/src/test/derived/id/ilscripts.cfg
@@ -1,5 +1,5 @@
maxtermoccurrences 100
fieldmatchmaxlength 1000000
-ilscript[0].doctype "id"
-ilscript[0].docfield[0] "uri"
-ilscript[0].content[0] "clear_state | guard { input uri | summary uri | index uri; }"
+ilscript[].doctype "id"
+ilscript[].docfield[0] "uri"
+ilscript[].content[0] "clear_state | guard { input uri | summary uri | index uri; }"
diff --git a/config-model/src/test/derived/id/index-info.cfg b/config-model/src/test/derived/id/index-info.cfg
index 3853a9c6cac..fe066c7d147 100644
--- a/config-model/src/test/derived/id/index-info.cfg
+++ b/config-model/src/test/derived/id/index-info.cfg
@@ -1,47 +1,47 @@
-indexinfo[0].name "id"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "uri"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "uri"
-indexinfo[0].command[3].command "lowercase"
-indexinfo[0].command[4].indexname "uri"
-indexinfo[0].command[4].command "plain-tokens"
-indexinfo[0].command[5].indexname "uri"
-indexinfo[0].command[5].command "fullurl"
-indexinfo[0].command[6].indexname "uri.uri"
-indexinfo[0].command[6].command "fullurl"
-indexinfo[0].command[7].indexname "uri.uri"
-indexinfo[0].command[7].command "lowercase"
-indexinfo[0].command[8].indexname "uri.path"
-indexinfo[0].command[8].command "fullurl"
-indexinfo[0].command[9].indexname "uri.path"
-indexinfo[0].command[9].command "lowercase"
-indexinfo[0].command[10].indexname "uri.query"
-indexinfo[0].command[10].command "fullurl"
-indexinfo[0].command[11].indexname "uri.query"
-indexinfo[0].command[11].command "lowercase"
-indexinfo[0].command[12].indexname "uri.hostname"
-indexinfo[0].command[12].command "urlhost"
-indexinfo[0].command[13].indexname "uri.hostname"
-indexinfo[0].command[13].command "lowercase"
-indexinfo[0].command[14].indexname "rankfeatures"
-indexinfo[0].command[14].command "index"
-indexinfo[0].command[15].indexname "summaryfeatures"
-indexinfo[0].command[15].command "index"
-indexinfo[0].command[16].indexname "uri.fragment"
-indexinfo[0].command[16].command "index"
-indexinfo[0].command[17].indexname "uri.host"
-indexinfo[0].command[17].command "index"
-indexinfo[0].command[18].indexname "uri.hostname"
-indexinfo[0].command[18].command "index"
-indexinfo[0].command[19].indexname "uri.path"
-indexinfo[0].command[19].command "index"
-indexinfo[0].command[20].indexname "uri.port"
-indexinfo[0].command[20].command "index"
-indexinfo[0].command[21].indexname "uri.query"
-indexinfo[0].command[21].command "index"
-indexinfo[0].command[22].indexname "uri.scheme"
-indexinfo[0].command[22].command "index" \ No newline at end of file
+indexinfo[].name "id"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "uri"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "uri"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "uri"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "uri"
+indexinfo[].command[].command "fullurl"
+indexinfo[].command[].indexname "uri.uri"
+indexinfo[].command[].command "fullurl"
+indexinfo[].command[].indexname "uri.uri"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "uri.path"
+indexinfo[].command[].command "fullurl"
+indexinfo[].command[].indexname "uri.path"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "uri.query"
+indexinfo[].command[].command "fullurl"
+indexinfo[].command[].indexname "uri.query"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "uri.hostname"
+indexinfo[].command[].command "urlhost"
+indexinfo[].command[].indexname "uri.hostname"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "rankfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "summaryfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "uri.fragment"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "uri.host"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "uri.hostname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "uri.path"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "uri.port"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "uri.query"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "uri.scheme"
+indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/id/rank-profiles.cfg b/config-model/src/test/derived/id/rank-profiles.cfg
index caca83a9a91..873d3c0cd49 100644
--- a/config-model/src/test/derived/id/rank-profiles.cfg
+++ b/config-model/src/test/derived/id/rank-profiles.cfg
@@ -1,10 +1,10 @@
-rankprofile[0].name "default"
-rankprofile[1].name "unranked"
-rankprofile[1].fef.property[0].name "vespa.rank.firstphase"
-rankprofile[1].fef.property[0].value "value(0)"
-rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize"
-rankprofile[1].fef.property[1].value "0"
-rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize"
-rankprofile[1].fef.property[2].value "0"
-rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures"
-rankprofile[1].fef.property[3].value "true" \ No newline at end of file
+rankprofile[].name "default"
+rankprofile[].name "unranked"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "value(0)"
+rankprofile[].fef.property[].name "vespa.hitcollector.heapsize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.hitcollector.arraysize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.dump.ignoredefaultfeatures"
+rankprofile[].fef.property[].value "true"
diff --git a/config-model/src/test/derived/id/summary.cfg b/config-model/src/test/derived/id/summary.cfg
index e67b81746b8..dbc9a90ebce 100644
--- a/config-model/src/test/derived/id/summary.cfg
+++ b/config-model/src/test/derived/id/summary.cfg
@@ -1,11 +1,11 @@
defaultsummaryid 1814716401
-classes[0].id 1814716401
-classes[0].name "default"
-classes[0].fields[0].name "uri"
-classes[0].fields[0].type "longstring"
-classes[0].fields[1].name "rankfeatures"
-classes[0].fields[1].type "featuredata"
-classes[0].fields[2].name "summaryfeatures"
-classes[0].fields[2].type "featuredata"
-classes[0].fields[3].name "documentid"
-classes[0].fields[3].type "longstring" \ No newline at end of file
+classes[].id 1814716401
+classes[].name "default"
+classes[].fields[].name "uri"
+classes[].fields[].type "longstring"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "documentid"
+classes[].fields[].type "longstring"
diff --git a/config-model/src/test/derived/id/summarymap.cfg b/config-model/src/test/derived/id/summarymap.cfg
index 42b6e811ee6..8956a146b74 100644
--- a/config-model/src/test/derived/id/summarymap.cfg
+++ b/config-model/src/test/derived/id/summarymap.cfg
@@ -1,7 +1,7 @@
defaultoutputclass -1
-override[0].field "rankfeatures"
-override[0].command "rankfeatures"
-override[0].arguments ""
-override[1].field "summaryfeatures"
-override[1].command "summaryfeatures"
-override[1].arguments "" \ No newline at end of file
+override[].field "rankfeatures"
+override[].command "rankfeatures"
+override[].arguments ""
+override[].field "summaryfeatures"
+override[].command "summaryfeatures"
+override[].arguments ""
diff --git a/config-model/src/test/derived/id/vsmsummary.cfg b/config-model/src/test/derived/id/vsmsummary.cfg
index 3538ba9880e..2c5e8ed5cad 100644
--- a/config-model/src/test/derived/id/vsmsummary.cfg
+++ b/config-model/src/test/derived/id/vsmsummary.cfg
@@ -1,8 +1,8 @@
outputclass ""
-fieldmap[0].summary "uri"
-fieldmap[0].document[0].field "uri"
-fieldmap[0].command NONE
-fieldmap[1].summary "rankfeatures"
-fieldmap[1].command NONE
-fieldmap[2].summary "summaryfeatures"
-fieldmap[2].command NONE \ No newline at end of file
+fieldmap[].summary "uri"
+fieldmap[].document[].field "uri"
+fieldmap[].command NONE
+fieldmap[].summary "rankfeatures"
+fieldmap[].command NONE
+fieldmap[].summary "summaryfeatures"
+fieldmap[].command NONE
diff --git a/config-model/src/test/derived/indexinfo_fieldsets/index-info.cfg b/config-model/src/test/derived/indexinfo_fieldsets/index-info.cfg
index 02a35fb1f2c..aad17d1dbf2 100644
--- a/config-model/src/test/derived/indexinfo_fieldsets/index-info.cfg
+++ b/config-model/src/test/derived/indexinfo_fieldsets/index-info.cfg
@@ -1,75 +1,75 @@
-indexinfo[0].name "indexinfo_fieldsets"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "nostemming1"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "nostemming1"
-indexinfo[0].command[3].command "lowercase"
-indexinfo[0].command[4].indexname "nostemming1"
-indexinfo[0].command[4].command "normalize"
-indexinfo[0].command[5].indexname "nostemming1"
-indexinfo[0].command[5].command "plain-tokens"
-indexinfo[0].command[6].indexname "nostemming2"
-indexinfo[0].command[6].command "index"
-indexinfo[0].command[7].indexname "nostemming2"
-indexinfo[0].command[7].command "lowercase"
-indexinfo[0].command[8].indexname "nostemming2"
-indexinfo[0].command[8].command "normalize"
-indexinfo[0].command[9].indexname "nostemming2"
-indexinfo[0].command[9].command "plain-tokens"
-indexinfo[0].command[10].indexname "nonormalizing1"
-indexinfo[0].command[10].command "index"
-indexinfo[0].command[11].indexname "nonormalizing1"
-indexinfo[0].command[11].command "lowercase"
-indexinfo[0].command[12].indexname "nonormalizing1"
-indexinfo[0].command[12].command "stem:SHORTEST"
-indexinfo[0].command[13].indexname "nonormalizing1"
-indexinfo[0].command[13].command "plain-tokens"
-indexinfo[0].command[14].indexname "nonormalizing2"
-indexinfo[0].command[14].command "index"
-indexinfo[0].command[15].indexname "nonormalizing2"
-indexinfo[0].command[15].command "lowercase"
-indexinfo[0].command[16].indexname "nonormalizing2"
-indexinfo[0].command[16].command "stem:SHORTEST"
-indexinfo[0].command[17].indexname "nonormalizing2"
-indexinfo[0].command[17].command "plain-tokens"
-indexinfo[0].command[18].indexname "exact1"
-indexinfo[0].command[18].command "index"
-indexinfo[0].command[19].indexname "exact1"
-indexinfo[0].command[19].command "lowercase"
-indexinfo[0].command[20].indexname "exact1"
-indexinfo[0].command[20].command "exact @@"
-indexinfo[0].command[21].indexname "exact2"
-indexinfo[0].command[21].command "index"
-indexinfo[0].command[22].indexname "exact2"
-indexinfo[0].command[22].command "lowercase"
-indexinfo[0].command[23].indexname "exact2"
-indexinfo[0].command[23].command "exact @@"
-indexinfo[0].command[24].indexname "rankfeatures"
-indexinfo[0].command[24].command "index"
-indexinfo[0].command[25].indexname "summaryfeatures"
-indexinfo[0].command[25].command "index"
-indexinfo[0].command[26].indexname "nostemming"
-indexinfo[0].command[26].command "lowercase"
-indexinfo[0].command[27].indexname "nostemming"
-indexinfo[0].command[27].command "index"
-indexinfo[0].command[28].indexname "nostemming"
-indexinfo[0].command[28].command "plain-tokens"
-indexinfo[0].command[29].indexname "nostemming"
-indexinfo[0].command[29].command "normalize"
-indexinfo[0].command[30].indexname "nonormalizing"
-indexinfo[0].command[30].command "lowercase"
-indexinfo[0].command[31].indexname "nonormalizing"
-indexinfo[0].command[31].command "index"
-indexinfo[0].command[32].indexname "nonormalizing"
-indexinfo[0].command[32].command "plain-tokens"
-indexinfo[0].command[33].indexname "nonormalizing"
-indexinfo[0].command[33].command "stem:SHORTEST"
-indexinfo[0].command[34].indexname "exact"
-indexinfo[0].command[34].command "lowercase"
-indexinfo[0].command[35].indexname "exact"
-indexinfo[0].command[35].command "index"
-indexinfo[0].command[36].indexname "exact"
-indexinfo[0].command[36].command "exact @@" \ No newline at end of file
+indexinfo[].name "indexinfo_fieldsets"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "nostemming1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "nostemming1"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "nostemming1"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "nostemming1"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "nostemming2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "nostemming2"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "nostemming2"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "nostemming2"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "nonormalizing1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "nonormalizing1"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "nonormalizing1"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "nonormalizing1"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "nonormalizing2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "nonormalizing2"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "nonormalizing2"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "nonormalizing2"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "exact1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "exact1"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "exact1"
+indexinfo[].command[].command "exact @@"
+indexinfo[].command[].indexname "exact2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "exact2"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "exact2"
+indexinfo[].command[].command "exact @@"
+indexinfo[].command[].indexname "rankfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "summaryfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "nostemming"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "nostemming"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "nostemming"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "nostemming"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "nonormalizing"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "nonormalizing"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "nonormalizing"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "nonormalizing"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "exact"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "exact"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "exact"
+indexinfo[].command[].command "exact @@"
diff --git a/config-model/src/test/derived/indexinfo_lowercase/index-info.cfg b/config-model/src/test/derived/indexinfo_lowercase/index-info.cfg
index 6b79d5a4dc3..39b1d92cb9e 100644
--- a/config-model/src/test/derived/indexinfo_lowercase/index-info.cfg
+++ b/config-model/src/test/derived/indexinfo_lowercase/index-info.cfg
@@ -1,289 +1,289 @@
-indexinfo[0].name "indexinfo_lowercase"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "lc_attribute_src"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "lc_index_src"
-indexinfo[0].command[3].command "index"
-indexinfo[0].command[4].indexname "lc_summary_src"
-indexinfo[0].command[4].command "index"
-indexinfo[0].command[5].indexname "nc_attribute"
-indexinfo[0].command[5].command "index"
-indexinfo[0].command[6].indexname "nc_attribute"
-indexinfo[0].command[6].command "attribute"
-indexinfo[0].command[7].indexname "nc_attribute"
-indexinfo[0].command[7].command "word"
-indexinfo[0].command[8].indexname "nc_index"
-indexinfo[0].command[8].command "index"
-indexinfo[0].command[9].indexname "nc_index"
-indexinfo[0].command[9].command "lowercase"
-indexinfo[0].command[10].indexname "nc_index"
-indexinfo[0].command[10].command "stem:SHORTEST"
-indexinfo[0].command[11].indexname "nc_index"
-indexinfo[0].command[11].command "normalize"
-indexinfo[0].command[12].indexname "nc_index"
-indexinfo[0].command[12].command "plain-tokens"
-indexinfo[0].command[13].indexname "nc_summary"
-indexinfo[0].command[13].command "index"
-indexinfo[0].command[14].indexname "lc_attribute"
-indexinfo[0].command[14].command "index"
-indexinfo[0].command[15].indexname "lc_attribute"
-indexinfo[0].command[15].command "lowercase"
-indexinfo[0].command[16].indexname "lc_attribute"
-indexinfo[0].command[16].command "attribute"
-indexinfo[0].command[17].indexname "lc_attribute"
-indexinfo[0].command[17].command "word"
-indexinfo[0].command[18].indexname "lc_index"
-indexinfo[0].command[18].command "index"
-indexinfo[0].command[19].indexname "lc_index"
-indexinfo[0].command[19].command "lowercase"
-indexinfo[0].command[20].indexname "lc_index"
-indexinfo[0].command[20].command "stem:SHORTEST"
-indexinfo[0].command[21].indexname "lc_index"
-indexinfo[0].command[21].command "normalize"
-indexinfo[0].command[22].indexname "lc_index"
-indexinfo[0].command[22].command "plain-tokens"
-indexinfo[0].command[23].indexname "lc_summary"
-indexinfo[0].command[23].command "index"
-indexinfo[0].command[24].indexname "lc_summary"
-indexinfo[0].command[24].command "lowercase"
-indexinfo[0].command[25].indexname "rankfeatures"
-indexinfo[0].command[25].command "index"
-indexinfo[0].command[26].indexname "summaryfeatures"
-indexinfo[0].command[26].command "index"
-indexinfo[0].command[27].indexname "lc_set1"
-indexinfo[0].command[27].command "lowercase"
-indexinfo[0].command[28].indexname "lc_set1"
-indexinfo[0].command[28].command "attribute"
-indexinfo[0].command[29].indexname "lc_set1"
-indexinfo[0].command[29].command "index"
-indexinfo[0].command[30].indexname "lc_set1"
-indexinfo[0].command[30].command "word"
-indexinfo[0].command[31].indexname "lc_set2"
-indexinfo[0].command[31].command "lowercase"
-indexinfo[0].command[32].indexname "lc_set2"
-indexinfo[0].command[32].command "index"
-indexinfo[0].command[33].indexname "lc_set2"
-indexinfo[0].command[33].command "plain-tokens"
-indexinfo[0].command[34].indexname "lc_set2"
-indexinfo[0].command[34].command "stem:SHORTEST"
-indexinfo[0].command[35].indexname "lc_set2"
-indexinfo[0].command[35].command "normalize"
-indexinfo[0].command[36].indexname "lc_set3"
-indexinfo[0].command[36].command "lowercase"
-indexinfo[0].command[37].indexname "lc_set3"
-indexinfo[0].command[37].command "attribute"
-indexinfo[0].command[38].indexname "lc_set3"
-indexinfo[0].command[38].command "index"
-indexinfo[0].command[39].indexname "lc_set4"
-indexinfo[0].command[39].command "lowercase"
-indexinfo[0].command[40].indexname "lc_set4"
-indexinfo[0].command[40].command "index"
-indexinfo[0].command[41].indexname "lc_set4"
-indexinfo[0].command[41].command "plain-tokens"
-indexinfo[0].command[42].indexname "lc_set4"
-indexinfo[0].command[42].command "stem:SHORTEST"
-indexinfo[0].command[43].indexname "lc_set4"
-indexinfo[0].command[43].command "normalize"
-indexinfo[0].command[44].indexname "lc_set5"
-indexinfo[0].command[44].command "lowercase"
-indexinfo[0].command[45].indexname "lc_set5"
-indexinfo[0].command[45].command "attribute"
-indexinfo[0].command[46].indexname "lc_set5"
-indexinfo[0].command[46].command "index"
-indexinfo[0].command[47].indexname "lc_set5"
-indexinfo[0].command[47].command "word"
-indexinfo[0].command[48].indexname "lc_set6"
-indexinfo[0].command[48].command "lowercase"
-indexinfo[0].command[49].indexname "lc_set6"
-indexinfo[0].command[49].command "index"
-indexinfo[0].command[50].indexname "lc_set6"
-indexinfo[0].command[50].command "plain-tokens"
-indexinfo[0].command[51].indexname "lc_set6"
-indexinfo[0].command[51].command "stem:SHORTEST"
-indexinfo[0].command[52].indexname "lc_set6"
-indexinfo[0].command[52].command "normalize"
-indexinfo[0].command[53].indexname "lc_set7"
-indexinfo[0].command[53].command "lowercase"
-indexinfo[0].command[54].indexname "lc_set7"
-indexinfo[0].command[54].command "index"
-indexinfo[0].command[55].indexname "lc_set7"
-indexinfo[0].command[55].command "plain-tokens"
-indexinfo[0].command[56].indexname "lc_set7"
-indexinfo[0].command[56].command "stem:SHORTEST"
-indexinfo[0].command[57].indexname "lc_set7"
-indexinfo[0].command[57].command "normalize"
-indexinfo[0].command[58].indexname "nc_set1"
-indexinfo[0].command[58].command "attribute"
-indexinfo[0].command[59].indexname "nc_set1"
-indexinfo[0].command[59].command "index"
-indexinfo[0].command[60].indexname "nc_set1"
-indexinfo[0].command[60].command "word"
-indexinfo[0].command[61].indexname "nc_set2"
-indexinfo[0].command[61].command "lowercase"
-indexinfo[0].command[62].indexname "nc_set2"
-indexinfo[0].command[62].command "index"
-indexinfo[0].command[63].indexname "nc_set2"
-indexinfo[0].command[63].command "plain-tokens"
-indexinfo[0].command[64].indexname "nc_set2"
-indexinfo[0].command[64].command "stem:SHORTEST"
-indexinfo[0].command[65].indexname "nc_set2"
-indexinfo[0].command[65].command "normalize"
-indexinfo[0].command[66].indexname "nc_set3"
-indexinfo[0].command[66].command "attribute"
-indexinfo[0].command[67].indexname "nc_set3"
-indexinfo[0].command[67].command "index"
-indexinfo[0].command[68].indexname "nc_set4"
-indexinfo[0].command[68].command "lowercase"
-indexinfo[0].command[69].indexname "nc_set4"
-indexinfo[0].command[69].command "index"
-indexinfo[0].command[70].indexname "nc_set4"
-indexinfo[0].command[70].command "plain-tokens"
-indexinfo[0].command[71].indexname "nc_set4"
-indexinfo[0].command[71].command "stem:SHORTEST"
-indexinfo[0].command[72].indexname "nc_set4"
-indexinfo[0].command[72].command "normalize"
-indexinfo[0].command[73].indexname "nc_set5"
-indexinfo[0].command[73].command "attribute"
-indexinfo[0].command[74].indexname "nc_set5"
-indexinfo[0].command[74].command "index"
-indexinfo[0].command[75].indexname "nc_set5"
-indexinfo[0].command[75].command "word"
-indexinfo[0].command[76].indexname "nc_set6"
-indexinfo[0].command[76].command "lowercase"
-indexinfo[0].command[77].indexname "nc_set6"
-indexinfo[0].command[77].command "index"
-indexinfo[0].command[78].indexname "nc_set6"
-indexinfo[0].command[78].command "plain-tokens"
-indexinfo[0].command[79].indexname "nc_set6"
-indexinfo[0].command[79].command "stem:SHORTEST"
-indexinfo[0].command[80].indexname "nc_set6"
-indexinfo[0].command[80].command "normalize"
-indexinfo[0].command[81].indexname "nc_set7"
-indexinfo[0].command[81].command "lowercase"
-indexinfo[0].command[82].indexname "nc_set7"
-indexinfo[0].command[82].command "index"
-indexinfo[0].command[83].indexname "nc_set7"
-indexinfo[0].command[83].command "plain-tokens"
-indexinfo[0].command[84].indexname "nc_set7"
-indexinfo[0].command[84].command "stem:SHORTEST"
-indexinfo[0].command[85].indexname "nc_set7"
-indexinfo[0].command[85].command "normalize"
-indexinfo[0].command[86].indexname "nc_set8"
-indexinfo[0].command[86].command "lowercase"
-indexinfo[0].command[87].indexname "nc_set8"
-indexinfo[0].command[87].command "index"
-indexinfo[0].command[88].indexname "nc_set8"
-indexinfo[0].command[88].command "plain-tokens"
-indexinfo[0].command[89].indexname "nc_set8"
-indexinfo[0].command[89].command "stem:SHORTEST"
-indexinfo[0].command[90].indexname "nc_set8"
-indexinfo[0].command[90].command "normalize"
-indexinfo[0].command[91].indexname "nc_set9"
-indexinfo[0].command[91].command "lowercase"
-indexinfo[0].command[92].indexname "nc_set9"
-indexinfo[0].command[92].command "index"
-indexinfo[0].command[93].indexname "nc_set9"
-indexinfo[0].command[93].command "plain-tokens"
-indexinfo[0].command[94].indexname "nc_set9"
-indexinfo[0].command[94].command "stem:SHORTEST"
-indexinfo[0].command[95].indexname "nc_set9"
-indexinfo[0].command[95].command "normalize"
-indexinfo[0].command[96].indexname "nc_set10"
-indexinfo[0].command[96].command "lowercase"
-indexinfo[0].command[97].indexname "nc_set10"
-indexinfo[0].command[97].command "attribute"
-indexinfo[0].command[98].indexname "nc_set10"
-indexinfo[0].command[98].command "index"
-indexinfo[0].command[99].indexname "nc_set10"
-indexinfo[0].command[99].command "word"
-indexinfo[0].command[100].indexname "nc_set11"
-indexinfo[0].command[100].command "lowercase"
-indexinfo[0].command[101].indexname "nc_set11"
-indexinfo[0].command[101].command "attribute"
-indexinfo[0].command[102].indexname "nc_set11"
-indexinfo[0].command[102].command "index"
-indexinfo[0].command[103].indexname "nc_set11"
-indexinfo[0].command[103].command "word"
-indexinfo[0].command[104].indexname "nc_set12"
-indexinfo[0].command[104].command "lowercase"
-indexinfo[0].command[105].indexname "nc_set12"
-indexinfo[0].command[105].command "index"
-indexinfo[0].command[106].indexname "nc_set12"
-indexinfo[0].command[106].command "plain-tokens"
-indexinfo[0].command[107].indexname "nc_set12"
-indexinfo[0].command[107].command "stem:SHORTEST"
-indexinfo[0].command[108].indexname "nc_set12"
-indexinfo[0].command[108].command "normalize"
-indexinfo[0].command[109].indexname "nc_set13"
-indexinfo[0].command[109].command "lowercase"
-indexinfo[0].command[110].indexname "nc_set13"
-indexinfo[0].command[110].command "index"
-indexinfo[0].command[111].indexname "nc_set13"
-indexinfo[0].command[111].command "plain-tokens"
-indexinfo[0].command[112].indexname "nc_set13"
-indexinfo[0].command[112].command "stem:SHORTEST"
-indexinfo[0].command[113].indexname "nc_set13"
-indexinfo[0].command[113].command "normalize"
-indexinfo[0].command[114].indexname "nc_set14"
-indexinfo[0].command[114].command "lowercase"
-indexinfo[0].command[115].indexname "nc_set14"
-indexinfo[0].command[115].command "index"
-indexinfo[0].command[116].indexname "nc_set14"
-indexinfo[0].command[116].command "plain-tokens"
-indexinfo[0].command[117].indexname "nc_set14"
-indexinfo[0].command[117].command "stem:SHORTEST"
-indexinfo[0].command[118].indexname "nc_set14"
-indexinfo[0].command[118].command "normalize"
-indexinfo[0].command[119].indexname "nc_set15"
-indexinfo[0].command[119].command "lowercase"
-indexinfo[0].command[120].indexname "nc_set15"
-indexinfo[0].command[120].command "index"
-indexinfo[0].command[121].indexname "nc_set15"
-indexinfo[0].command[121].command "plain-tokens"
-indexinfo[0].command[122].indexname "nc_set15"
-indexinfo[0].command[122].command "stem:SHORTEST"
-indexinfo[0].command[123].indexname "nc_set15"
-indexinfo[0].command[123].command "normalize"
-indexinfo[0].command[124].indexname "nc_set16"
-indexinfo[0].command[124].command "lowercase"
-indexinfo[0].command[125].indexname "nc_set16"
-indexinfo[0].command[125].command "index"
-indexinfo[0].command[126].indexname "nc_set16"
-indexinfo[0].command[126].command "plain-tokens"
-indexinfo[0].command[127].indexname "nc_set16"
-indexinfo[0].command[127].command "stem:SHORTEST"
-indexinfo[0].command[128].indexname "nc_set16"
-indexinfo[0].command[128].command "normalize"
-indexinfo[0].command[129].indexname "nc_set17"
-indexinfo[0].command[129].command "lowercase"
-indexinfo[0].command[130].indexname "nc_set17"
-indexinfo[0].command[130].command "index"
-indexinfo[0].command[131].indexname "nc_set17"
-indexinfo[0].command[131].command "plain-tokens"
-indexinfo[0].command[132].indexname "nc_set17"
-indexinfo[0].command[132].command "stem:SHORTEST"
-indexinfo[0].command[133].indexname "nc_set17"
-indexinfo[0].command[133].command "normalize"
-indexinfo[0].command[134].indexname "nc_set18"
-indexinfo[0].command[134].command "lowercase"
-indexinfo[0].command[135].indexname "nc_set18"
-indexinfo[0].command[135].command "index"
-indexinfo[0].command[136].indexname "nc_set18"
-indexinfo[0].command[136].command "plain-tokens"
-indexinfo[0].command[137].indexname "nc_set18"
-indexinfo[0].command[137].command "stem:SHORTEST"
-indexinfo[0].command[138].indexname "nc_set18"
-indexinfo[0].command[138].command "normalize"
-indexinfo[0].command[139].indexname "nc_set19"
-indexinfo[0].command[139].command "lowercase"
-indexinfo[0].command[140].indexname "nc_set19"
-indexinfo[0].command[140].command "index"
-indexinfo[0].command[141].indexname "nc_set19"
-indexinfo[0].command[141].command "plain-tokens"
-indexinfo[0].command[142].indexname "nc_set19"
-indexinfo[0].command[142].command "stem:SHORTEST"
-indexinfo[0].command[143].indexname "nc_set19"
-indexinfo[0].command[143].command "normalize" \ No newline at end of file
+indexinfo[].name "indexinfo_lowercase"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "lc_attribute_src"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "lc_index_src"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "lc_summary_src"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "nc_attribute"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "nc_attribute"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "nc_attribute"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "nc_index"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "nc_index"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "nc_index"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "nc_index"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "nc_index"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "nc_summary"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "lc_attribute"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "lc_attribute"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "lc_attribute"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "lc_attribute"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "lc_index"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "lc_index"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "lc_index"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "lc_index"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "lc_index"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "lc_summary"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "lc_summary"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "rankfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "summaryfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "lc_set1"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "lc_set1"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "lc_set1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "lc_set1"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "lc_set2"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "lc_set2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "lc_set2"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "lc_set2"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "lc_set2"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "lc_set3"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "lc_set3"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "lc_set3"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "lc_set4"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "lc_set4"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "lc_set4"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "lc_set4"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "lc_set4"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "lc_set5"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "lc_set5"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "lc_set5"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "lc_set5"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "lc_set6"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "lc_set6"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "lc_set6"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "lc_set6"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "lc_set6"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "lc_set7"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "lc_set7"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "lc_set7"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "lc_set7"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "lc_set7"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "nc_set1"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "nc_set1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "nc_set1"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "nc_set2"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "nc_set2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "nc_set2"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "nc_set2"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "nc_set2"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "nc_set3"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "nc_set3"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "nc_set4"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "nc_set4"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "nc_set4"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "nc_set4"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "nc_set4"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "nc_set5"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "nc_set5"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "nc_set5"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "nc_set6"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "nc_set6"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "nc_set6"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "nc_set6"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[80].indexname "nc_set6"
+indexinfo[].command[80].command "normalize"
+indexinfo[].command[81].indexname "nc_set7"
+indexinfo[].command[81].command "lowercase"
+indexinfo[].command[82].indexname "nc_set7"
+indexinfo[].command[82].command "index"
+indexinfo[].command[83].indexname "nc_set7"
+indexinfo[].command[83].command "plain-tokens"
+indexinfo[].command[84].indexname "nc_set7"
+indexinfo[].command[84].command "stem:SHORTEST"
+indexinfo[].command[85].indexname "nc_set7"
+indexinfo[].command[85].command "normalize"
+indexinfo[].command[86].indexname "nc_set8"
+indexinfo[].command[86].command "lowercase"
+indexinfo[].command[87].indexname "nc_set8"
+indexinfo[].command[87].command "index"
+indexinfo[].command[88].indexname "nc_set8"
+indexinfo[].command[88].command "plain-tokens"
+indexinfo[].command[89].indexname "nc_set8"
+indexinfo[].command[89].command "stem:SHORTEST"
+indexinfo[].command[90].indexname "nc_set8"
+indexinfo[].command[90].command "normalize"
+indexinfo[].command[91].indexname "nc_set9"
+indexinfo[].command[91].command "lowercase"
+indexinfo[].command[92].indexname "nc_set9"
+indexinfo[].command[92].command "index"
+indexinfo[].command[93].indexname "nc_set9"
+indexinfo[].command[93].command "plain-tokens"
+indexinfo[].command[94].indexname "nc_set9"
+indexinfo[].command[94].command "stem:SHORTEST"
+indexinfo[].command[95].indexname "nc_set9"
+indexinfo[].command[95].command "normalize"
+indexinfo[].command[96].indexname "nc_set10"
+indexinfo[].command[96].command "lowercase"
+indexinfo[].command[97].indexname "nc_set10"
+indexinfo[].command[97].command "attribute"
+indexinfo[].command[98].indexname "nc_set10"
+indexinfo[].command[98].command "index"
+indexinfo[].command[99].indexname "nc_set10"
+indexinfo[].command[99].command "word"
+indexinfo[].command[100].indexname "nc_set11"
+indexinfo[].command[100].command "lowercase"
+indexinfo[].command[101].indexname "nc_set11"
+indexinfo[].command[101].command "attribute"
+indexinfo[].command[102].indexname "nc_set11"
+indexinfo[].command[102].command "index"
+indexinfo[].command[103].indexname "nc_set11"
+indexinfo[].command[103].command "word"
+indexinfo[].command[104].indexname "nc_set12"
+indexinfo[].command[104].command "lowercase"
+indexinfo[].command[105].indexname "nc_set12"
+indexinfo[].command[105].command "index"
+indexinfo[].command[106].indexname "nc_set12"
+indexinfo[].command[106].command "plain-tokens"
+indexinfo[].command[107].indexname "nc_set12"
+indexinfo[].command[107].command "stem:SHORTEST"
+indexinfo[].command[108].indexname "nc_set12"
+indexinfo[].command[108].command "normalize"
+indexinfo[].command[109].indexname "nc_set13"
+indexinfo[].command[109].command "lowercase"
+indexinfo[].command[110].indexname "nc_set13"
+indexinfo[].command[110].command "index"
+indexinfo[].command[111].indexname "nc_set13"
+indexinfo[].command[111].command "plain-tokens"
+indexinfo[].command[112].indexname "nc_set13"
+indexinfo[].command[112].command "stem:SHORTEST"
+indexinfo[].command[113].indexname "nc_set13"
+indexinfo[].command[113].command "normalize"
+indexinfo[].command[114].indexname "nc_set14"
+indexinfo[].command[114].command "lowercase"
+indexinfo[].command[115].indexname "nc_set14"
+indexinfo[].command[115].command "index"
+indexinfo[].command[116].indexname "nc_set14"
+indexinfo[].command[116].command "plain-tokens"
+indexinfo[].command[117].indexname "nc_set14"
+indexinfo[].command[117].command "stem:SHORTEST"
+indexinfo[].command[118].indexname "nc_set14"
+indexinfo[].command[118].command "normalize"
+indexinfo[].command[119].indexname "nc_set15"
+indexinfo[].command[119].command "lowercase"
+indexinfo[].command[120].indexname "nc_set15"
+indexinfo[].command[120].command "index"
+indexinfo[].command[121].indexname "nc_set15"
+indexinfo[].command[121].command "plain-tokens"
+indexinfo[].command[122].indexname "nc_set15"
+indexinfo[].command[122].command "stem:SHORTEST"
+indexinfo[].command[123].indexname "nc_set15"
+indexinfo[].command[123].command "normalize"
+indexinfo[].command[124].indexname "nc_set16"
+indexinfo[].command[124].command "lowercase"
+indexinfo[].command[125].indexname "nc_set16"
+indexinfo[].command[125].command "index"
+indexinfo[].command[126].indexname "nc_set16"
+indexinfo[].command[126].command "plain-tokens"
+indexinfo[].command[127].indexname "nc_set16"
+indexinfo[].command[127].command "stem:SHORTEST"
+indexinfo[].command[128].indexname "nc_set16"
+indexinfo[].command[128].command "normalize"
+indexinfo[].command[129].indexname "nc_set17"
+indexinfo[].command[129].command "lowercase"
+indexinfo[].command[130].indexname "nc_set17"
+indexinfo[].command[130].command "index"
+indexinfo[].command[131].indexname "nc_set17"
+indexinfo[].command[131].command "plain-tokens"
+indexinfo[].command[132].indexname "nc_set17"
+indexinfo[].command[132].command "stem:SHORTEST"
+indexinfo[].command[133].indexname "nc_set17"
+indexinfo[].command[133].command "normalize"
+indexinfo[].command[134].indexname "nc_set18"
+indexinfo[].command[134].command "lowercase"
+indexinfo[].command[135].indexname "nc_set18"
+indexinfo[].command[135].command "index"
+indexinfo[].command[136].indexname "nc_set18"
+indexinfo[].command[136].command "plain-tokens"
+indexinfo[].command[137].indexname "nc_set18"
+indexinfo[].command[137].command "stem:SHORTEST"
+indexinfo[].command[138].indexname "nc_set18"
+indexinfo[].command[138].command "normalize"
+indexinfo[].command[139].indexname "nc_set19"
+indexinfo[].command[139].command "lowercase"
+indexinfo[].command[140].indexname "nc_set19"
+indexinfo[].command[140].command "index"
+indexinfo[].command[141].indexname "nc_set19"
+indexinfo[].command[141].command "plain-tokens"
+indexinfo[].command[142].indexname "nc_set19"
+indexinfo[].command[142].command "stem:SHORTEST"
+indexinfo[].command[143].indexname "nc_set19"
+indexinfo[].command[143].command "normalize"
diff --git a/config-model/src/test/derived/indexschema/index-info.cfg b/config-model/src/test/derived/indexschema/index-info.cfg
index 74dd2de6efb..5163f6035da 100644
--- a/config-model/src/test/derived/indexschema/index-info.cfg
+++ b/config-model/src/test/derived/indexschema/index-info.cfg
@@ -1,353 +1,353 @@
-indexinfo[0].name "indexschema"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "sa"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "sa"
-indexinfo[0].command[3].command "lowercase"
-indexinfo[0].command[4].indexname "sa"
-indexinfo[0].command[4].command "stem:SHORTEST"
-indexinfo[0].command[5].indexname "sa"
-indexinfo[0].command[5].command "normalize"
-indexinfo[0].command[6].indexname "sa"
-indexinfo[0].command[6].command "plain-tokens"
-indexinfo[0].command[7].indexname "sb"
-indexinfo[0].command[7].command "index"
-indexinfo[0].command[8].indexname "sb"
-indexinfo[0].command[8].command "lowercase"
-indexinfo[0].command[9].indexname "sb"
-indexinfo[0].command[9].command "stem:SHORTEST"
-indexinfo[0].command[10].indexname "sb"
-indexinfo[0].command[10].command "normalize"
-indexinfo[0].command[11].indexname "sb"
-indexinfo[0].command[11].command "plain-tokens"
-indexinfo[0].command[12].indexname "sc"
-indexinfo[0].command[12].command "index"
-indexinfo[0].command[13].indexname "sc"
-indexinfo[0].command[13].command "lowercase"
-indexinfo[0].command[14].indexname "sc"
-indexinfo[0].command[14].command "stem:SHORTEST"
-indexinfo[0].command[15].indexname "sc"
-indexinfo[0].command[15].command "normalize"
-indexinfo[0].command[16].indexname "sc"
-indexinfo[0].command[16].command "plain-tokens"
-indexinfo[0].command[17].indexname "sd"
-indexinfo[0].command[17].command "index"
-indexinfo[0].command[18].indexname "sd"
-indexinfo[0].command[18].command "lowercase"
-indexinfo[0].command[19].indexname "sd"
-indexinfo[0].command[19].command "stem:SHORTEST"
-indexinfo[0].command[20].indexname "sd"
-indexinfo[0].command[20].command "normalize"
-indexinfo[0].command[21].indexname "sd"
-indexinfo[0].command[21].command "plain-tokens"
-indexinfo[0].command[22].indexname "sd"
-indexinfo[0].command[22].command "literal-boost"
-indexinfo[0].command[23].indexname "pos.x"
-indexinfo[0].command[23].command "index"
-indexinfo[0].command[24].indexname "pos.x"
-indexinfo[0].command[24].command "numerical"
-indexinfo[0].command[25].indexname "pos.y"
-indexinfo[0].command[25].command "index"
-indexinfo[0].command[26].indexname "pos.y"
-indexinfo[0].command[26].command "numerical"
-indexinfo[0].command[27].indexname "pos"
-indexinfo[0].command[27].command "default-position"
-indexinfo[0].command[28].indexname "pos"
-indexinfo[0].command[28].command "index"
-indexinfo[0].command[29].indexname "se"
-indexinfo[0].command[29].command "index"
-indexinfo[0].command[30].indexname "se"
-indexinfo[0].command[30].command "attribute"
-indexinfo[0].command[31].indexname "se"
-indexinfo[0].command[31].command "word"
-indexinfo[0].command[32].indexname "sf"
-indexinfo[0].command[32].command "index"
-indexinfo[0].command[33].indexname "sf"
-indexinfo[0].command[33].command "lowercase"
-indexinfo[0].command[34].indexname "sf"
-indexinfo[0].command[34].command "multivalue"
-indexinfo[0].command[35].indexname "sf"
-indexinfo[0].command[35].command "stem:SHORTEST"
-indexinfo[0].command[36].indexname "sf"
-indexinfo[0].command[36].command "normalize"
-indexinfo[0].command[37].indexname "sf"
-indexinfo[0].command[37].command "plain-tokens"
-indexinfo[0].command[38].indexname "sg"
-indexinfo[0].command[38].command "index"
-indexinfo[0].command[39].indexname "sg"
-indexinfo[0].command[39].command "lowercase"
-indexinfo[0].command[40].indexname "sg"
-indexinfo[0].command[40].command "multivalue"
-indexinfo[0].command[41].indexname "sg"
-indexinfo[0].command[41].command "stem:SHORTEST"
-indexinfo[0].command[42].indexname "sg"
-indexinfo[0].command[42].command "normalize"
-indexinfo[0].command[43].indexname "sg"
-indexinfo[0].command[43].command "plain-tokens"
-indexinfo[0].command[44].indexname "sh"
-indexinfo[0].command[44].command "index"
-indexinfo[0].command[45].indexname "sh"
-indexinfo[0].command[45].command "lowercase"
-indexinfo[0].command[46].indexname "sh"
-indexinfo[0].command[46].command "plain-tokens"
-indexinfo[0].command[47].indexname "sh"
-indexinfo[0].command[47].command "fullurl"
-indexinfo[0].command[48].indexname "sh.sh"
-indexinfo[0].command[48].command "fullurl"
-indexinfo[0].command[49].indexname "sh.sh"
-indexinfo[0].command[49].command "lowercase"
-indexinfo[0].command[50].indexname "sh.path"
-indexinfo[0].command[50].command "fullurl"
-indexinfo[0].command[51].indexname "sh.path"
-indexinfo[0].command[51].command "lowercase"
-indexinfo[0].command[52].indexname "sh.query"
-indexinfo[0].command[52].command "fullurl"
-indexinfo[0].command[53].indexname "sh.query"
-indexinfo[0].command[53].command "lowercase"
-indexinfo[0].command[54].indexname "sh.hostname"
-indexinfo[0].command[54].command "urlhost"
-indexinfo[0].command[55].indexname "sh.hostname"
-indexinfo[0].command[55].command "lowercase"
-indexinfo[0].command[56].indexname "si"
-indexinfo[0].command[56].command "index"
-indexinfo[0].command[57].indexname "si"
-indexinfo[0].command[57].command "lowercase"
-indexinfo[0].command[58].indexname "si"
-indexinfo[0].command[58].command "stem:SHORTEST"
-indexinfo[0].command[59].indexname "si"
-indexinfo[0].command[59].command "normalize"
-indexinfo[0].command[60].indexname "si"
-indexinfo[0].command[60].command "plain-tokens"
-indexinfo[0].command[61].indexname "exact1"
-indexinfo[0].command[61].command "index"
-indexinfo[0].command[62].indexname "exact1"
-indexinfo[0].command[62].command "lowercase"
-indexinfo[0].command[63].indexname "exact1"
-indexinfo[0].command[63].command "exact @@"
-indexinfo[0].command[64].indexname "exact2"
-indexinfo[0].command[64].command "index"
-indexinfo[0].command[65].indexname "exact2"
-indexinfo[0].command[65].command "lowercase"
-indexinfo[0].command[66].indexname "exact2"
-indexinfo[0].command[66].command "exact @@"
-indexinfo[0].command[67].indexname "ia"
-indexinfo[0].command[67].command "index"
-indexinfo[0].command[68].indexname "ia"
-indexinfo[0].command[68].command "attribute"
-indexinfo[0].command[69].indexname "ia"
-indexinfo[0].command[69].command "numerical"
-indexinfo[0].command[70].indexname "ib"
-indexinfo[0].command[70].command "index"
-indexinfo[0].command[71].indexname "ib"
-indexinfo[0].command[71].command "attribute"
-indexinfo[0].command[72].indexname "ib"
-indexinfo[0].command[72].command "numerical"
-indexinfo[0].command[73].indexname "ic"
-indexinfo[0].command[73].command "index"
-indexinfo[0].command[74].indexname "ic"
-indexinfo[0].command[74].command "attribute"
-indexinfo[0].command[75].indexname "ic"
-indexinfo[0].command[75].command "numerical"
-indexinfo[0].command[76].indexname "nostemstring1"
-indexinfo[0].command[76].command "index"
-indexinfo[0].command[77].indexname "nostemstring1"
-indexinfo[0].command[77].command "lowercase"
-indexinfo[0].command[78].indexname "nostemstring1"
-indexinfo[0].command[78].command "normalize"
-indexinfo[0].command[79].indexname "nostemstring1"
-indexinfo[0].command[79].command "plain-tokens"
-indexinfo[0].command[80].indexname "nostemstring2"
-indexinfo[0].command[80].command "index"
-indexinfo[0].command[81].indexname "nostemstring2"
-indexinfo[0].command[81].command "lowercase"
-indexinfo[0].command[82].indexname "nostemstring2"
-indexinfo[0].command[82].command "normalize"
-indexinfo[0].command[83].indexname "nostemstring2"
-indexinfo[0].command[83].command "plain-tokens"
-indexinfo[0].command[84].indexname "nostemstring3"
-indexinfo[0].command[84].command "index"
-indexinfo[0].command[85].indexname "nostemstring3"
-indexinfo[0].command[85].command "lowercase"
-indexinfo[0].command[86].indexname "nostemstring3"
-indexinfo[0].command[86].command "normalize"
-indexinfo[0].command[87].indexname "nostemstring3"
-indexinfo[0].command[87].command "plain-tokens"
-indexinfo[0].command[88].indexname "nostemstring4"
-indexinfo[0].command[88].command "index"
-indexinfo[0].command[89].indexname "nostemstring4"
-indexinfo[0].command[89].command "lowercase"
-indexinfo[0].command[90].indexname "nostemstring4"
-indexinfo[0].command[90].command "normalize"
-indexinfo[0].command[91].indexname "nostemstring4"
-indexinfo[0].command[91].command "plain-tokens"
-indexinfo[0].command[92].indexname "fs9"
-indexinfo[0].command[92].command "index"
-indexinfo[0].command[93].indexname "fs9"
-indexinfo[0].command[93].command "lowercase"
-indexinfo[0].command[94].indexname "fs9"
-indexinfo[0].command[94].command "stem:SHORTEST"
-indexinfo[0].command[95].indexname "fs9"
-indexinfo[0].command[95].command "normalize"
-indexinfo[0].command[96].indexname "fs9"
-indexinfo[0].command[96].command "plain-tokens"
-indexinfo[0].command[97].indexname "f10.text"
-indexinfo[0].command[97].command "index"
-indexinfo[0].command[98].indexname "f10.text"
-indexinfo[0].command[98].command "lowercase"
-indexinfo[0].command[99].indexname "f10.text"
-indexinfo[0].command[99].command "stem:SHORTEST"
-indexinfo[0].command[100].indexname "f10.text"
-indexinfo[0].command[100].command "normalize"
-indexinfo[0].command[101].indexname "f10.text"
-indexinfo[0].command[101].command "plain-tokens"
-indexinfo[0].command[102].indexname "f10.name"
-indexinfo[0].command[102].command "index"
-indexinfo[0].command[103].indexname "f10"
-indexinfo[0].command[103].command "index"
-indexinfo[0].command[104].indexname "f10"
-indexinfo[0].command[104].command "multivalue"
-indexinfo[0].command[105].indexname "pos.distance"
-indexinfo[0].command[105].command "index"
-indexinfo[0].command[106].indexname "pos.distance"
-indexinfo[0].command[106].command "numerical"
-indexinfo[0].command[107].indexname "pos.position"
-indexinfo[0].command[107].command "index"
-indexinfo[0].command[108].indexname "pos.position"
-indexinfo[0].command[108].command "multivalue"
-indexinfo[0].command[109].indexname "pos_zcurve"
-indexinfo[0].command[109].command "index"
-indexinfo[0].command[110].indexname "pos_zcurve"
-indexinfo[0].command[110].command "attribute"
-indexinfo[0].command[111].indexname "pos_zcurve"
-indexinfo[0].command[111].command "fast-search"
-indexinfo[0].command[112].indexname "pos_zcurve"
-indexinfo[0].command[112].command "numerical"
-indexinfo[0].command[113].indexname "rankfeatures"
-indexinfo[0].command[113].command "index"
-indexinfo[0].command[114].indexname "sd_literal"
-indexinfo[0].command[114].command "index"
-indexinfo[0].command[115].indexname "sd_literal"
-indexinfo[0].command[115].command "lowercase"
-indexinfo[0].command[116].indexname "sd_literal"
-indexinfo[0].command[116].command "plain-tokens"
-indexinfo[0].command[117].indexname "searchfield1"
-indexinfo[0].command[117].command "index"
-indexinfo[0].command[118].indexname "searchfield2"
-indexinfo[0].command[118].command "index"
-indexinfo[0].command[119].indexname "searchfield2"
-indexinfo[0].command[119].command "numerical"
-indexinfo[0].command[120].indexname "sh.fragment"
-indexinfo[0].command[120].command "index"
-indexinfo[0].command[121].indexname "sh.host"
-indexinfo[0].command[121].command "index"
-indexinfo[0].command[122].indexname "sh.hostname"
-indexinfo[0].command[122].command "index"
-indexinfo[0].command[123].indexname "sh.path"
-indexinfo[0].command[123].command "index"
-indexinfo[0].command[124].indexname "sh.port"
-indexinfo[0].command[124].command "index"
-indexinfo[0].command[125].indexname "sh.query"
-indexinfo[0].command[125].command "index"
-indexinfo[0].command[126].indexname "sh.scheme"
-indexinfo[0].command[126].command "index"
-indexinfo[0].command[127].indexname "summaryfeatures"
-indexinfo[0].command[127].command "index"
-indexinfo[0].command[128].indexname "sa"
-indexinfo[0].command[128].command "dynteaser"
-indexinfo[0].command[129].indexname "fs1"
-indexinfo[0].command[129].command "lowercase"
-indexinfo[0].command[130].indexname "fs1"
-indexinfo[0].command[130].command "multivalue"
-indexinfo[0].command[131].indexname "fs1"
-indexinfo[0].command[131].command "index"
-indexinfo[0].command[132].indexname "fs1"
-indexinfo[0].command[132].command "plain-tokens"
-indexinfo[0].command[133].indexname "fs1"
-indexinfo[0].command[133].command "stem:SHORTEST"
-indexinfo[0].command[134].indexname "fs1"
-indexinfo[0].command[134].command "normalize"
-indexinfo[0].command[135].indexname "fs2"
-indexinfo[0].command[135].command "lowercase"
-indexinfo[0].command[136].indexname "fs2"
-indexinfo[0].command[136].command "index"
-indexinfo[0].command[137].indexname "fs2"
-indexinfo[0].command[137].command "plain-tokens"
-indexinfo[0].command[138].indexname "fs2"
-indexinfo[0].command[138].command "stem:SHORTEST"
-indexinfo[0].command[139].indexname "fs2"
-indexinfo[0].command[139].command "normalize"
-indexinfo[0].command[140].indexname "fs3"
-indexinfo[0].command[140].command "attribute"
-indexinfo[0].command[141].indexname "fs3"
-indexinfo[0].command[141].command "index"
-indexinfo[0].command[142].indexname "fs4"
-indexinfo[0].command[142].command "lowercase"
-indexinfo[0].command[143].indexname "fs4"
-indexinfo[0].command[143].command "index"
-indexinfo[0].command[144].indexname "fs4"
-indexinfo[0].command[144].command "plain-tokens"
-indexinfo[0].command[145].indexname "fs4"
-indexinfo[0].command[145].command "stem:SHORTEST"
-indexinfo[0].command[146].indexname "fs4"
-indexinfo[0].command[146].command "normalize"
-indexinfo[0].command[147].indexname "onlyattrib"
-indexinfo[0].command[147].command "attribute"
-indexinfo[0].command[148].indexname "onlyattrib"
-indexinfo[0].command[148].command "index"
-indexinfo[0].command[149].indexname "onlyattrib"
-indexinfo[0].command[149].command "word"
-indexinfo[0].command[150].indexname "exactfields"
-indexinfo[0].command[150].command "lowercase"
-indexinfo[0].command[151].indexname "exactfields"
-indexinfo[0].command[151].command "index"
-indexinfo[0].command[152].indexname "exactfields"
-indexinfo[0].command[152].command "exact @@"
-indexinfo[0].command[153].indexname "exactexplicit"
-indexinfo[0].command[153].command "exact ARNOLD"
-indexinfo[0].command[154].indexname "exactexplicit"
-indexinfo[0].command[154].command "dynteaser"
-indexinfo[0].command[155].indexname "exactexplicit2"
-indexinfo[0].command[155].command "lowercase"
-indexinfo[0].command[156].indexname "exactexplicit2"
-indexinfo[0].command[156].command "index"
-indexinfo[0].command[157].indexname "exactexplicit2"
-indexinfo[0].command[157].command "exact Arnold"
-indexinfo[0].command[158].indexname "gram"
-indexinfo[0].command[158].command "lowercase"
-indexinfo[0].command[159].indexname "gram"
-indexinfo[0].command[159].command "index"
-indexinfo[0].command[160].indexname "gram"
-indexinfo[0].command[160].command "stem:SHORTEST"
-indexinfo[0].command[161].indexname "gram"
-indexinfo[0].command[161].command "normalize"
-indexinfo[0].command[162].indexname "gram"
-indexinfo[0].command[162].command "ngram 2"
-indexinfo[0].command[163].indexname "nostem1"
-indexinfo[0].command[163].command "lowercase"
-indexinfo[0].command[164].indexname "nostem1"
-indexinfo[0].command[164].command "index"
-indexinfo[0].command[165].indexname "nostem1"
-indexinfo[0].command[165].command "plain-tokens"
-indexinfo[0].command[166].indexname "nostem1"
-indexinfo[0].command[166].command "normalize"
-indexinfo[0].command[167].indexname "nostem2"
-indexinfo[0].command[167].command "lowercase"
-indexinfo[0].command[168].indexname "nostem2"
-indexinfo[0].command[168].command "index"
-indexinfo[0].command[169].indexname "nostem2"
-indexinfo[0].command[169].command "plain-tokens"
-indexinfo[0].command[170].indexname "nostem2"
-indexinfo[0].command[170].command "normalize"
-indexinfo[0].command[171].indexname "default"
-indexinfo[0].command[171].command "lowercase"
-indexinfo[0].command[172].indexname "default"
-indexinfo[0].command[172].command "index"
-indexinfo[0].command[173].indexname "default"
-indexinfo[0].command[173].command "plain-tokens"
-indexinfo[0].command[174].indexname "default"
-indexinfo[0].command[174].command "stem:SHORTEST"
-indexinfo[0].command[175].indexname "default"
-indexinfo[0].command[175].command "normalize" \ No newline at end of file
+indexinfo[].name "indexschema"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "sa"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sa"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "sa"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "sa"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "sa"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "sb"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sb"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "sb"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "sb"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "sb"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "sc"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sc"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "sc"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "sc"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "sc"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "sd"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sd"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "sd"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "sd"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "sd"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "sd"
+indexinfo[].command[].command "literal-boost"
+indexinfo[].command[].indexname "pos.x"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "pos.x"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "pos.y"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "pos.y"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "pos"
+indexinfo[].command[].command "default-position"
+indexinfo[].command[].indexname "pos"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "se"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "se"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "se"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "sf"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sf"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "sf"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "sf"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "sf"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "sf"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "sg"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sg"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "sg"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "sg"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "sg"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "sg"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "sh"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sh"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "sh"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "sh"
+indexinfo[].command[].command "fullurl"
+indexinfo[].command[].indexname "sh.sh"
+indexinfo[].command[].command "fullurl"
+indexinfo[].command[].indexname "sh.sh"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "sh.path"
+indexinfo[].command[].command "fullurl"
+indexinfo[].command[].indexname "sh.path"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "sh.query"
+indexinfo[].command[].command "fullurl"
+indexinfo[].command[].indexname "sh.query"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "sh.hostname"
+indexinfo[].command[].command "urlhost"
+indexinfo[].command[].indexname "sh.hostname"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "si"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "si"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "si"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "si"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "si"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "exact1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "exact1"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "exact1"
+indexinfo[].command[].command "exact @@"
+indexinfo[].command[].indexname "exact2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "exact2"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "exact2"
+indexinfo[].command[].command "exact @@"
+indexinfo[].command[].indexname "ia"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "ia"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "ia"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "ib"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "ib"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "ib"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "ic"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "ic"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "ic"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "nostemstring1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "nostemstring1"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "nostemstring1"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "nostemstring1"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[80].indexname "nostemstring2"
+indexinfo[].command[80].command "index"
+indexinfo[].command[81].indexname "nostemstring2"
+indexinfo[].command[81].command "lowercase"
+indexinfo[].command[82].indexname "nostemstring2"
+indexinfo[].command[82].command "normalize"
+indexinfo[].command[83].indexname "nostemstring2"
+indexinfo[].command[83].command "plain-tokens"
+indexinfo[].command[84].indexname "nostemstring3"
+indexinfo[].command[84].command "index"
+indexinfo[].command[85].indexname "nostemstring3"
+indexinfo[].command[85].command "lowercase"
+indexinfo[].command[86].indexname "nostemstring3"
+indexinfo[].command[86].command "normalize"
+indexinfo[].command[87].indexname "nostemstring3"
+indexinfo[].command[87].command "plain-tokens"
+indexinfo[].command[88].indexname "nostemstring4"
+indexinfo[].command[88].command "index"
+indexinfo[].command[89].indexname "nostemstring4"
+indexinfo[].command[89].command "lowercase"
+indexinfo[].command[90].indexname "nostemstring4"
+indexinfo[].command[90].command "normalize"
+indexinfo[].command[91].indexname "nostemstring4"
+indexinfo[].command[91].command "plain-tokens"
+indexinfo[].command[92].indexname "fs9"
+indexinfo[].command[92].command "index"
+indexinfo[].command[93].indexname "fs9"
+indexinfo[].command[93].command "lowercase"
+indexinfo[].command[94].indexname "fs9"
+indexinfo[].command[94].command "stem:SHORTEST"
+indexinfo[].command[95].indexname "fs9"
+indexinfo[].command[95].command "normalize"
+indexinfo[].command[96].indexname "fs9"
+indexinfo[].command[96].command "plain-tokens"
+indexinfo[].command[97].indexname "f10.text"
+indexinfo[].command[97].command "index"
+indexinfo[].command[98].indexname "f10.text"
+indexinfo[].command[98].command "lowercase"
+indexinfo[].command[99].indexname "f10.text"
+indexinfo[].command[99].command "stem:SHORTEST"
+indexinfo[].command[100].indexname "f10.text"
+indexinfo[].command[100].command "normalize"
+indexinfo[].command[101].indexname "f10.text"
+indexinfo[].command[101].command "plain-tokens"
+indexinfo[].command[102].indexname "f10.name"
+indexinfo[].command[102].command "index"
+indexinfo[].command[103].indexname "f10"
+indexinfo[].command[103].command "index"
+indexinfo[].command[104].indexname "f10"
+indexinfo[].command[104].command "multivalue"
+indexinfo[].command[105].indexname "pos.distance"
+indexinfo[].command[105].command "index"
+indexinfo[].command[106].indexname "pos.distance"
+indexinfo[].command[106].command "numerical"
+indexinfo[].command[107].indexname "pos.position"
+indexinfo[].command[107].command "index"
+indexinfo[].command[108].indexname "pos.position"
+indexinfo[].command[108].command "multivalue"
+indexinfo[].command[109].indexname "pos_zcurve"
+indexinfo[].command[109].command "index"
+indexinfo[].command[110].indexname "pos_zcurve"
+indexinfo[].command[110].command "attribute"
+indexinfo[].command[111].indexname "pos_zcurve"
+indexinfo[].command[111].command "fast-search"
+indexinfo[].command[112].indexname "pos_zcurve"
+indexinfo[].command[112].command "numerical"
+indexinfo[].command[113].indexname "rankfeatures"
+indexinfo[].command[113].command "index"
+indexinfo[].command[114].indexname "sd_literal"
+indexinfo[].command[114].command "index"
+indexinfo[].command[115].indexname "sd_literal"
+indexinfo[].command[115].command "lowercase"
+indexinfo[].command[116].indexname "sd_literal"
+indexinfo[].command[116].command "plain-tokens"
+indexinfo[].command[117].indexname "searchfield1"
+indexinfo[].command[117].command "index"
+indexinfo[].command[118].indexname "searchfield2"
+indexinfo[].command[118].command "index"
+indexinfo[].command[119].indexname "searchfield2"
+indexinfo[].command[119].command "numerical"
+indexinfo[].command[120].indexname "sh.fragment"
+indexinfo[].command[120].command "index"
+indexinfo[].command[121].indexname "sh.host"
+indexinfo[].command[121].command "index"
+indexinfo[].command[122].indexname "sh.hostname"
+indexinfo[].command[122].command "index"
+indexinfo[].command[123].indexname "sh.path"
+indexinfo[].command[123].command "index"
+indexinfo[].command[124].indexname "sh.port"
+indexinfo[].command[124].command "index"
+indexinfo[].command[125].indexname "sh.query"
+indexinfo[].command[125].command "index"
+indexinfo[].command[126].indexname "sh.scheme"
+indexinfo[].command[126].command "index"
+indexinfo[].command[127].indexname "summaryfeatures"
+indexinfo[].command[127].command "index"
+indexinfo[].command[128].indexname "sa"
+indexinfo[].command[128].command "dynteaser"
+indexinfo[].command[129].indexname "fs1"
+indexinfo[].command[129].command "lowercase"
+indexinfo[].command[130].indexname "fs1"
+indexinfo[].command[130].command "multivalue"
+indexinfo[].command[131].indexname "fs1"
+indexinfo[].command[131].command "index"
+indexinfo[].command[132].indexname "fs1"
+indexinfo[].command[132].command "plain-tokens"
+indexinfo[].command[133].indexname "fs1"
+indexinfo[].command[133].command "stem:SHORTEST"
+indexinfo[].command[134].indexname "fs1"
+indexinfo[].command[134].command "normalize"
+indexinfo[].command[135].indexname "fs2"
+indexinfo[].command[135].command "lowercase"
+indexinfo[].command[136].indexname "fs2"
+indexinfo[].command[136].command "index"
+indexinfo[].command[137].indexname "fs2"
+indexinfo[].command[137].command "plain-tokens"
+indexinfo[].command[138].indexname "fs2"
+indexinfo[].command[138].command "stem:SHORTEST"
+indexinfo[].command[139].indexname "fs2"
+indexinfo[].command[139].command "normalize"
+indexinfo[].command[140].indexname "fs3"
+indexinfo[].command[140].command "attribute"
+indexinfo[].command[141].indexname "fs3"
+indexinfo[].command[141].command "index"
+indexinfo[].command[142].indexname "fs4"
+indexinfo[].command[142].command "lowercase"
+indexinfo[].command[143].indexname "fs4"
+indexinfo[].command[143].command "index"
+indexinfo[].command[144].indexname "fs4"
+indexinfo[].command[144].command "plain-tokens"
+indexinfo[].command[145].indexname "fs4"
+indexinfo[].command[145].command "stem:SHORTEST"
+indexinfo[].command[146].indexname "fs4"
+indexinfo[].command[146].command "normalize"
+indexinfo[].command[147].indexname "onlyattrib"
+indexinfo[].command[147].command "attribute"
+indexinfo[].command[148].indexname "onlyattrib"
+indexinfo[].command[148].command "index"
+indexinfo[].command[149].indexname "onlyattrib"
+indexinfo[].command[149].command "word"
+indexinfo[].command[150].indexname "exactfields"
+indexinfo[].command[150].command "lowercase"
+indexinfo[].command[151].indexname "exactfields"
+indexinfo[].command[151].command "index"
+indexinfo[].command[152].indexname "exactfields"
+indexinfo[].command[152].command "exact @@"
+indexinfo[].command[153].indexname "exactexplicit"
+indexinfo[].command[153].command "exact ARNOLD"
+indexinfo[].command[154].indexname "exactexplicit"
+indexinfo[].command[154].command "dynteaser"
+indexinfo[].command[155].indexname "exactexplicit2"
+indexinfo[].command[155].command "lowercase"
+indexinfo[].command[156].indexname "exactexplicit2"
+indexinfo[].command[156].command "index"
+indexinfo[].command[157].indexname "exactexplicit2"
+indexinfo[].command[157].command "exact Arnold"
+indexinfo[].command[158].indexname "gram"
+indexinfo[].command[158].command "lowercase"
+indexinfo[].command[159].indexname "gram"
+indexinfo[].command[159].command "index"
+indexinfo[].command[160].indexname "gram"
+indexinfo[].command[160].command "stem:SHORTEST"
+indexinfo[].command[161].indexname "gram"
+indexinfo[].command[161].command "normalize"
+indexinfo[].command[162].indexname "gram"
+indexinfo[].command[162].command "ngram 2"
+indexinfo[].command[163].indexname "nostem1"
+indexinfo[].command[163].command "lowercase"
+indexinfo[].command[164].indexname "nostem1"
+indexinfo[].command[164].command "index"
+indexinfo[].command[165].indexname "nostem1"
+indexinfo[].command[165].command "plain-tokens"
+indexinfo[].command[166].indexname "nostem1"
+indexinfo[].command[166].command "normalize"
+indexinfo[].command[167].indexname "nostem2"
+indexinfo[].command[167].command "lowercase"
+indexinfo[].command[168].indexname "nostem2"
+indexinfo[].command[168].command "index"
+indexinfo[].command[169].indexname "nostem2"
+indexinfo[].command[169].command "plain-tokens"
+indexinfo[].command[170].indexname "nostem2"
+indexinfo[].command[170].command "normalize"
+indexinfo[].command[171].indexname "default"
+indexinfo[].command[171].command "lowercase"
+indexinfo[].command[172].indexname "default"
+indexinfo[].command[172].command "index"
+indexinfo[].command[173].indexname "default"
+indexinfo[].command[173].command "plain-tokens"
+indexinfo[].command[174].indexname "default"
+indexinfo[].command[174].command "stem:SHORTEST"
+indexinfo[].command[175].indexname "default"
+indexinfo[].command[175].command "normalize"
diff --git a/config-model/src/test/derived/indexschema/indexschema.cfg b/config-model/src/test/derived/indexschema/indexschema.cfg
index 459d2ff37b4..7d081869b22 100644
--- a/config-model/src/test/derived/indexschema/indexschema.cfg
+++ b/config-model/src/test/derived/indexschema/indexschema.cfg
@@ -1,221 +1,221 @@
-indexfield[0].name "sa"
-indexfield[0].indextype VESPA
-indexfield[0].datatype STRING
-indexfield[0].collectiontype SINGLE
-indexfield[0].prefix false
-indexfield[0].phrases false
-indexfield[0].positions true
-indexfield[0].averageelementlen 512
-indexfield[1].name "sb"
-indexfield[1].indextype VESPA
-indexfield[1].datatype STRING
-indexfield[1].collectiontype SINGLE
-indexfield[1].prefix false
-indexfield[1].phrases false
-indexfield[1].positions true
-indexfield[1].averageelementlen 512
-indexfield[2].name "sc"
-indexfield[2].indextype VESPA
-indexfield[2].datatype STRING
-indexfield[2].collectiontype SINGLE
-indexfield[2].prefix false
-indexfield[2].phrases false
-indexfield[2].positions true
-indexfield[2].averageelementlen 512
-indexfield[3].name "sd"
-indexfield[3].indextype VESPA
-indexfield[3].datatype STRING
-indexfield[3].collectiontype SINGLE
-indexfield[3].prefix false
-indexfield[3].phrases false
-indexfield[3].positions true
-indexfield[3].averageelementlen 512
-indexfield[4].name "sf"
-indexfield[4].indextype VESPA
-indexfield[4].datatype STRING
-indexfield[4].collectiontype ARRAY
-indexfield[4].prefix false
-indexfield[4].phrases false
-indexfield[4].positions true
-indexfield[4].averageelementlen 512
-indexfield[5].name "sg"
-indexfield[5].indextype VESPA
-indexfield[5].datatype STRING
-indexfield[5].collectiontype WEIGHTEDSET
-indexfield[5].prefix false
-indexfield[5].phrases false
-indexfield[5].positions true
-indexfield[5].averageelementlen 512
-indexfield[6].name "sh"
-indexfield[6].indextype VESPA
-indexfield[6].datatype STRING
-indexfield[6].collectiontype SINGLE
-indexfield[6].prefix false
-indexfield[6].phrases false
-indexfield[6].positions true
-indexfield[6].averageelementlen 512
-indexfield[7].name "si"
-indexfield[7].indextype VESPA
-indexfield[7].datatype STRING
-indexfield[7].collectiontype SINGLE
-indexfield[7].prefix true
-indexfield[7].phrases false
-indexfield[7].positions true
-indexfield[7].averageelementlen 512
-indexfield[8].name "exact1"
-indexfield[8].indextype VESPA
-indexfield[8].datatype STRING
-indexfield[8].collectiontype SINGLE
-indexfield[8].prefix false
-indexfield[8].phrases false
-indexfield[8].positions true
-indexfield[8].averageelementlen 512
-indexfield[9].name "exact2"
-indexfield[9].indextype VESPA
-indexfield[9].datatype STRING
-indexfield[9].collectiontype SINGLE
-indexfield[9].prefix false
-indexfield[9].phrases false
-indexfield[9].positions true
-indexfield[9].averageelementlen 512
-indexfield[10].name "nostemstring1"
-indexfield[10].indextype VESPA
-indexfield[10].datatype STRING
-indexfield[10].collectiontype SINGLE
-indexfield[10].prefix false
-indexfield[10].phrases false
-indexfield[10].positions true
-indexfield[10].averageelementlen 512
-indexfield[11].name "nostemstring2"
-indexfield[11].indextype VESPA
-indexfield[11].datatype STRING
-indexfield[11].collectiontype SINGLE
-indexfield[11].prefix false
-indexfield[11].phrases false
-indexfield[11].positions true
-indexfield[11].averageelementlen 512
-indexfield[12].name "nostemstring3"
-indexfield[12].indextype VESPA
-indexfield[12].datatype STRING
-indexfield[12].collectiontype SINGLE
-indexfield[12].prefix false
-indexfield[12].phrases false
-indexfield[12].positions true
-indexfield[12].averageelementlen 512
-indexfield[13].name "nostemstring4"
-indexfield[13].indextype VESPA
-indexfield[13].datatype STRING
-indexfield[13].collectiontype SINGLE
-indexfield[13].prefix false
-indexfield[13].phrases false
-indexfield[13].positions true
-indexfield[13].averageelementlen 512
-indexfield[14].name "fs9"
-indexfield[14].indextype VESPA
-indexfield[14].datatype STRING
-indexfield[14].collectiontype SINGLE
-indexfield[14].prefix false
-indexfield[14].phrases false
-indexfield[14].positions true
-indexfield[14].averageelementlen 512
-indexfield[15].name "sd_literal"
-indexfield[15].indextype VESPA
-indexfield[15].datatype STRING
-indexfield[15].collectiontype SINGLE
-indexfield[15].prefix false
-indexfield[15].phrases false
-indexfield[15].positions true
-indexfield[15].averageelementlen 512
-indexfield[16].name "sh.fragment"
-indexfield[16].indextype VESPA
-indexfield[16].datatype STRING
-indexfield[16].collectiontype SINGLE
-indexfield[16].prefix false
-indexfield[16].phrases false
-indexfield[16].positions true
-indexfield[16].averageelementlen 512
-indexfield[17].name "sh.host"
-indexfield[17].indextype VESPA
-indexfield[17].datatype STRING
-indexfield[17].collectiontype SINGLE
-indexfield[17].prefix false
-indexfield[17].phrases false
-indexfield[17].positions true
-indexfield[17].averageelementlen 512
-indexfield[18].name "sh.hostname"
-indexfield[18].indextype VESPA
-indexfield[18].datatype STRING
-indexfield[18].collectiontype SINGLE
-indexfield[18].prefix false
-indexfield[18].phrases false
-indexfield[18].positions true
-indexfield[18].averageelementlen 512
-indexfield[19].name "sh.path"
-indexfield[19].indextype VESPA
-indexfield[19].datatype STRING
-indexfield[19].collectiontype SINGLE
-indexfield[19].prefix false
-indexfield[19].phrases false
-indexfield[19].positions true
-indexfield[19].averageelementlen 512
-indexfield[20].name "sh.port"
-indexfield[20].indextype VESPA
-indexfield[20].datatype STRING
-indexfield[20].collectiontype SINGLE
-indexfield[20].prefix false
-indexfield[20].phrases false
-indexfield[20].positions true
-indexfield[20].averageelementlen 512
-indexfield[21].name "sh.query"
-indexfield[21].indextype VESPA
-indexfield[21].datatype STRING
-indexfield[21].collectiontype SINGLE
-indexfield[21].prefix false
-indexfield[21].phrases false
-indexfield[21].positions true
-indexfield[21].averageelementlen 512
-indexfield[22].name "sh.scheme"
-indexfield[22].indextype VESPA
-indexfield[22].datatype STRING
-indexfield[22].collectiontype SINGLE
-indexfield[22].prefix false
-indexfield[22].phrases false
-indexfield[22].positions true
-indexfield[22].averageelementlen 512
-fieldset[0].name "fs9"
-fieldset[0].field[0].name "se"
-fieldset[1].name "fs1"
-fieldset[1].field[0].name "se"
-fieldset[1].field[1].name "sf"
-fieldset[1].field[2].name "sg"
-fieldset[2].name "fs2"
-fieldset[2].field[0].name "si"
-fieldset[3].name "fs3"
-fieldset[3].field[0].name "ib"
-fieldset[3].field[1].name "ic"
-fieldset[4].name "fs4"
-fieldset[4].field[0].name "sa"
-fieldset[4].field[1].name "sb"
-fieldset[5].name "onlyattrib"
-fieldset[5].field[0].name "se"
-fieldset[6].name "exactfields"
-fieldset[6].field[0].name "exact1"
-fieldset[6].field[1].name "exact2"
-fieldset[7].name "exactexplicit"
-fieldset[7].field[0].name "sa"
-fieldset[7].field[1].name "sb"
-fieldset[8].name "exactexplicit2"
-fieldset[8].field[0].name "sc"
-fieldset[8].field[1].name "sd"
-fieldset[9].name "gram"
-fieldset[9].field[0].name "sc"
-fieldset[9].field[1].name "sd"
-fieldset[10].name "nostem1"
-fieldset[10].field[0].name "nostemstring1"
-fieldset[10].field[1].name "nostemstring2"
-fieldset[11].name "nostem2"
-fieldset[11].field[0].name "nostemstring3"
-fieldset[11].field[1].name "nostemstring4"
-fieldset[12].name "default"
-fieldset[12].field[0].name "sb"
-fieldset[12].field[1].name "sc" \ No newline at end of file
+indexfield[].name "sa"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype SINGLE
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "sb"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype SINGLE
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "sc"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype SINGLE
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "sd"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype SINGLE
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "sf"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype ARRAY
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "sg"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype WEIGHTEDSET
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "sh"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype SINGLE
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "si"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype SINGLE
+indexfield[].prefix true
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "exact1"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype SINGLE
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "exact2"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype SINGLE
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "nostemstring1"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype SINGLE
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "nostemstring2"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype SINGLE
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "nostemstring3"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype SINGLE
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "nostemstring4"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype SINGLE
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "fs9"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype SINGLE
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "sd_literal"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype SINGLE
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "sh.fragment"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype SINGLE
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "sh.host"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype SINGLE
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "sh.hostname"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype SINGLE
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "sh.path"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype SINGLE
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "sh.port"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype SINGLE
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "sh.query"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype SINGLE
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "sh.scheme"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype SINGLE
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+fieldset[].name "fs9"
+fieldset[].field[].name "se"
+fieldset[].name "fs1"
+fieldset[].field[].name "se"
+fieldset[].field[].name "sf"
+fieldset[].field[].name "sg"
+fieldset[].name "fs2"
+fieldset[].field[].name "si"
+fieldset[].name "fs3"
+fieldset[].field[].name "ib"
+fieldset[].field[].name "ic"
+fieldset[].name "fs4"
+fieldset[].field[].name "sa"
+fieldset[].field[].name "sb"
+fieldset[].name "onlyattrib"
+fieldset[].field[].name "se"
+fieldset[].name "exactfields"
+fieldset[].field[].name "exact1"
+fieldset[].field[].name "exact2"
+fieldset[].name "exactexplicit"
+fieldset[].field[].name "sa"
+fieldset[].field[].name "sb"
+fieldset[].name "exactexplicit2"
+fieldset[].field[].name "sc"
+fieldset[].field[].name "sd"
+fieldset[].name "gram"
+fieldset[].field[].name "sc"
+fieldset[].field[].name "sd"
+fieldset[].name "nostem1"
+fieldset[].field[].name "nostemstring1"
+fieldset[].field[].name "nostemstring2"
+fieldset[].name "nostem2"
+fieldset[].field[].name "nostemstring3"
+fieldset[].field[].name "nostemstring4"
+fieldset[].name "default"
+fieldset[].field[].name "sb"
+fieldset[].field[].name "sc"
diff --git a/config-model/src/test/derived/indexschema/vsmfields.cfg b/config-model/src/test/derived/indexschema/vsmfields.cfg
index 74d41e1cb6f..b6c50869e34 100644
--- a/config-model/src/test/derived/indexschema/vsmfields.cfg
+++ b/config-model/src/test/derived/indexschema/vsmfields.cfg
@@ -1,194 +1,194 @@
documentverificationlevel 0
searchall 1
-fieldspec[0].name "sa"
-fieldspec[0].searchmethod AUTOUTF8
-fieldspec[0].arg1 ""
-fieldspec[0].maxlength 1048576
-fieldspec[0].fieldtype INDEX
-fieldspec[1].name "sb"
-fieldspec[1].searchmethod AUTOUTF8
-fieldspec[1].arg1 ""
-fieldspec[1].maxlength 1048576
-fieldspec[1].fieldtype INDEX
-fieldspec[2].name "sc"
-fieldspec[2].searchmethod AUTOUTF8
-fieldspec[2].arg1 ""
-fieldspec[2].maxlength 1048576
-fieldspec[2].fieldtype INDEX
-fieldspec[3].name "sd"
-fieldspec[3].searchmethod AUTOUTF8
-fieldspec[3].arg1 ""
-fieldspec[3].maxlength 1048576
-fieldspec[3].fieldtype INDEX
-fieldspec[4].name "se"
-fieldspec[4].searchmethod AUTOUTF8
-fieldspec[4].arg1 "word"
-fieldspec[4].maxlength 1048576
-fieldspec[4].fieldtype ATTRIBUTE
-fieldspec[5].name "sf"
-fieldspec[5].searchmethod AUTOUTF8
-fieldspec[5].arg1 ""
-fieldspec[5].maxlength 1048576
-fieldspec[5].fieldtype INDEX
-fieldspec[6].name "sg"
-fieldspec[6].searchmethod AUTOUTF8
-fieldspec[6].arg1 ""
-fieldspec[6].maxlength 1048576
-fieldspec[6].fieldtype INDEX
-fieldspec[7].name "sh"
-fieldspec[7].searchmethod AUTOUTF8
-fieldspec[7].arg1 ""
-fieldspec[7].maxlength 1048576
-fieldspec[7].fieldtype INDEX
-fieldspec[8].name "si"
-fieldspec[8].searchmethod AUTOUTF8
-fieldspec[8].arg1 ""
-fieldspec[8].maxlength 1048576
-fieldspec[8].fieldtype INDEX
-fieldspec[9].name "exact1"
-fieldspec[9].searchmethod AUTOUTF8
-fieldspec[9].arg1 "exact"
-fieldspec[9].maxlength 1048576
-fieldspec[9].fieldtype INDEX
-fieldspec[10].name "exact2"
-fieldspec[10].searchmethod AUTOUTF8
-fieldspec[10].arg1 "exact"
-fieldspec[10].maxlength 1048576
-fieldspec[10].fieldtype INDEX
-fieldspec[11].name "ia"
-fieldspec[11].searchmethod INT32
-fieldspec[11].arg1 ""
-fieldspec[11].maxlength 1048576
-fieldspec[11].fieldtype ATTRIBUTE
-fieldspec[12].name "ib"
-fieldspec[12].searchmethod INT32
-fieldspec[12].arg1 ""
-fieldspec[12].maxlength 1048576
-fieldspec[12].fieldtype ATTRIBUTE
-fieldspec[13].name "ic"
-fieldspec[13].searchmethod INT32
-fieldspec[13].arg1 ""
-fieldspec[13].maxlength 1048576
-fieldspec[13].fieldtype ATTRIBUTE
-fieldspec[14].name "nostemstring1"
-fieldspec[14].searchmethod AUTOUTF8
-fieldspec[14].arg1 ""
-fieldspec[14].maxlength 1048576
-fieldspec[14].fieldtype INDEX
-fieldspec[15].name "nostemstring2"
-fieldspec[15].searchmethod AUTOUTF8
-fieldspec[15].arg1 ""
-fieldspec[15].maxlength 1048576
-fieldspec[15].fieldtype INDEX
-fieldspec[16].name "nostemstring3"
-fieldspec[16].searchmethod AUTOUTF8
-fieldspec[16].arg1 ""
-fieldspec[16].maxlength 1048576
-fieldspec[16].fieldtype INDEX
-fieldspec[17].name "nostemstring4"
-fieldspec[17].searchmethod AUTOUTF8
-fieldspec[17].arg1 ""
-fieldspec[17].maxlength 1048576
-fieldspec[17].fieldtype INDEX
-fieldspec[18].name "fs9"
-fieldspec[18].searchmethod AUTOUTF8
-fieldspec[18].arg1 ""
-fieldspec[18].maxlength 1048576
-fieldspec[18].fieldtype INDEX
-fieldspec[19].name "f10.text"
-fieldspec[19].searchmethod AUTOUTF8
-fieldspec[19].arg1 ""
-fieldspec[19].maxlength 1048576
-fieldspec[19].fieldtype INDEX
-fieldspec[20].name "sd_literal"
-fieldspec[20].searchmethod AUTOUTF8
-fieldspec[20].arg1 ""
-fieldspec[20].maxlength 1048576
-fieldspec[20].fieldtype INDEX
-fieldspec[21].name "pos_zcurve"
-fieldspec[21].searchmethod INT64
-fieldspec[21].arg1 ""
-fieldspec[21].maxlength 1048576
-fieldspec[21].fieldtype ATTRIBUTE
-documenttype[0].name "indexschema"
-documenttype[0].index[0].name "sa"
-documenttype[0].index[0].field[0].name "sa"
-documenttype[0].index[1].name "sb"
-documenttype[0].index[1].field[0].name "sb"
-documenttype[0].index[2].name "sc"
-documenttype[0].index[2].field[0].name "sc"
-documenttype[0].index[3].name "sd"
-documenttype[0].index[3].field[0].name "sd"
-documenttype[0].index[4].name "se"
-documenttype[0].index[4].field[0].name "se"
-documenttype[0].index[5].name "sf"
-documenttype[0].index[5].field[0].name "sf"
-documenttype[0].index[6].name "sg"
-documenttype[0].index[6].field[0].name "sg"
-documenttype[0].index[7].name "sh"
-documenttype[0].index[7].field[0].name "sh"
-documenttype[0].index[8].name "si"
-documenttype[0].index[8].field[0].name "si"
-documenttype[0].index[9].name "exact1"
-documenttype[0].index[9].field[0].name "exact1"
-documenttype[0].index[10].name "exact2"
-documenttype[0].index[10].field[0].name "exact2"
-documenttype[0].index[11].name "ia"
-documenttype[0].index[11].field[0].name "ia"
-documenttype[0].index[12].name "ib"
-documenttype[0].index[12].field[0].name "ib"
-documenttype[0].index[13].name "ic"
-documenttype[0].index[13].field[0].name "ic"
-documenttype[0].index[14].name "nostemstring1"
-documenttype[0].index[14].field[0].name "nostemstring1"
-documenttype[0].index[15].name "nostemstring2"
-documenttype[0].index[15].field[0].name "nostemstring2"
-documenttype[0].index[16].name "nostemstring3"
-documenttype[0].index[16].field[0].name "nostemstring3"
-documenttype[0].index[17].name "nostemstring4"
-documenttype[0].index[17].field[0].name "nostemstring4"
-documenttype[0].index[18].name "fs9"
-documenttype[0].index[18].field[0].name "se"
-documenttype[0].index[19].name "f10"
-documenttype[0].index[19].field[0].name "f10.text"
-documenttype[0].index[20].name "f10.text"
-documenttype[0].index[20].field[0].name "f10.text"
-documenttype[0].index[21].name "sd_literal"
-documenttype[0].index[21].field[0].name "sd_literal"
-documenttype[0].index[22].name "pos_zcurve"
-documenttype[0].index[22].field[0].name "pos_zcurve"
-documenttype[0].index[23].name "fs1"
-documenttype[0].index[23].field[0].name "se"
-documenttype[0].index[23].field[1].name "sf"
-documenttype[0].index[23].field[2].name "sg"
-documenttype[0].index[24].name "fs2"
-documenttype[0].index[24].field[0].name "si"
-documenttype[0].index[25].name "fs3"
-documenttype[0].index[25].field[0].name "ib"
-documenttype[0].index[25].field[1].name "ic"
-documenttype[0].index[26].name "fs4"
-documenttype[0].index[26].field[0].name "sa"
-documenttype[0].index[26].field[1].name "sb"
-documenttype[0].index[27].name "onlyattrib"
-documenttype[0].index[27].field[0].name "se"
-documenttype[0].index[28].name "exactfields"
-documenttype[0].index[28].field[0].name "exact1"
-documenttype[0].index[28].field[1].name "exact2"
-documenttype[0].index[29].name "exactexplicit"
-documenttype[0].index[29].field[0].name "sa"
-documenttype[0].index[29].field[1].name "sb"
-documenttype[0].index[30].name "exactexplicit2"
-documenttype[0].index[30].field[0].name "sc"
-documenttype[0].index[30].field[1].name "sd"
-documenttype[0].index[31].name "gram"
-documenttype[0].index[31].field[0].name "sc"
-documenttype[0].index[31].field[1].name "sd"
-documenttype[0].index[32].name "nostem1"
-documenttype[0].index[32].field[0].name "nostemstring1"
-documenttype[0].index[32].field[1].name "nostemstring2"
-documenttype[0].index[33].name "nostem2"
-documenttype[0].index[33].field[0].name "nostemstring3"
-documenttype[0].index[33].field[1].name "nostemstring4"
-documenttype[0].index[34].name "default"
-documenttype[0].index[34].field[0].name "sb"
-documenttype[0].index[34].field[1].name "sc" \ No newline at end of file
+fieldspec[].name "sa"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "sb"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "sc"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "sd"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "se"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "word"
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype ATTRIBUTE
+fieldspec[].name "sf"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "sg"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "sh"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "si"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "exact1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "exact"
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "exact2"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "exact"
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "ia"
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype ATTRIBUTE
+fieldspec[].name "ib"
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype ATTRIBUTE
+fieldspec[].name "ic"
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype ATTRIBUTE
+fieldspec[].name "nostemstring1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "nostemstring2"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "nostemstring3"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "nostemstring4"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "fs9"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "f10.text"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "sd_literal"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "pos_zcurve"
+fieldspec[].searchmethod INT64
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype ATTRIBUTE
+documenttype[].name "indexschema"
+documenttype[].index[].name "sa"
+documenttype[].index[].field[].name "sa"
+documenttype[].index[].name "sb"
+documenttype[].index[].field[].name "sb"
+documenttype[].index[].name "sc"
+documenttype[].index[].field[].name "sc"
+documenttype[].index[].name "sd"
+documenttype[].index[].field[].name "sd"
+documenttype[].index[].name "se"
+documenttype[].index[].field[].name "se"
+documenttype[].index[].name "sf"
+documenttype[].index[].field[].name "sf"
+documenttype[].index[].name "sg"
+documenttype[].index[].field[].name "sg"
+documenttype[].index[].name "sh"
+documenttype[].index[].field[].name "sh"
+documenttype[].index[].name "si"
+documenttype[].index[].field[].name "si"
+documenttype[].index[].name "exact1"
+documenttype[].index[].field[].name "exact1"
+documenttype[].index[].name "exact2"
+documenttype[].index[].field[].name "exact2"
+documenttype[].index[].name "ia"
+documenttype[].index[].field[].name "ia"
+documenttype[].index[].name "ib"
+documenttype[].index[].field[].name "ib"
+documenttype[].index[].name "ic"
+documenttype[].index[].field[].name "ic"
+documenttype[].index[].name "nostemstring1"
+documenttype[].index[].field[].name "nostemstring1"
+documenttype[].index[].name "nostemstring2"
+documenttype[].index[].field[].name "nostemstring2"
+documenttype[].index[].name "nostemstring3"
+documenttype[].index[].field[].name "nostemstring3"
+documenttype[].index[].name "nostemstring4"
+documenttype[].index[].field[].name "nostemstring4"
+documenttype[].index[].name "fs9"
+documenttype[].index[].field[].name "se"
+documenttype[].index[].name "f10"
+documenttype[].index[].field[].name "f10.text"
+documenttype[].index[].name "f10.text"
+documenttype[].index[].field[].name "f10.text"
+documenttype[].index[].name "sd_literal"
+documenttype[].index[].field[].name "sd_literal"
+documenttype[].index[].name "pos_zcurve"
+documenttype[].index[].field[].name "pos_zcurve"
+documenttype[].index[].name "fs1"
+documenttype[].index[].field[].name "se"
+documenttype[].index[].field[].name "sf"
+documenttype[].index[].field[].name "sg"
+documenttype[].index[].name "fs2"
+documenttype[].index[].field[].name "si"
+documenttype[].index[].name "fs3"
+documenttype[].index[].field[].name "ib"
+documenttype[].index[].field[].name "ic"
+documenttype[].index[].name "fs4"
+documenttype[].index[].field[].name "sa"
+documenttype[].index[].field[].name "sb"
+documenttype[].index[].name "onlyattrib"
+documenttype[].index[].field[].name "se"
+documenttype[].index[].name "exactfields"
+documenttype[].index[].field[].name "exact1"
+documenttype[].index[].field[].name "exact2"
+documenttype[].index[].name "exactexplicit"
+documenttype[].index[].field[].name "sa"
+documenttype[].index[].field[].name "sb"
+documenttype[].index[].name "exactexplicit2"
+documenttype[].index[].field[].name "sc"
+documenttype[].index[].field[].name "sd"
+documenttype[].index[].name "gram"
+documenttype[].index[].field[].name "sc"
+documenttype[].index[].field[].name "sd"
+documenttype[].index[].name "nostem1"
+documenttype[].index[].field[].name "nostemstring1"
+documenttype[].index[].field[].name "nostemstring2"
+documenttype[].index[].name "nostem2"
+documenttype[].index[].field[].name "nostemstring3"
+documenttype[].index[].field[].name "nostemstring4"
+documenttype[].index[].name "default"
+documenttype[].index[].field[].name "sb"
+documenttype[].index[].field[].name "sc"
diff --git a/config-model/src/test/derived/indexswitches/documentmanager.cfg b/config-model/src/test/derived/indexswitches/documentmanager.cfg
index bdc983ebb67..5a529d3809f 100644
--- a/config-model/src/test/derived/indexswitches/documentmanager.cfg
+++ b/config-model/src/test/derived/indexswitches/documentmanager.cfg
@@ -1,58 +1,58 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
-datatype[1].id -555640823
-datatype[1].structtype[0].name "indexswitches.header"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].compresstype NONE
-datatype[1].structtype[0].compresslevel 0
-datatype[1].structtype[0].compressthreshold 95
-datatype[1].structtype[0].compressminsize 800
-datatype[1].structtype[0].field[0].name "title"
-datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
-datatype[1].structtype[0].field[1].name "descr"
-datatype[1].structtype[0].field[1].datatype 2
-datatype[1].structtype[0].field[1].detailedtype ""
-datatype[1].structtype[0].field[2].name "source_src"
-datatype[1].structtype[0].field[2].datatype 2
-datatype[1].structtype[0].field[2].detailedtype ""
-datatype[1].structtype[0].field[3].name "source"
-datatype[1].structtype[0].field[3].datatype 2
-datatype[1].structtype[0].field[3].detailedtype ""
-datatype[1].structtype[0].field[4].name "rankfeatures"
-datatype[1].structtype[0].field[4].datatype 2
-datatype[1].structtype[0].field[4].detailedtype ""
-datatype[1].structtype[0].field[5].name "summaryfeatures"
-datatype[1].structtype[0].field[5].datatype 2
-datatype[1].structtype[0].field[5].detailedtype ""
-datatype[2].id -1892617122
-datatype[2].structtype[0].name "indexswitches.body"
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].compresstype NONE
-datatype[2].structtype[0].compresslevel 0
-datatype[2].structtype[0].compressthreshold 95
-datatype[2].structtype[0].compressminsize 800
-datatype[3].id -753375626
-datatype[3].documenttype[0].name "indexswitches"
-datatype[3].documenttype[0].version 0
-datatype[3].documenttype[0].inherits[0].name "document"
-datatype[3].documenttype[0].inherits[0].version 0
-datatype[3].documenttype[0].headerstruct -555640823
-datatype[3].documenttype[0].bodystruct -1892617122
-datatype[3].documenttype[0].fieldsets{default}.fields[0] "descr"
-datatype[3].documenttype[0].fieldsets{default}.fields[1] "title"
-datatype[3].documenttype[0].fieldsets{[document]}.fields[0] "descr"
-datatype[3].documenttype[0].fieldsets{[document]}.fields[1] "source_src"
-datatype[3].documenttype[0].fieldsets{[document]}.fields[2] "title"
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -555640823
+datatype[].structtype[].name "indexswitches.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "title"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "descr"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "source_src"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "source"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -1892617122
+datatype[].structtype[].name "indexswitches.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id -753375626
+datatype[].documenttype[].name "indexswitches"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct -555640823
+datatype[].documenttype[].bodystruct -1892617122
+datatype[].documenttype[].fieldsets{default}.fields[0] "descr"
+datatype[].documenttype[].fieldsets{default}.fields[1] "title"
+datatype[].documenttype[].fieldsets{[document]}.fields[0] "descr"
+datatype[].documenttype[].fieldsets{[document]}.fields[1] "source_src"
+datatype[].documenttype[].fieldsets{[document]}.fields[2] "title"
diff --git a/config-model/src/test/derived/indexswitches/ilscripts.cfg b/config-model/src/test/derived/indexswitches/ilscripts.cfg
index 6d1ef6b9b6d..e861a65586a 100644
--- a/config-model/src/test/derived/indexswitches/ilscripts.cfg
+++ b/config-model/src/test/derived/indexswitches/ilscripts.cfg
@@ -1,10 +1,10 @@
maxtermoccurrences 100
fieldmatchmaxlength 1000000
-ilscript[0].doctype "indexswitches"
-ilscript[0].docfield[0] "title"
-ilscript[0].docfield[1] "descr"
-ilscript[0].docfield[2] "source_src"
-ilscript[0].content[0] "clear_state | guard { input source_src | switch { case \"theweb\": input source_src | tokenize normalize | summary source | index source; case \"amg\": input source_src | tokenize normalize | summary source; default: input source_src . \" partner\" | tokenize normalize | summary source | index source; }; }"
-ilscript[0].content[1] "clear_state | guard { input title | tokenize normalize stem:\"SHORTEST\" | summary title | index title; }"
-ilscript[0].content[2] "clear_state | guard { input descr | tokenize normalize stem:\"SHORTEST\" | summary descr | index descr; }"
-ilscript[0].content[3] "input source_src | passthrough source_src"
+ilscript[].doctype "indexswitches"
+ilscript[].docfield[0] "title"
+ilscript[].docfield[1] "descr"
+ilscript[].docfield[2] "source_src"
+ilscript[].content[0] "clear_state | guard { input source_src | switch { case \"theweb\": input source_src | tokenize normalize | summary source | index source; case \"amg\": input source_src | tokenize normalize | summary source; default: input source_src . \" partner\" | tokenize normalize | summary source | index source; }; }"
+ilscript[].content[1] "clear_state | guard { input title | tokenize normalize stem:\"SHORTEST\" | summary title | index title; }"
+ilscript[].content[2] "clear_state | guard { input descr | tokenize normalize stem:\"SHORTEST\" | summary descr | index descr; }"
+ilscript[].content[3] "input source_src | passthrough source_src"
diff --git a/config-model/src/test/derived/indexswitches/index-info.cfg b/config-model/src/test/derived/indexswitches/index-info.cfg
index 0b3588dc128..eec20bdbff6 100644
--- a/config-model/src/test/derived/indexswitches/index-info.cfg
+++ b/config-model/src/test/derived/indexswitches/index-info.cfg
@@ -1,49 +1,49 @@
-indexinfo[0].name "indexswitches"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "title"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "title"
-indexinfo[0].command[3].command "lowercase"
-indexinfo[0].command[4].indexname "title"
-indexinfo[0].command[4].command "stem:SHORTEST"
-indexinfo[0].command[5].indexname "title"
-indexinfo[0].command[5].command "normalize"
-indexinfo[0].command[6].indexname "title"
-indexinfo[0].command[6].command "plain-tokens"
-indexinfo[0].command[7].indexname "descr"
-indexinfo[0].command[7].command "index"
-indexinfo[0].command[8].indexname "descr"
-indexinfo[0].command[8].command "lowercase"
-indexinfo[0].command[9].indexname "descr"
-indexinfo[0].command[9].command "stem:SHORTEST"
-indexinfo[0].command[10].indexname "descr"
-indexinfo[0].command[10].command "normalize"
-indexinfo[0].command[11].indexname "descr"
-indexinfo[0].command[11].command "plain-tokens"
-indexinfo[0].command[12].indexname "source_src"
-indexinfo[0].command[12].command "index"
-indexinfo[0].command[13].indexname "rankfeatures"
-indexinfo[0].command[13].command "index"
-indexinfo[0].command[14].indexname "source"
-indexinfo[0].command[14].command "index"
-indexinfo[0].command[15].indexname "source"
-indexinfo[0].command[15].command "lowercase"
-indexinfo[0].command[16].indexname "source"
-indexinfo[0].command[16].command "normalize"
-indexinfo[0].command[17].indexname "source"
-indexinfo[0].command[17].command "plain-tokens"
-indexinfo[0].command[18].indexname "summaryfeatures"
-indexinfo[0].command[18].command "index"
-indexinfo[0].command[19].indexname "default"
-indexinfo[0].command[19].command "lowercase"
-indexinfo[0].command[20].indexname "default"
-indexinfo[0].command[20].command "index"
-indexinfo[0].command[21].indexname "default"
-indexinfo[0].command[21].command "plain-tokens"
-indexinfo[0].command[22].indexname "default"
-indexinfo[0].command[22].command "stem:SHORTEST"
-indexinfo[0].command[23].indexname "default"
-indexinfo[0].command[23].command "normalize" \ No newline at end of file
+indexinfo[].name "indexswitches"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "descr"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "descr"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "descr"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "descr"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "descr"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "source_src"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "rankfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "source"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "source"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "source"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "source"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "summaryfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "normalize"
diff --git a/config-model/src/test/derived/indexswitches/rank-profiles.cfg b/config-model/src/test/derived/indexswitches/rank-profiles.cfg
index caca83a9a91..873d3c0cd49 100644
--- a/config-model/src/test/derived/indexswitches/rank-profiles.cfg
+++ b/config-model/src/test/derived/indexswitches/rank-profiles.cfg
@@ -1,10 +1,10 @@
-rankprofile[0].name "default"
-rankprofile[1].name "unranked"
-rankprofile[1].fef.property[0].name "vespa.rank.firstphase"
-rankprofile[1].fef.property[0].value "value(0)"
-rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize"
-rankprofile[1].fef.property[1].value "0"
-rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize"
-rankprofile[1].fef.property[2].value "0"
-rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures"
-rankprofile[1].fef.property[3].value "true" \ No newline at end of file
+rankprofile[].name "default"
+rankprofile[].name "unranked"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "value(0)"
+rankprofile[].fef.property[].name "vespa.hitcollector.heapsize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.hitcollector.arraysize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.dump.ignoredefaultfeatures"
+rankprofile[].fef.property[].value "true"
diff --git a/config-model/src/test/derived/indexswitches/summary.cfg b/config-model/src/test/derived/indexswitches/summary.cfg
index 8644ad1262b..5bdc8fcdef4 100644
--- a/config-model/src/test/derived/indexswitches/summary.cfg
+++ b/config-model/src/test/derived/indexswitches/summary.cfg
@@ -1,15 +1,15 @@
defaultsummaryid 1698765342
-classes[0].id 1698765342
-classes[0].name "default"
-classes[0].fields[0].name "source"
-classes[0].fields[0].type "longstring"
-classes[0].fields[1].name "title"
-classes[0].fields[1].type "longstring"
-classes[0].fields[2].name "descr"
-classes[0].fields[2].type "longstring"
-classes[0].fields[3].name "rankfeatures"
-classes[0].fields[3].type "featuredata"
-classes[0].fields[4].name "summaryfeatures"
-classes[0].fields[4].type "featuredata"
-classes[0].fields[5].name "documentid"
-classes[0].fields[5].type "longstring" \ No newline at end of file
+classes[].id 1698765342
+classes[].name "default"
+classes[].fields[].name "source"
+classes[].fields[].type "longstring"
+classes[].fields[].name "title"
+classes[].fields[].type "longstring"
+classes[].fields[].name "descr"
+classes[].fields[].type "longstring"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "documentid"
+classes[].fields[].type "longstring"
diff --git a/config-model/src/test/derived/indexswitches/summarymap.cfg b/config-model/src/test/derived/indexswitches/summarymap.cfg
index 42b6e811ee6..8956a146b74 100644
--- a/config-model/src/test/derived/indexswitches/summarymap.cfg
+++ b/config-model/src/test/derived/indexswitches/summarymap.cfg
@@ -1,7 +1,7 @@
defaultoutputclass -1
-override[0].field "rankfeatures"
-override[0].command "rankfeatures"
-override[0].arguments ""
-override[1].field "summaryfeatures"
-override[1].command "summaryfeatures"
-override[1].arguments "" \ No newline at end of file
+override[].field "rankfeatures"
+override[].command "rankfeatures"
+override[].arguments ""
+override[].field "summaryfeatures"
+override[].command "summaryfeatures"
+override[].arguments ""
diff --git a/config-model/src/test/derived/inheritance/attributes.cfg b/config-model/src/test/derived/inheritance/attributes.cfg
index 3eee84d71c4..038ca97f91c 100644
--- a/config-model/src/test/derived/inheritance/attributes.cfg
+++ b/config-model/src/test/derived/inheritance/attributes.cfg
@@ -1,60 +1,60 @@
-attribute[0].name "onlygrandparent"
-attribute[0].datatype INT32
-attribute[0].collectiontype SINGLE
-attribute[0].removeifzero false
-attribute[0].createifnonexistent false
-attribute[0].fastsearch false
-attribute[0].huge false
-attribute[0].sortascending true
-attribute[0].sortfunction UCA
-attribute[0].sortstrength PRIMARY
-attribute[0].sortlocale ""
-attribute[0].enablebitvectors false
-attribute[0].enableonlybitvector false
-attribute[0].fastaccess false
-attribute[0].arity 8
-attribute[0].lowerbound -9223372036854775808
-attribute[0].upperbound 9223372036854775807
-attribute[0].densepostinglistthreshold 0.4
-attribute[0].tensortype ""
-attribute[0].imported false
-attribute[1].name "overridden"
-attribute[1].datatype INT32
-attribute[1].collectiontype SINGLE
-attribute[1].removeifzero false
-attribute[1].createifnonexistent false
-attribute[1].fastsearch false
-attribute[1].huge false
-attribute[1].sortascending true
-attribute[1].sortfunction UCA
-attribute[1].sortstrength PRIMARY
-attribute[1].sortlocale ""
-attribute[1].enablebitvectors false
-attribute[1].enableonlybitvector false
-attribute[1].fastaccess false
-attribute[1].arity 8
-attribute[1].lowerbound -9223372036854775808
-attribute[1].upperbound 9223372036854775807
-attribute[1].densepostinglistthreshold 0.4
-attribute[1].tensortype ""
-attribute[1].imported false
-attribute[2].name "onlymother"
-attribute[2].datatype STRING
-attribute[2].collectiontype SINGLE
-attribute[2].removeifzero false
-attribute[2].createifnonexistent false
-attribute[2].fastsearch false
-attribute[2].huge false
-attribute[2].sortascending true
-attribute[2].sortfunction UCA
-attribute[2].sortstrength PRIMARY
-attribute[2].sortlocale ""
-attribute[2].enablebitvectors false
-attribute[2].enableonlybitvector false
-attribute[2].fastaccess false
-attribute[2].arity 8
-attribute[2].lowerbound -9223372036854775808
-attribute[2].upperbound 9223372036854775807
-attribute[2].densepostinglistthreshold 0.4
-attribute[2].tensortype ""
-attribute[2].imported false \ No newline at end of file
+attribute[].name "onlygrandparent"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "overridden"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "onlymother"
+attribute[].datatype STRING
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
diff --git a/config-model/src/test/derived/inheritance/documentmanager.cfg b/config-model/src/test/derived/inheritance/documentmanager.cfg
index f191b900dc1..d24d3fcf9d5 100644
--- a/config-model/src/test/derived/inheritance/documentmanager.cfg
+++ b/config-model/src/test/derived/inheritance/documentmanager.cfg
@@ -1,155 +1,155 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
-datatype[1].id 990971719
-datatype[1].structtype[0].name "grandparent.header"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].compresstype NONE
-datatype[1].structtype[0].compresslevel 0
-datatype[1].structtype[0].compressthreshold 95
-datatype[1].structtype[0].compressminsize 800
-datatype[1].structtype[0].field[0].name "onlygrandparent"
-datatype[1].structtype[0].field[0].datatype 0
-datatype[1].structtype[0].field[0].detailedtype ""
-datatype[1].structtype[0].field[1].name "overridden"
-datatype[1].structtype[0].field[1].datatype 0
-datatype[1].structtype[0].field[1].detailedtype ""
-datatype[1].structtype[0].field[2].name "rankfeatures"
-datatype[1].structtype[0].field[2].datatype 2
-datatype[1].structtype[0].field[2].detailedtype ""
-datatype[1].structtype[0].field[3].name "summaryfeatures"
-datatype[1].structtype[0].field[3].datatype 2
-datatype[1].structtype[0].field[3].detailedtype ""
-datatype[2].id 978262812
-datatype[2].structtype[0].name "grandparent.body"
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].compresstype NONE
-datatype[2].structtype[0].compresslevel 0
-datatype[2].structtype[0].compressthreshold 95
-datatype[2].structtype[0].compressminsize 800
-datatype[3].id -154107656
-datatype[3].documenttype[0].name "grandparent"
-datatype[3].documenttype[0].version 0
-datatype[3].documenttype[0].inherits[0].name "document"
-datatype[3].documenttype[0].inherits[0].version 0
-datatype[3].documenttype[0].headerstruct 990971719
-datatype[3].documenttype[0].bodystruct 978262812
-datatype[3].documenttype[0].fieldsets{[document]}.fields[0] "onlygrandparent"
-datatype[3].documenttype[0].fieldsets{[document]}.fields[1] "overridden"
-datatype[4].id 1306663898
-datatype[4].structtype[0].name "mother.header"
-datatype[4].structtype[0].version 0
-datatype[4].structtype[0].compresstype NONE
-datatype[4].structtype[0].compresslevel 0
-datatype[4].structtype[0].compressthreshold 95
-datatype[4].structtype[0].compressminsize 800
-datatype[4].structtype[0].field[0].name "onlymother"
-datatype[4].structtype[0].field[0].datatype 2
-datatype[4].structtype[0].field[0].detailedtype ""
-datatype[4].structtype[0].field[1].name "overridden"
-datatype[4].structtype[0].field[1].datatype 0
-datatype[4].structtype[0].field[1].detailedtype ""
-datatype[5].id -1989003153
-datatype[5].structtype[0].name "mother.body"
-datatype[5].structtype[0].version 0
-datatype[5].structtype[0].compresstype NONE
-datatype[5].structtype[0].compresslevel 0
-datatype[5].structtype[0].compressthreshold 95
-datatype[5].structtype[0].compressminsize 800
-datatype[6].id -158393403
-datatype[6].documenttype[0].name "mother"
-datatype[6].documenttype[0].version 0
-datatype[6].documenttype[0].inherits[0].name "grandparent"
-datatype[6].documenttype[0].inherits[0].version 0
-datatype[6].documenttype[0].inherits[1].name "document"
-datatype[6].documenttype[0].inherits[1].version 0
-datatype[6].documenttype[0].headerstruct 1306663898
-datatype[6].documenttype[0].bodystruct -1989003153
-datatype[6].documenttype[0].fieldsets{[document]}.fields[0] "onlygrandparent"
-datatype[6].documenttype[0].fieldsets{[document]}.fields[1] "onlymother"
-datatype[6].documenttype[0].fieldsets{[document]}.fields[2] "overridden"
-datatype[6].documenttype[0].fieldsets{[document]}.fields[3] "rankfeatures"
-datatype[6].documenttype[0].fieldsets{[document]}.fields[4] "summaryfeatures"
-datatype[7].id 2126589281
-datatype[7].structtype[0].name "father.header"
-datatype[7].structtype[0].version 0
-datatype[7].structtype[0].compresstype NONE
-datatype[7].structtype[0].compresslevel 0
-datatype[7].structtype[0].compressthreshold 95
-datatype[7].structtype[0].compressminsize 800
-datatype[7].structtype[0].field[0].name "onlyfather"
-datatype[7].structtype[0].field[0].datatype 2
-datatype[7].structtype[0].field[0].detailedtype ""
-datatype[7].structtype[0].field[1].name "overridden"
-datatype[7].structtype[0].field[1].datatype 0
-datatype[7].structtype[0].field[1].detailedtype ""
-datatype[8].id -1742340170
-datatype[8].structtype[0].name "father.body"
-datatype[8].structtype[0].version 0
-datatype[8].structtype[0].compresstype NONE
-datatype[8].structtype[0].compresslevel 0
-datatype[8].structtype[0].compressthreshold 95
-datatype[8].structtype[0].compressminsize 800
-datatype[9].id 986686494
-datatype[9].documenttype[0].name "father"
-datatype[9].documenttype[0].version 0
-datatype[9].documenttype[0].inherits[0].name "grandparent"
-datatype[9].documenttype[0].inherits[0].version 0
-datatype[9].documenttype[0].inherits[1].name "document"
-datatype[9].documenttype[0].inherits[1].version 0
-datatype[9].documenttype[0].headerstruct 2126589281
-datatype[9].documenttype[0].bodystruct -1742340170
-datatype[9].documenttype[0].fieldsets{[document]}.fields[0] "onlyfather"
-datatype[9].documenttype[0].fieldsets{[document]}.fields[1] "onlygrandparent"
-datatype[9].documenttype[0].fieldsets{[document]}.fields[2] "overridden"
-datatype[9].documenttype[0].fieldsets{[document]}.fields[3] "rankfeatures"
-datatype[9].documenttype[0].fieldsets{[document]}.fields[4] "summaryfeatures"
-datatype[10].id 81425825
-datatype[10].structtype[0].name "child.header"
-datatype[10].structtype[0].version 0
-datatype[10].structtype[0].compresstype NONE
-datatype[10].structtype[0].compresslevel 0
-datatype[10].structtype[0].compressthreshold 95
-datatype[10].structtype[0].compressminsize 800
-datatype[10].structtype[0].field[0].name "onlychild"
-datatype[10].structtype[0].field[0].datatype 2
-datatype[10].structtype[0].field[0].detailedtype ""
-datatype[10].structtype[0].field[1].name "overridden"
-datatype[10].structtype[0].field[1].datatype 0
-datatype[10].structtype[0].field[1].detailedtype ""
-datatype[11].id -126593034
-datatype[11].structtype[0].name "child.body"
-datatype[11].structtype[0].version 0
-datatype[11].structtype[0].compresstype NONE
-datatype[11].structtype[0].compresslevel 0
-datatype[11].structtype[0].compressthreshold 95
-datatype[11].structtype[0].compressminsize 800
-datatype[12].id 746267614
-datatype[12].documenttype[0].name "child"
-datatype[12].documenttype[0].version 0
-datatype[12].documenttype[0].inherits[0].name "document"
-datatype[12].documenttype[0].inherits[0].version 0
-datatype[12].documenttype[0].inherits[1].name "father"
-datatype[12].documenttype[0].inherits[1].version 0
-datatype[12].documenttype[0].inherits[2].name "mother"
-datatype[12].documenttype[0].inherits[2].version 0
-datatype[12].documenttype[0].headerstruct 81425825
-datatype[12].documenttype[0].bodystruct -126593034
-datatype[12].documenttype[0].fieldsets{[document]}.fields[0] "onlychild"
-datatype[12].documenttype[0].fieldsets{[document]}.fields[1] "onlyfather"
-datatype[12].documenttype[0].fieldsets{[document]}.fields[2] "onlygrandparent"
-datatype[12].documenttype[0].fieldsets{[document]}.fields[3] "onlymother"
-datatype[12].documenttype[0].fieldsets{[document]}.fields[4] "overridden"
-datatype[12].documenttype[0].fieldsets{[document]}.fields[5] "rankfeatures"
-datatype[12].documenttype[0].fieldsets{[document]}.fields[6] "summaryfeatures"
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 990971719
+datatype[].structtype[].name "grandparent.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "onlygrandparent"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "overridden"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 978262812
+datatype[].structtype[].name "grandparent.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id -154107656
+datatype[].documenttype[].name "grandparent"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 990971719
+datatype[].documenttype[].bodystruct 978262812
+datatype[].documenttype[].fieldsets{[document]}.fields[0] "onlygrandparent"
+datatype[].documenttype[].fieldsets{[document]}.fields[1] "overridden"
+datatype[].id 1306663898
+datatype[].structtype[].name "mother.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "onlymother"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "overridden"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -1989003153
+datatype[].structtype[].name "mother.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id -158393403
+datatype[].documenttype[].name "mother"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "grandparent"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 1306663898
+datatype[].documenttype[].bodystruct -1989003153
+datatype[].documenttype[].fieldsets{[document]}.fields[0] "onlygrandparent"
+datatype[].documenttype[].fieldsets{[document]}.fields[1] "onlymother"
+datatype[].documenttype[].fieldsets{[document]}.fields[2] "overridden"
+datatype[].documenttype[].fieldsets{[document]}.fields[3] "rankfeatures"
+datatype[].documenttype[].fieldsets{[document]}.fields[4] "summaryfeatures"
+datatype[].id 2126589281
+datatype[].structtype[].name "father.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "onlyfather"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "overridden"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -1742340170
+datatype[].structtype[].name "father.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id 986686494
+datatype[].documenttype[].name "father"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "grandparent"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 2126589281
+datatype[].documenttype[].bodystruct -1742340170
+datatype[].documenttype[].fieldsets{[document]}.fields[0] "onlyfather"
+datatype[].documenttype[].fieldsets{[document]}.fields[1] "onlygrandparent"
+datatype[].documenttype[].fieldsets{[document]}.fields[2] "overridden"
+datatype[].documenttype[].fieldsets{[document]}.fields[3] "rankfeatures"
+datatype[].documenttype[].fieldsets{[document]}.fields[4] "summaryfeatures"
+datatype[].id 81425825
+datatype[].structtype[].name "child.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "onlychild"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "overridden"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -126593034
+datatype[].structtype[].name "child.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id 746267614
+datatype[].documenttype[].name "child"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].inherits[].name "father"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].inherits[].name "mother"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 81425825
+datatype[].documenttype[].bodystruct -126593034
+datatype[].documenttype[].fieldsets{[document]}.fields[0] "onlychild"
+datatype[].documenttype[].fieldsets{[document]}.fields[1] "onlyfather"
+datatype[].documenttype[].fieldsets{[document]}.fields[2] "onlygrandparent"
+datatype[].documenttype[].fieldsets{[document]}.fields[3] "onlymother"
+datatype[].documenttype[].fieldsets{[document]}.fields[4] "overridden"
+datatype[].documenttype[].fieldsets{[document]}.fields[5] "rankfeatures"
+datatype[].documenttype[].fieldsets{[document]}.fields[6] "summaryfeatures"
diff --git a/config-model/src/test/derived/inheritance/ilscripts.cfg b/config-model/src/test/derived/inheritance/ilscripts.cfg
index 90bc86bd3f3..712b158e37e 100644
--- a/config-model/src/test/derived/inheritance/ilscripts.cfg
+++ b/config-model/src/test/derived/inheritance/ilscripts.cfg
@@ -1,13 +1,13 @@
maxtermoccurrences 100
fieldmatchmaxlength 1000000
-ilscript[0].doctype "child"
-ilscript[0].docfield[0] "onlygrandparent"
-ilscript[0].docfield[1] "overridden"
-ilscript[0].docfield[2] "onlyfather"
-ilscript[0].docfield[3] "onlymother"
-ilscript[0].docfield[4] "onlychild"
-ilscript[0].content[0] "clear_state | guard { input onlygrandparent | attribute onlygrandparent; }"
-ilscript[0].content[1] "clear_state | guard { input overridden | attribute overridden; }"
-ilscript[0].content[2] "clear_state | guard { input onlyfather | summary onlyfather; }"
-ilscript[0].content[3] "clear_state | guard { input onlymother | tokenize normalize stem:\"SHORTEST\" | attribute onlymother | index onlymother; }"
-ilscript[0].content[4] "clear_state | guard { input onlychild | tokenize normalize stem:\"SHORTEST\" | index onlychild; }"
+ilscript[].doctype "child"
+ilscript[].docfield[0] "onlygrandparent"
+ilscript[].docfield[1] "overridden"
+ilscript[].docfield[2] "onlyfather"
+ilscript[].docfield[3] "onlymother"
+ilscript[].docfield[4] "onlychild"
+ilscript[].content[0] "clear_state | guard { input onlygrandparent | attribute onlygrandparent; }"
+ilscript[].content[1] "clear_state | guard { input overridden | attribute overridden; }"
+ilscript[].content[2] "clear_state | guard { input onlyfather | summary onlyfather; }"
+ilscript[].content[3] "clear_state | guard { input onlymother | tokenize normalize stem:\"SHORTEST\" | attribute onlymother | index onlymother; }"
+ilscript[].content[4] "clear_state | guard { input onlychild | tokenize normalize stem:\"SHORTEST\" | index onlychild; }"
diff --git a/config-model/src/test/derived/inheritance/index-info.cfg b/config-model/src/test/derived/inheritance/index-info.cfg
index a5dc465b441..fe7bf334fcc 100644
--- a/config-model/src/test/derived/inheritance/index-info.cfg
+++ b/config-model/src/test/derived/inheritance/index-info.cfg
@@ -1,43 +1,43 @@
-indexinfo[0].name "child"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "onlygrandparent"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "onlygrandparent"
-indexinfo[0].command[3].command "attribute"
-indexinfo[0].command[4].indexname "onlygrandparent"
-indexinfo[0].command[4].command "numerical"
-indexinfo[0].command[5].indexname "overridden"
-indexinfo[0].command[5].command "index"
-indexinfo[0].command[6].indexname "overridden"
-indexinfo[0].command[6].command "attribute"
-indexinfo[0].command[7].indexname "overridden"
-indexinfo[0].command[7].command "numerical"
-indexinfo[0].command[8].indexname "onlyfather"
-indexinfo[0].command[8].command "index"
-indexinfo[0].command[9].indexname "onlymother"
-indexinfo[0].command[9].command "index"
-indexinfo[0].command[10].indexname "onlymother"
-indexinfo[0].command[10].command "lowercase"
-indexinfo[0].command[11].indexname "onlymother"
-indexinfo[0].command[11].command "stem:SHORTEST"
-indexinfo[0].command[12].indexname "onlymother"
-indexinfo[0].command[12].command "normalize"
-indexinfo[0].command[13].indexname "onlymother"
-indexinfo[0].command[13].command "plain-tokens"
-indexinfo[0].command[14].indexname "onlychild"
-indexinfo[0].command[14].command "index"
-indexinfo[0].command[15].indexname "onlychild"
-indexinfo[0].command[15].command "lowercase"
-indexinfo[0].command[16].indexname "onlychild"
-indexinfo[0].command[16].command "stem:SHORTEST"
-indexinfo[0].command[17].indexname "onlychild"
-indexinfo[0].command[17].command "normalize"
-indexinfo[0].command[18].indexname "onlychild"
-indexinfo[0].command[18].command "plain-tokens"
-indexinfo[0].command[19].indexname "rankfeatures"
-indexinfo[0].command[19].command "index"
-indexinfo[0].command[20].indexname "summaryfeatures"
-indexinfo[0].command[20].command "index" \ No newline at end of file
+indexinfo[].name "child"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "onlygrandparent"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "onlygrandparent"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "onlygrandparent"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "overridden"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "overridden"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "overridden"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "onlyfather"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "onlymother"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "onlymother"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "onlymother"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "onlymother"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "onlymother"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "onlychild"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "onlychild"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "onlychild"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "onlychild"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "onlychild"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "rankfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "summaryfeatures"
+indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/inheritance/rank-profiles.cfg b/config-model/src/test/derived/inheritance/rank-profiles.cfg
index caca83a9a91..873d3c0cd49 100644
--- a/config-model/src/test/derived/inheritance/rank-profiles.cfg
+++ b/config-model/src/test/derived/inheritance/rank-profiles.cfg
@@ -1,10 +1,10 @@
-rankprofile[0].name "default"
-rankprofile[1].name "unranked"
-rankprofile[1].fef.property[0].name "vespa.rank.firstphase"
-rankprofile[1].fef.property[0].value "value(0)"
-rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize"
-rankprofile[1].fef.property[1].value "0"
-rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize"
-rankprofile[1].fef.property[2].value "0"
-rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures"
-rankprofile[1].fef.property[3].value "true" \ No newline at end of file
+rankprofile[].name "default"
+rankprofile[].name "unranked"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "value(0)"
+rankprofile[].fef.property[].name "vespa.hitcollector.heapsize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.hitcollector.arraysize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.dump.ignoredefaultfeatures"
+rankprofile[].fef.property[].value "true"
diff --git a/config-model/src/test/derived/inheritance/summary.cfg b/config-model/src/test/derived/inheritance/summary.cfg
index 8b1074edefc..dde71a1378c 100644
--- a/config-model/src/test/derived/inheritance/summary.cfg
+++ b/config-model/src/test/derived/inheritance/summary.cfg
@@ -1,23 +1,23 @@
defaultsummaryid 1797992819
-classes[0].id 1797992819
-classes[0].name "default"
-classes[0].fields[0].name "onlyfather"
-classes[0].fields[0].type "longstring"
-classes[0].fields[1].name "rankfeatures"
-classes[0].fields[1].type "featuredata"
-classes[0].fields[2].name "summaryfeatures"
-classes[0].fields[2].type "featuredata"
-classes[0].fields[3].name "documentid"
-classes[0].fields[3].type "longstring"
-classes[1].id 1608562186
-classes[1].name "attributeprefetch"
-classes[1].fields[0].name "onlygrandparent"
-classes[1].fields[0].type "integer"
-classes[1].fields[1].name "overridden"
-classes[1].fields[1].type "integer"
-classes[1].fields[2].name "onlymother"
-classes[1].fields[2].type "longstring"
-classes[1].fields[3].name "rankfeatures"
-classes[1].fields[3].type "featuredata"
-classes[1].fields[4].name "summaryfeatures"
-classes[1].fields[4].type "featuredata" \ No newline at end of file
+classes[].id 1797992819
+classes[].name "default"
+classes[].fields[].name "onlyfather"
+classes[].fields[].type "longstring"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "documentid"
+classes[].fields[].type "longstring"
+classes[].id 1608562186
+classes[].name "attributeprefetch"
+classes[].fields[].name "onlygrandparent"
+classes[].fields[].type "integer"
+classes[].fields[].name "overridden"
+classes[].fields[].type "integer"
+classes[].fields[].name "onlymother"
+classes[].fields[].type "longstring"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
diff --git a/config-model/src/test/derived/inheritance/summarymap.cfg b/config-model/src/test/derived/inheritance/summarymap.cfg
index b4640f522f3..0f5303a52e7 100644
--- a/config-model/src/test/derived/inheritance/summarymap.cfg
+++ b/config-model/src/test/derived/inheritance/summarymap.cfg
@@ -1,16 +1,16 @@
defaultoutputclass -1
-override[0].field "rankfeatures"
-override[0].command "rankfeatures"
-override[0].arguments ""
-override[1].field "summaryfeatures"
-override[1].command "summaryfeatures"
-override[1].arguments ""
-override[2].field "onlygrandparent"
-override[2].command "attribute"
-override[2].arguments "onlygrandparent"
-override[3].field "overridden"
-override[3].command "attribute"
-override[3].arguments "overridden"
-override[4].field "onlymother"
-override[4].command "attribute"
-override[4].arguments "onlymother" \ No newline at end of file
+override[].field "rankfeatures"
+override[].command "rankfeatures"
+override[].arguments ""
+override[].field "summaryfeatures"
+override[].command "summaryfeatures"
+override[].arguments ""
+override[].field "onlygrandparent"
+override[].command "attribute"
+override[].arguments "onlygrandparent"
+override[].field "overridden"
+override[].command "attribute"
+override[].arguments "overridden"
+override[].field "onlymother"
+override[].command "attribute"
+override[].arguments "onlymother"
diff --git a/config-model/src/test/derived/inheritdiamond/documentmanager.cfg b/config-model/src/test/derived/inheritdiamond/documentmanager.cfg
index 5f3edfb8475..36c1098c119 100644
--- a/config-model/src/test/derived/inheritdiamond/documentmanager.cfg
+++ b/config-model/src/test/derived/inheritdiamond/documentmanager.cfg
@@ -1,269 +1,269 @@
enablecompression false
-datatype[0].id -126593034
-datatype[0].structtype[0].name "child.body"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[1].id 336538650
-datatype[1].structtype[0].name "child_struct"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].compresstype NONE
-datatype[1].structtype[0].compresslevel 0
-datatype[1].structtype[0].compressthreshold 95
-datatype[1].structtype[0].compressminsize 800
-datatype[1].structtype[0].field[0].name "child_field"
-datatype[1].structtype[0].field[0].datatype 2
-datatype[2].id 81425825
-datatype[2].structtype[0].name "child.header"
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].compresstype NONE
-datatype[2].structtype[0].compresslevel 0
-datatype[2].structtype[0].compressthreshold 95
-datatype[2].structtype[0].compressminsize 800
-datatype[2].structtype[0].field[0].name "foo"
-datatype[2].structtype[0].field[0].datatype 1246084544
-datatype[2].structtype[0].field[1].name "bar"
-datatype[2].structtype[0].field[1].datatype 1561776723
-datatype[2].structtype[0].field[2].name "baz"
-datatype[2].structtype[0].field[2].datatype -1913265190
-datatype[2].structtype[0].field[3].name "cox"
-datatype[2].structtype[0].field[3].datatype 336538650
-datatype[3].id 746267614
-datatype[3].documenttype[0].name "child"
-datatype[3].documenttype[0].version 0
-datatype[3].documenttype[0].inherits[0].name "mother"
-datatype[3].documenttype[0].inherits[0].version 0
-datatype[3].documenttype[0].inherits[1].name "document"
-datatype[3].documenttype[0].inherits[1].version 0
-datatype[3].documenttype[0].inherits[2].name "father"
-datatype[3].documenttype[0].inherits[2].version 0
-datatype[3].documenttype[0].headerstruct 81425825
-datatype[3].documenttype[0].bodystruct -126593034
-datatype[4].id -1913265190
-datatype[4].structtype[0].name "father_struct"
-datatype[4].structtype[0].version 0
-datatype[4].structtype[0].compresstype NONE
-datatype[4].structtype[0].compresslevel 0
-datatype[4].structtype[0].compressthreshold 95
-datatype[4].structtype[0].compressminsize 800
-datatype[4].structtype[0].field[0].name "father_field"
-datatype[4].structtype[0].field[0].datatype 2
-datatype[5].id 1246084544
-datatype[5].structtype[0].name "grandparent_struct"
-datatype[5].structtype[0].version 0
-datatype[5].structtype[0].compresstype NONE
-datatype[5].structtype[0].compresslevel 0
-datatype[5].structtype[0].compressthreshold 95
-datatype[5].structtype[0].compressminsize 800
-datatype[5].structtype[0].field[0].name "grandparent_field"
-datatype[5].structtype[0].field[0].datatype 2
-datatype[6].id -1962244686
-datatype[6].structtype[0].name "father_search.header"
-datatype[6].structtype[0].version 0
-datatype[6].structtype[0].compresstype NONE
-datatype[6].structtype[0].compresslevel 0
-datatype[6].structtype[0].compressthreshold 95
-datatype[6].structtype[0].compressminsize 800
-datatype[6].structtype[0].field[0].name "rankfeatures"
-datatype[6].structtype[0].field[0].datatype 2
-datatype[6].structtype[0].field[1].name "summaryfeatures"
-datatype[6].structtype[0].field[1].datatype 2
-datatype[7].id -52742073
-datatype[7].structtype[0].name "father_search.body"
-datatype[7].structtype[0].version 0
-datatype[7].structtype[0].compresstype NONE
-datatype[7].structtype[0].compresslevel 0
-datatype[7].structtype[0].compressthreshold 95
-datatype[7].structtype[0].compressminsize 800
-datatype[8].id 1464571117
-datatype[8].documenttype[0].name "father_search"
-datatype[8].documenttype[0].version 0
-datatype[8].documenttype[0].inherits[0].name "document"
-datatype[8].documenttype[0].inherits[0].version 0
-datatype[8].documenttype[0].headerstruct -1962244686
-datatype[8].documenttype[0].bodystruct -52742073
-datatype[9].id -1852215954
-datatype[9].structtype[0].name "mother_search.body"
-datatype[9].structtype[0].version 0
-datatype[9].structtype[0].compresstype NONE
-datatype[9].structtype[0].compresslevel 0
-datatype[9].structtype[0].compressthreshold 95
-datatype[9].structtype[0].compressminsize 800
-datatype[10].id -384824039
-datatype[10].structtype[0].name "mother_search.header"
-datatype[10].structtype[0].version 0
-datatype[10].structtype[0].compresstype NONE
-datatype[10].structtype[0].compresslevel 0
-datatype[10].structtype[0].compressthreshold 95
-datatype[10].structtype[0].compressminsize 800
-datatype[10].structtype[0].field[0].name "rankfeatures"
-datatype[10].structtype[0].field[0].datatype 2
-datatype[10].structtype[0].field[1].name "summaryfeatures"
-datatype[10].structtype[0].field[1].datatype 2
-datatype[11].id 1561776723
-datatype[11].structtype[0].name "mother_struct"
-datatype[11].structtype[0].version 0
-datatype[11].structtype[0].compresstype NONE
-datatype[11].structtype[0].compresslevel 0
-datatype[11].structtype[0].compressthreshold 95
-datatype[11].structtype[0].compressminsize 800
-datatype[11].structtype[0].field[0].name "mother_field"
-datatype[11].structtype[0].field[0].datatype 2
-datatype[12].id 644645734
-datatype[12].documenttype[0].name "mother_search"
-datatype[12].documenttype[0].version 0
-datatype[12].documenttype[0].inherits[0].name "document"
-datatype[12].documenttype[0].inherits[0].version 0
-datatype[12].documenttype[0].headerstruct -384824039
-datatype[12].documenttype[0].bodystruct -1852215954
-datatype[13].id 1306663898
-datatype[13].structtype[0].name "mother.header"
-datatype[13].structtype[0].version 0
-datatype[13].structtype[0].compresstype NONE
-datatype[13].structtype[0].compresslevel 0
-datatype[13].structtype[0].compressthreshold 95
-datatype[13].structtype[0].compressminsize 800
-datatype[14].id -1989003153
-datatype[14].structtype[0].name "mother.body"
-datatype[14].structtype[0].version 0
-datatype[14].structtype[0].compresstype NONE
-datatype[14].structtype[0].compresslevel 0
-datatype[14].structtype[0].compressthreshold 95
-datatype[14].structtype[0].compressminsize 800
-datatype[15].id -158393403
-datatype[15].documenttype[0].name "mother"
-datatype[15].documenttype[0].version 0
-datatype[15].documenttype[0].inherits[0].name "grandparent"
-datatype[15].documenttype[0].inherits[0].version 0
-datatype[15].documenttype[0].inherits[1].name "document"
-datatype[15].documenttype[0].inherits[1].version 0
-datatype[15].documenttype[0].headerstruct 1306663898
-datatype[15].documenttype[0].bodystruct -1989003153
-datatype[16].id -205818510
-datatype[16].structtype[0].name "child_search.header"
-datatype[16].structtype[0].version 0
-datatype[16].structtype[0].compresstype NONE
-datatype[16].structtype[0].compresslevel 0
-datatype[16].structtype[0].compressthreshold 95
-datatype[16].structtype[0].compressminsize 800
-datatype[16].structtype[0].field[0].name "rankfeatures"
-datatype[16].structtype[0].field[0].datatype 2
-datatype[16].structtype[0].field[1].name "summaryfeatures"
-datatype[16].structtype[0].field[1].datatype 2
-datatype[17].id -1467672569
-datatype[17].structtype[0].name "child_search.body"
-datatype[17].structtype[0].version 0
-datatype[17].structtype[0].compresstype NONE
-datatype[17].structtype[0].compresslevel 0
-datatype[17].structtype[0].compressthreshold 95
-datatype[17].structtype[0].compressminsize 800
-datatype[18].id -580592339
-datatype[18].documenttype[0].name "child_search"
-datatype[18].documenttype[0].version 0
-datatype[18].documenttype[0].inherits[0].name "document"
-datatype[18].documenttype[0].inherits[0].version 0
-datatype[18].documenttype[0].headerstruct -205818510
-datatype[18].documenttype[0].bodystruct -1467672569
-datatype[19].id 111553393
-datatype[19].structtype[0].name "url"
-datatype[19].structtype[0].version 0
-datatype[19].structtype[0].compresstype NONE
-datatype[19].structtype[0].compresslevel 0
-datatype[19].structtype[0].compressthreshold 95
-datatype[19].structtype[0].compressminsize 800
-datatype[19].structtype[0].field[0].name "all"
-datatype[19].structtype[0].field[0].datatype 2
-datatype[19].structtype[0].field[1].name "scheme"
-datatype[19].structtype[0].field[1].datatype 2
-datatype[19].structtype[0].field[2].name "host"
-datatype[19].structtype[0].field[2].datatype 2
-datatype[19].structtype[0].field[3].name "port"
-datatype[19].structtype[0].field[3].datatype 2
-datatype[19].structtype[0].field[4].name "path"
-datatype[19].structtype[0].field[4].datatype 2
-datatype[19].structtype[0].field[5].name "query"
-datatype[19].structtype[0].field[5].datatype 2
-datatype[19].structtype[0].field[6].name "fragment"
-datatype[19].structtype[0].field[6].datatype 2
-datatype[20].id 1381038251
-datatype[20].structtype[0].name "position"
-datatype[20].structtype[0].version 0
-datatype[20].structtype[0].compresstype NONE
-datatype[20].structtype[0].compresslevel 0
-datatype[20].structtype[0].compressthreshold 95
-datatype[20].structtype[0].compressminsize 800
-datatype[20].structtype[0].field[0].name "x"
-datatype[20].structtype[0].field[0].datatype 0
-datatype[20].structtype[0].field[1].name "y"
-datatype[20].structtype[0].field[1].datatype 0
-datatype[21].id 1845861921
-datatype[21].structtype[0].name "grandparent_search.body"
-datatype[21].structtype[0].version 0
-datatype[21].structtype[0].compresstype NONE
-datatype[21].structtype[0].compresslevel 0
-datatype[21].structtype[0].compressthreshold 95
-datatype[21].structtype[0].compressminsize 800
-datatype[22].id 1530060044
-datatype[22].structtype[0].name "grandparent_search.header"
-datatype[22].structtype[0].version 0
-datatype[22].structtype[0].compresstype NONE
-datatype[22].structtype[0].compresslevel 0
-datatype[22].structtype[0].compressthreshold 95
-datatype[22].structtype[0].compressminsize 800
-datatype[22].structtype[0].field[0].name "rankfeatures"
-datatype[22].structtype[0].field[0].datatype 2
-datatype[22].structtype[0].field[1].name "summaryfeatures"
-datatype[22].structtype[0].field[1].datatype 2
-datatype[23].id 328953555
-datatype[23].documenttype[0].name "grandparent_search"
-datatype[23].documenttype[0].version 0
-datatype[23].documenttype[0].inherits[0].name "document"
-datatype[23].documenttype[0].inherits[0].version 0
-datatype[23].documenttype[0].headerstruct 1530060044
-datatype[23].documenttype[0].bodystruct 1845861921
-datatype[24].id 990971719
-datatype[24].structtype[0].name "grandparent.header"
-datatype[24].structtype[0].version 0
-datatype[24].structtype[0].compresstype NONE
-datatype[24].structtype[0].compresslevel 0
-datatype[24].structtype[0].compressthreshold 95
-datatype[24].structtype[0].compressminsize 800
-datatype[25].id 978262812
-datatype[25].structtype[0].name "grandparent.body"
-datatype[25].structtype[0].version 0
-datatype[25].structtype[0].compresstype NONE
-datatype[25].structtype[0].compresslevel 0
-datatype[25].structtype[0].compressthreshold 95
-datatype[25].structtype[0].compressminsize 800
-datatype[26].id -154107656
-datatype[26].documenttype[0].name "grandparent"
-datatype[26].documenttype[0].version 0
-datatype[26].documenttype[0].inherits[0].name "document"
-datatype[26].documenttype[0].inherits[0].version 0
-datatype[26].documenttype[0].headerstruct 990971719
-datatype[26].documenttype[0].bodystruct 978262812
-datatype[27].id -1742340170
-datatype[27].structtype[0].name "father.body"
-datatype[27].structtype[0].version 0
-datatype[27].structtype[0].compresstype NONE
-datatype[27].structtype[0].compresslevel 0
-datatype[27].structtype[0].compressthreshold 95
-datatype[27].structtype[0].compressminsize 800
-datatype[28].id 2126589281
-datatype[28].structtype[0].name "father.header"
-datatype[28].structtype[0].version 0
-datatype[28].structtype[0].compresstype NONE
-datatype[28].structtype[0].compresslevel 0
-datatype[28].structtype[0].compressthreshold 95
-datatype[28].structtype[0].compressminsize 800
-datatype[29].id 986686494
-datatype[29].documenttype[0].name "father"
-datatype[29].documenttype[0].version 0
-datatype[29].documenttype[0].inherits[0].name "grandparent"
-datatype[29].documenttype[0].inherits[0].version 0
-datatype[29].documenttype[0].inherits[1].name "document"
-datatype[29].documenttype[0].inherits[1].version 0
-datatype[29].documenttype[0].headerstruct 2126589281
-datatype[29].documenttype[0].bodystruct -1742340170
+datatype[].id -126593034
+datatype[].structtype[].name "child.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id 336538650
+datatype[].structtype[].name "child_struct"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "child_field"
+datatype[].structtype[].field[].datatype 2
+datatype[].id 81425825
+datatype[].structtype[].name "child.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "foo"
+datatype[].structtype[].field[].datatype 1246084544
+datatype[].structtype[].field[].name "bar"
+datatype[].structtype[].field[].datatype 1561776723
+datatype[].structtype[].field[].name "baz"
+datatype[].structtype[].field[].datatype -1913265190
+datatype[].structtype[].field[].name "cox"
+datatype[].structtype[].field[].datatype 336538650
+datatype[].id 746267614
+datatype[].documenttype[].name "child"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "mother"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].inherits[].name "father"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 81425825
+datatype[].documenttype[].bodystruct -126593034
+datatype[].id -1913265190
+datatype[].structtype[].name "father_struct"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "father_field"
+datatype[].structtype[].field[].datatype 2
+datatype[].id 1246084544
+datatype[].structtype[].name "grandparent_struct"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "grandparent_field"
+datatype[].structtype[].field[].datatype 2
+datatype[].id -1962244686
+datatype[].structtype[].name "father_search.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].id -52742073
+datatype[].structtype[].name "father_search.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id 1464571117
+datatype[].documenttype[].name "father_search"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct -1962244686
+datatype[].documenttype[].bodystruct -52742073
+datatype[].id -1852215954
+datatype[].structtype[].name "mother_search.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id -384824039
+datatype[].structtype[].name "mother_search.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].id 1561776723
+datatype[].structtype[].name "mother_struct"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "mother_field"
+datatype[].structtype[].field[].datatype 2
+datatype[].id 644645734
+datatype[].documenttype[].name "mother_search"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct -384824039
+datatype[].documenttype[].bodystruct -1852215954
+datatype[].id 1306663898
+datatype[].structtype[].name "mother.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id -1989003153
+datatype[].structtype[].name "mother.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id -158393403
+datatype[].documenttype[].name "mother"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "grandparent"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 1306663898
+datatype[].documenttype[].bodystruct -1989003153
+datatype[].id -205818510
+datatype[].structtype[].name "child_search.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].id -1467672569
+datatype[].structtype[].name "child_search.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id -580592339
+datatype[].documenttype[].name "child_search"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct -205818510
+datatype[].documenttype[].bodystruct -1467672569
+datatype[].id 111553393
+datatype[].structtype[].name "url"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "all"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "scheme"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "host"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "port"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "path"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "query"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "fragment"
+datatype[].structtype[].field[].datatype 2
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].id 1845861921
+datatype[].structtype[].name "grandparent_search.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id 1530060044
+datatype[].structtype[].name "grandparent_search.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].id 328953555
+datatype[].documenttype[].name "grandparent_search"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 1530060044
+datatype[].documenttype[].bodystruct 1845861921
+datatype[].id 990971719
+datatype[].structtype[].name "grandparent.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id 978262812
+datatype[].structtype[].name "grandparent.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id -154107656
+datatype[].documenttype[].name "grandparent"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 990971719
+datatype[].documenttype[].bodystruct 978262812
+datatype[].id -1742340170
+datatype[].structtype[].name "father.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id 2126589281
+datatype[].structtype[].name "father.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id 986686494
+datatype[].documenttype[].name "father"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "grandparent"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 2126589281
+datatype[].documenttype[].bodystruct -1742340170
diff --git a/config-model/src/test/derived/inheritfromgrandparent/documentmanager.cfg b/config-model/src/test/derived/inheritfromgrandparent/documentmanager.cfg
index ea0aa3a3e93..518debee7c7 100644
--- a/config-model/src/test/derived/inheritfromgrandparent/documentmanager.cfg
+++ b/config-model/src/test/derived/inheritfromgrandparent/documentmanager.cfg
@@ -1,105 +1,105 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
-datatype[1].id 1246084544
-datatype[1].structtype[0].name "grandparent_struct"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].compresstype NONE
-datatype[1].structtype[0].compresslevel 0
-datatype[1].structtype[0].compressthreshold 95
-datatype[1].structtype[0].compressminsize 800
-datatype[1].structtype[0].field[0].name "grandparent_field"
-datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
-datatype[2].id 990971719
-datatype[2].structtype[0].name "grandparent.header"
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].compresstype NONE
-datatype[2].structtype[0].compresslevel 0
-datatype[2].structtype[0].compressthreshold 95
-datatype[2].structtype[0].compressminsize 800
-datatype[2].structtype[0].field[0].name "rankfeatures"
-datatype[2].structtype[0].field[0].datatype 2
-datatype[2].structtype[0].field[0].detailedtype ""
-datatype[2].structtype[0].field[1].name "summaryfeatures"
-datatype[2].structtype[0].field[1].datatype 2
-datatype[2].structtype[0].field[1].detailedtype ""
-datatype[3].id 978262812
-datatype[3].structtype[0].name "grandparent.body"
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].compresstype NONE
-datatype[3].structtype[0].compresslevel 0
-datatype[3].structtype[0].compressthreshold 95
-datatype[3].structtype[0].compressminsize 800
-datatype[4].id -154107656
-datatype[4].documenttype[0].name "grandparent"
-datatype[4].documenttype[0].version 0
-datatype[4].documenttype[0].inherits[0].name "document"
-datatype[4].documenttype[0].inherits[0].version 0
-datatype[4].documenttype[0].headerstruct 990971719
-datatype[4].documenttype[0].bodystruct 978262812
-datatype[5].id 836075987
-datatype[5].structtype[0].name "parent.header"
-datatype[5].structtype[0].version 0
-datatype[5].structtype[0].compresstype NONE
-datatype[5].structtype[0].compresslevel 0
-datatype[5].structtype[0].compressthreshold 95
-datatype[5].structtype[0].compressminsize 800
-datatype[6].id -389494616
-datatype[6].structtype[0].name "parent.body"
-datatype[6].structtype[0].version 0
-datatype[6].structtype[0].compresstype NONE
-datatype[6].structtype[0].compresslevel 0
-datatype[6].structtype[0].compressthreshold 95
-datatype[6].structtype[0].compressminsize 800
-datatype[7].id 1175161836
-datatype[7].documenttype[0].name "parent"
-datatype[7].documenttype[0].version 0
-datatype[7].documenttype[0].inherits[0].name "grandparent"
-datatype[7].documenttype[0].inherits[0].version 0
-datatype[7].documenttype[0].inherits[1].name "document"
-datatype[7].documenttype[0].inherits[1].version 0
-datatype[7].documenttype[0].headerstruct 836075987
-datatype[7].documenttype[0].bodystruct -389494616
-datatype[7].documenttype[0].fieldsets{[document]}.fields[0] "rankfeatures"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[1] "summaryfeatures"
-datatype[8].id 81425825
-datatype[8].structtype[0].name "child.header"
-datatype[8].structtype[0].version 0
-datatype[8].structtype[0].compresstype NONE
-datatype[8].structtype[0].compresslevel 0
-datatype[8].structtype[0].compressthreshold 95
-datatype[8].structtype[0].compressminsize 800
-datatype[8].structtype[0].field[0].name "child_field"
-datatype[8].structtype[0].field[0].datatype 1246084544
-datatype[8].structtype[0].field[0].detailedtype ""
-datatype[9].id -126593034
-datatype[9].structtype[0].name "child.body"
-datatype[9].structtype[0].version 0
-datatype[9].structtype[0].compresstype NONE
-datatype[9].structtype[0].compresslevel 0
-datatype[9].structtype[0].compressthreshold 95
-datatype[9].structtype[0].compressminsize 800
-datatype[10].id 746267614
-datatype[10].documenttype[0].name "child"
-datatype[10].documenttype[0].version 0
-datatype[10].documenttype[0].inherits[0].name "document"
-datatype[10].documenttype[0].inherits[0].version 0
-datatype[10].documenttype[0].inherits[1].name "parent"
-datatype[10].documenttype[0].inherits[1].version 0
-datatype[10].documenttype[0].headerstruct 81425825
-datatype[10].documenttype[0].bodystruct -126593034
-datatype[10].documenttype[0].fieldsets{[document]}.fields[0] "child_field"
-datatype[10].documenttype[0].fieldsets{[document]}.fields[1] "rankfeatures"
-datatype[10].documenttype[0].fieldsets{[document]}.fields[2] "summaryfeatures"
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 1246084544
+datatype[].structtype[].name "grandparent_struct"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "grandparent_field"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 990971719
+datatype[].structtype[].name "grandparent.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 978262812
+datatype[].structtype[].name "grandparent.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id -154107656
+datatype[].documenttype[].name "grandparent"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 990971719
+datatype[].documenttype[].bodystruct 978262812
+datatype[].id 836075987
+datatype[].structtype[].name "parent.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id -389494616
+datatype[].structtype[].name "parent.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id 1175161836
+datatype[].documenttype[].name "parent"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "grandparent"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 836075987
+datatype[].documenttype[].bodystruct -389494616
+datatype[].documenttype[].fieldsets{[document]}.fields[0] "rankfeatures"
+datatype[].documenttype[].fieldsets{[document]}.fields[1] "summaryfeatures"
+datatype[].id 81425825
+datatype[].structtype[].name "child.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "child_field"
+datatype[].structtype[].field[].datatype 1246084544
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -126593034
+datatype[].structtype[].name "child.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id 746267614
+datatype[].documenttype[].name "child"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].inherits[].name "parent"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 81425825
+datatype[].documenttype[].bodystruct -126593034
+datatype[].documenttype[].fieldsets{[document]}.fields[0] "child_field"
+datatype[].documenttype[].fieldsets{[document]}.fields[1] "rankfeatures"
+datatype[].documenttype[].fieldsets{[document]}.fields[2] "summaryfeatures"
diff --git a/config-model/src/test/derived/inheritfromparent/attributes.cfg b/config-model/src/test/derived/inheritfromparent/attributes.cfg
index 35c0fe4f292..ffd66d4fc0a 100644
--- a/config-model/src/test/derived/inheritfromparent/attributes.cfg
+++ b/config-model/src/test/derived/inheritfromparent/attributes.cfg
@@ -1,20 +1,20 @@
-attribute[0].name "weight"
-attribute[0].datatype FLOAT
-attribute[0].collectiontype SINGLE
-attribute[0].removeifzero false
-attribute[0].createifnonexistent false
-attribute[0].fastsearch false
-attribute[0].huge false
-attribute[0].sortascending true
-attribute[0].sortfunction UCA
-attribute[0].sortstrength PRIMARY
-attribute[0].sortlocale ""
-attribute[0].enablebitvectors false
-attribute[0].enableonlybitvector false
-attribute[0].fastaccess false
-attribute[0].arity 8
-attribute[0].lowerbound -9223372036854775808
-attribute[0].upperbound 9223372036854775807
-attribute[0].densepostinglistthreshold 0.4
-attribute[0].tensortype ""
-attribute[0].imported false \ No newline at end of file
+attribute[].name "weight"
+attribute[].datatype FLOAT
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
diff --git a/config-model/src/test/derived/inheritfromparent/documentmanager.cfg b/config-model/src/test/derived/inheritfromparent/documentmanager.cfg
index 80a9cbcfc3b..9d1b933558e 100644
--- a/config-model/src/test/derived/inheritfromparent/documentmanager.cfg
+++ b/config-model/src/test/derived/inheritfromparent/documentmanager.cfg
@@ -1,89 +1,89 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
-datatype[1].id 1091188812
-datatype[1].structtype[0].name "parent_struct"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].compresstype NONE
-datatype[1].structtype[0].compresslevel 0
-datatype[1].structtype[0].compressthreshold 95
-datatype[1].structtype[0].compressminsize 800
-datatype[1].structtype[0].field[0].name "parent_field"
-datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
-datatype[2].id 836075987
-datatype[2].structtype[0].name "parent.header"
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].compresstype NONE
-datatype[2].structtype[0].compresslevel 0
-datatype[2].structtype[0].compressthreshold 95
-datatype[2].structtype[0].compressminsize 800
-datatype[2].structtype[0].field[0].name "weight_src"
-datatype[2].structtype[0].field[0].datatype 1
-datatype[2].structtype[0].field[0].detailedtype ""
-datatype[2].structtype[0].field[1].name "weight"
-datatype[2].structtype[0].field[1].datatype 1
-datatype[2].structtype[0].field[1].detailedtype ""
-datatype[2].structtype[0].field[2].name "rankfeatures"
-datatype[2].structtype[0].field[2].datatype 2
-datatype[2].structtype[0].field[2].detailedtype ""
-datatype[2].structtype[0].field[3].name "summaryfeatures"
-datatype[2].structtype[0].field[3].datatype 2
-datatype[2].structtype[0].field[3].detailedtype ""
-datatype[3].id -389494616
-datatype[3].structtype[0].name "parent.body"
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].compresstype NONE
-datatype[3].structtype[0].compresslevel 0
-datatype[3].structtype[0].compressthreshold 95
-datatype[3].structtype[0].compressminsize 800
-datatype[4].id 1175161836
-datatype[4].documenttype[0].name "parent"
-datatype[4].documenttype[0].version 0
-datatype[4].documenttype[0].inherits[0].name "document"
-datatype[4].documenttype[0].inherits[0].version 0
-datatype[4].documenttype[0].headerstruct 836075987
-datatype[4].documenttype[0].bodystruct -389494616
-datatype[4].documenttype[0].fieldsets{[document]}.fields[0] "weight_src"
-datatype[5].id 81425825
-datatype[5].structtype[0].name "child.header"
-datatype[5].structtype[0].version 0
-datatype[5].structtype[0].compresstype NONE
-datatype[5].structtype[0].compresslevel 0
-datatype[5].structtype[0].compressthreshold 95
-datatype[5].structtype[0].compressminsize 800
-datatype[5].structtype[0].field[0].name "child_field"
-datatype[5].structtype[0].field[0].datatype 1091188812
-datatype[5].structtype[0].field[0].detailedtype ""
-datatype[6].id -126593034
-datatype[6].structtype[0].name "child.body"
-datatype[6].structtype[0].version 0
-datatype[6].structtype[0].compresstype NONE
-datatype[6].structtype[0].compresslevel 0
-datatype[6].structtype[0].compressthreshold 95
-datatype[6].structtype[0].compressminsize 800
-datatype[7].id 746267614
-datatype[7].documenttype[0].name "child"
-datatype[7].documenttype[0].version 0
-datatype[7].documenttype[0].inherits[0].name "document"
-datatype[7].documenttype[0].inherits[0].version 0
-datatype[7].documenttype[0].inherits[1].name "parent"
-datatype[7].documenttype[0].inherits[1].version 0
-datatype[7].documenttype[0].headerstruct 81425825
-datatype[7].documenttype[0].bodystruct -126593034
-datatype[7].documenttype[0].fieldsets{[document]}.fields[0] "child_field"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[1] "rankfeatures"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[2] "summaryfeatures"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[3] "weight"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[4] "weight_src"
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 1091188812
+datatype[].structtype[].name "parent_struct"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "parent_field"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 836075987
+datatype[].structtype[].name "parent.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "weight_src"
+datatype[].structtype[].field[].datatype 1
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "weight"
+datatype[].structtype[].field[].datatype 1
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -389494616
+datatype[].structtype[].name "parent.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id 1175161836
+datatype[].documenttype[].name "parent"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 836075987
+datatype[].documenttype[].bodystruct -389494616
+datatype[].documenttype[].fieldsets{[document]}.fields[0] "weight_src"
+datatype[].id 81425825
+datatype[].structtype[].name "child.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "child_field"
+datatype[].structtype[].field[].datatype 1091188812
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -126593034
+datatype[].structtype[].name "child.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id 746267614
+datatype[].documenttype[].name "child"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].inherits[].name "parent"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 81425825
+datatype[].documenttype[].bodystruct -126593034
+datatype[].documenttype[].fieldsets{[document]}.fields[0] "child_field"
+datatype[].documenttype[].fieldsets{[document]}.fields[1] "rankfeatures"
+datatype[].documenttype[].fieldsets{[document]}.fields[2] "summaryfeatures"
+datatype[].documenttype[].fieldsets{[document]}.fields[3] "weight"
+datatype[].documenttype[].fieldsets{[document]}.fields[4] "weight_src"
diff --git a/config-model/src/test/derived/inheritfromparent/documenttypes.cfg b/config-model/src/test/derived/inheritfromparent/documenttypes.cfg
index 351ea0d9527..75390903ef8 100644
--- a/config-model/src/test/derived/inheritfromparent/documenttypes.cfg
+++ b/config-model/src/test/derived/inheritfromparent/documenttypes.cfg
@@ -1,125 +1,125 @@
enablecompression false
-documenttype[0].id 1175161836
-documenttype[0].name "parent"
-documenttype[0].version 0
-documenttype[0].headerstruct 836075987
-documenttype[0].bodystruct -389494616
-documenttype[0].inherits[0].id 8
-documenttype[0].datatype[0].id 1091188812
-documenttype[0].datatype[0].type STRUCT
-documenttype[0].datatype[0].array.element.id 0
-documenttype[0].datatype[0].map.key.id 0
-documenttype[0].datatype[0].map.value.id 0
-documenttype[0].datatype[0].wset.key.id 0
-documenttype[0].datatype[0].wset.createifnonexistent false
-documenttype[0].datatype[0].wset.removeifzero false
-documenttype[0].datatype[0].annotationref.annotation.id 0
-documenttype[0].datatype[0].sstruct.name "parent_struct"
-documenttype[0].datatype[0].sstruct.version 0
-documenttype[0].datatype[0].sstruct.compression.type NONE
-documenttype[0].datatype[0].sstruct.compression.level 0
-documenttype[0].datatype[0].sstruct.compression.threshold 95
-documenttype[0].datatype[0].sstruct.compression.minsize 200
-documenttype[0].datatype[0].sstruct.field[0].name "parent_field"
-documenttype[0].datatype[0].sstruct.field[0].id 933533022
-documenttype[0].datatype[0].sstruct.field[0].id_v6 2116869443
-documenttype[0].datatype[0].sstruct.field[0].datatype 2
-documenttype[0].datatype[0].sstruct.field[0].detailedtype ""
-documenttype[0].datatype[1].id 836075987
-documenttype[0].datatype[1].type STRUCT
-documenttype[0].datatype[1].array.element.id 0
-documenttype[0].datatype[1].map.key.id 0
-documenttype[0].datatype[1].map.value.id 0
-documenttype[0].datatype[1].wset.key.id 0
-documenttype[0].datatype[1].wset.createifnonexistent false
-documenttype[0].datatype[1].wset.removeifzero false
-documenttype[0].datatype[1].annotationref.annotation.id 0
-documenttype[0].datatype[1].sstruct.name "parent.header"
-documenttype[0].datatype[1].sstruct.version 0
-documenttype[0].datatype[1].sstruct.compression.type NONE
-documenttype[0].datatype[1].sstruct.compression.level 0
-documenttype[0].datatype[1].sstruct.compression.threshold 95
-documenttype[0].datatype[1].sstruct.compression.minsize 200
-documenttype[0].datatype[1].sstruct.field[0].name "weight_src"
-documenttype[0].datatype[1].sstruct.field[0].id 1225660233
-documenttype[0].datatype[1].sstruct.field[0].id_v6 1350588470
-documenttype[0].datatype[1].sstruct.field[0].datatype 1
-documenttype[0].datatype[1].sstruct.field[0].detailedtype ""
-documenttype[0].datatype[1].sstruct.field[1].name "weight"
-documenttype[0].datatype[1].sstruct.field[1].id 1001392207
-documenttype[0].datatype[1].sstruct.field[1].id_v6 1329620545
-documenttype[0].datatype[1].sstruct.field[1].datatype 1
-documenttype[0].datatype[1].sstruct.field[1].detailedtype ""
-documenttype[0].datatype[1].sstruct.field[2].name "rankfeatures"
-documenttype[0].datatype[1].sstruct.field[2].id 1883197392
-documenttype[0].datatype[1].sstruct.field[2].id_v6 699950698
-documenttype[0].datatype[1].sstruct.field[2].datatype 2
-documenttype[0].datatype[1].sstruct.field[2].detailedtype ""
-documenttype[0].datatype[1].sstruct.field[3].name "summaryfeatures"
-documenttype[0].datatype[1].sstruct.field[3].id 1840337115
-documenttype[0].datatype[1].sstruct.field[3].id_v6 1981648971
-documenttype[0].datatype[1].sstruct.field[3].datatype 2
-documenttype[0].datatype[1].sstruct.field[3].detailedtype ""
-documenttype[0].datatype[2].id -389494616
-documenttype[0].datatype[2].type STRUCT
-documenttype[0].datatype[2].array.element.id 0
-documenttype[0].datatype[2].map.key.id 0
-documenttype[0].datatype[2].map.value.id 0
-documenttype[0].datatype[2].wset.key.id 0
-documenttype[0].datatype[2].wset.createifnonexistent false
-documenttype[0].datatype[2].wset.removeifzero false
-documenttype[0].datatype[2].annotationref.annotation.id 0
-documenttype[0].datatype[2].sstruct.name "parent.body"
-documenttype[0].datatype[2].sstruct.version 0
-documenttype[0].datatype[2].sstruct.compression.type NONE
-documenttype[0].datatype[2].sstruct.compression.level 0
-documenttype[0].datatype[2].sstruct.compression.threshold 95
-documenttype[0].datatype[2].sstruct.compression.minsize 200
-documenttype[0].fieldsets{[document]}.fields[0] "weight_src"
-documenttype[1].id 746267614
-documenttype[1].name "child"
-documenttype[1].version 0
-documenttype[1].headerstruct 81425825
-documenttype[1].bodystruct -126593034
-documenttype[1].inherits[0].id 8
-documenttype[1].inherits[1].id 1175161836
-documenttype[1].datatype[0].id 81425825
-documenttype[1].datatype[0].type STRUCT
-documenttype[1].datatype[0].array.element.id 0
-documenttype[1].datatype[0].map.key.id 0
-documenttype[1].datatype[0].map.value.id 0
-documenttype[1].datatype[0].wset.key.id 0
-documenttype[1].datatype[0].wset.createifnonexistent false
-documenttype[1].datatype[0].wset.removeifzero false
-documenttype[1].datatype[0].annotationref.annotation.id 0
-documenttype[1].datatype[0].sstruct.name "child.header"
-documenttype[1].datatype[0].sstruct.version 0
-documenttype[1].datatype[0].sstruct.compression.type NONE
-documenttype[1].datatype[0].sstruct.compression.level 0
-documenttype[1].datatype[0].sstruct.compression.threshold 95
-documenttype[1].datatype[0].sstruct.compression.minsize 200
-documenttype[1].datatype[0].sstruct.field[0].name "child_field"
-documenttype[1].datatype[0].sstruct.field[0].id 1814271363
-documenttype[1].datatype[0].sstruct.field[0].id_v6 405182398
-documenttype[1].datatype[0].sstruct.field[0].datatype 1091188812
-documenttype[1].datatype[0].sstruct.field[0].detailedtype ""
-documenttype[1].datatype[1].id -126593034
-documenttype[1].datatype[1].type STRUCT
-documenttype[1].datatype[1].array.element.id 0
-documenttype[1].datatype[1].map.key.id 0
-documenttype[1].datatype[1].map.value.id 0
-documenttype[1].datatype[1].wset.key.id 0
-documenttype[1].datatype[1].wset.createifnonexistent false
-documenttype[1].datatype[1].wset.removeifzero false
-documenttype[1].datatype[1].annotationref.annotation.id 0
-documenttype[1].datatype[1].sstruct.name "child.body"
-documenttype[1].datatype[1].sstruct.version 0
-documenttype[1].datatype[1].sstruct.compression.type NONE
-documenttype[1].datatype[1].sstruct.compression.level 0
-documenttype[1].datatype[1].sstruct.compression.threshold 95
-documenttype[1].datatype[1].sstruct.compression.minsize 200
-documenttype[1].fieldsets{[document]}.fields[0] "child_field"
-documenttype[1].fieldsets{[document]}.fields[1] "rankfeatures"
-documenttype[1].fieldsets{[document]}.fields[2] "summaryfeatures"
-documenttype[1].fieldsets{[document]}.fields[3] "weight"
-documenttype[1].fieldsets{[document]}.fields[4] "weight_src"
+documenttype[].id 1175161836
+documenttype[].name "parent"
+documenttype[].version 0
+documenttype[].headerstruct 836075987
+documenttype[].bodystruct -389494616
+documenttype[].inherits[].id 8
+documenttype[].datatype[].id 1091188812
+documenttype[].datatype[].type STRUCT
+documenttype[].datatype[].array.element.id 0
+documenttype[].datatype[].map.key.id 0
+documenttype[].datatype[].map.value.id 0
+documenttype[].datatype[].wset.key.id 0
+documenttype[].datatype[].wset.createifnonexistent false
+documenttype[].datatype[].wset.removeifzero false
+documenttype[].datatype[].annotationref.annotation.id 0
+documenttype[].datatype[].sstruct.name "parent_struct"
+documenttype[].datatype[].sstruct.version 0
+documenttype[].datatype[].sstruct.compression.type NONE
+documenttype[].datatype[].sstruct.compression.level 0
+documenttype[].datatype[].sstruct.compression.threshold 95
+documenttype[].datatype[].sstruct.compression.minsize 200
+documenttype[].datatype[].sstruct.field[].name "parent_field"
+documenttype[].datatype[].sstruct.field[].id 933533022
+documenttype[].datatype[].sstruct.field[].id_v6 2116869443
+documenttype[].datatype[].sstruct.field[].datatype 2
+documenttype[].datatype[].sstruct.field[].detailedtype ""
+documenttype[].datatype[].id 836075987
+documenttype[].datatype[].type STRUCT
+documenttype[].datatype[].array.element.id 0
+documenttype[].datatype[].map.key.id 0
+documenttype[].datatype[].map.value.id 0
+documenttype[].datatype[].wset.key.id 0
+documenttype[].datatype[].wset.createifnonexistent false
+documenttype[].datatype[].wset.removeifzero false
+documenttype[].datatype[].annotationref.annotation.id 0
+documenttype[].datatype[].sstruct.name "parent.header"
+documenttype[].datatype[].sstruct.version 0
+documenttype[].datatype[].sstruct.compression.type NONE
+documenttype[].datatype[].sstruct.compression.level 0
+documenttype[].datatype[].sstruct.compression.threshold 95
+documenttype[].datatype[].sstruct.compression.minsize 200
+documenttype[].datatype[].sstruct.field[].name "weight_src"
+documenttype[].datatype[].sstruct.field[].id 1225660233
+documenttype[].datatype[].sstruct.field[].id_v6 1350588470
+documenttype[].datatype[].sstruct.field[].datatype 1
+documenttype[].datatype[].sstruct.field[].detailedtype ""
+documenttype[].datatype[].sstruct.field[].name "weight"
+documenttype[].datatype[].sstruct.field[].id 1001392207
+documenttype[].datatype[].sstruct.field[].id_v6 1329620545
+documenttype[].datatype[].sstruct.field[].datatype 1
+documenttype[].datatype[].sstruct.field[].detailedtype ""
+documenttype[].datatype[].sstruct.field[].name "rankfeatures"
+documenttype[].datatype[].sstruct.field[].id 1883197392
+documenttype[].datatype[].sstruct.field[].id_v6 699950698
+documenttype[].datatype[].sstruct.field[].datatype 2
+documenttype[].datatype[].sstruct.field[].detailedtype ""
+documenttype[].datatype[].sstruct.field[].name "summaryfeatures"
+documenttype[].datatype[].sstruct.field[].id 1840337115
+documenttype[].datatype[].sstruct.field[].id_v6 1981648971
+documenttype[].datatype[].sstruct.field[].datatype 2
+documenttype[].datatype[].sstruct.field[].detailedtype ""
+documenttype[].datatype[].id -389494616
+documenttype[].datatype[].type STRUCT
+documenttype[].datatype[].array.element.id 0
+documenttype[].datatype[].map.key.id 0
+documenttype[].datatype[].map.value.id 0
+documenttype[].datatype[].wset.key.id 0
+documenttype[].datatype[].wset.createifnonexistent false
+documenttype[].datatype[].wset.removeifzero false
+documenttype[].datatype[].annotationref.annotation.id 0
+documenttype[].datatype[].sstruct.name "parent.body"
+documenttype[].datatype[].sstruct.version 0
+documenttype[].datatype[].sstruct.compression.type NONE
+documenttype[].datatype[].sstruct.compression.level 0
+documenttype[].datatype[].sstruct.compression.threshold 95
+documenttype[].datatype[].sstruct.compression.minsize 200
+documenttype[].fieldsets{[document]}.fields[0] "weight_src"
+documenttype[].id 746267614
+documenttype[].name "child"
+documenttype[].version 0
+documenttype[].headerstruct 81425825
+documenttype[].bodystruct -126593034
+documenttype[].inherits[].id 8
+documenttype[].inherits[].id 1175161836
+documenttype[].datatype[].id 81425825
+documenttype[].datatype[].type STRUCT
+documenttype[].datatype[].array.element.id 0
+documenttype[].datatype[].map.key.id 0
+documenttype[].datatype[].map.value.id 0
+documenttype[].datatype[].wset.key.id 0
+documenttype[].datatype[].wset.createifnonexistent false
+documenttype[].datatype[].wset.removeifzero false
+documenttype[].datatype[].annotationref.annotation.id 0
+documenttype[].datatype[].sstruct.name "child.header"
+documenttype[].datatype[].sstruct.version 0
+documenttype[].datatype[].sstruct.compression.type NONE
+documenttype[].datatype[].sstruct.compression.level 0
+documenttype[].datatype[].sstruct.compression.threshold 95
+documenttype[].datatype[].sstruct.compression.minsize 200
+documenttype[].datatype[].sstruct.field[].name "child_field"
+documenttype[].datatype[].sstruct.field[].id 1814271363
+documenttype[].datatype[].sstruct.field[].id_v6 405182398
+documenttype[].datatype[].sstruct.field[].datatype 1091188812
+documenttype[].datatype[].sstruct.field[].detailedtype ""
+documenttype[].datatype[].id -126593034
+documenttype[].datatype[].type STRUCT
+documenttype[].datatype[].array.element.id 0
+documenttype[].datatype[].map.key.id 0
+documenttype[].datatype[].map.value.id 0
+documenttype[].datatype[].wset.key.id 0
+documenttype[].datatype[].wset.createifnonexistent false
+documenttype[].datatype[].wset.removeifzero false
+documenttype[].datatype[].annotationref.annotation.id 0
+documenttype[].datatype[].sstruct.name "child.body"
+documenttype[].datatype[].sstruct.version 0
+documenttype[].datatype[].sstruct.compression.type NONE
+documenttype[].datatype[].sstruct.compression.level 0
+documenttype[].datatype[].sstruct.compression.threshold 95
+documenttype[].datatype[].sstruct.compression.minsize 200
+documenttype[].fieldsets{[document]}.fields[0] "child_field"
+documenttype[].fieldsets{[document]}.fields[1] "rankfeatures"
+documenttype[].fieldsets{[document]}.fields[2] "summaryfeatures"
+documenttype[].fieldsets{[document]}.fields[3] "weight"
+documenttype[].fieldsets{[document]}.fields[4] "weight_src"
diff --git a/config-model/src/test/derived/inheritfromparent/summarymap.cfg b/config-model/src/test/derived/inheritfromparent/summarymap.cfg
index 1ab79191ebd..cf8b410c850 100644
--- a/config-model/src/test/derived/inheritfromparent/summarymap.cfg
+++ b/config-model/src/test/derived/inheritfromparent/summarymap.cfg
@@ -1,10 +1,10 @@
defaultoutputclass -1
-override[0].field "weight"
-override[0].command "attribute"
-override[0].arguments "weight"
-override[1].field "rankfeatures"
-override[1].command "rankfeatures"
-override[1].arguments ""
-override[2].field "summaryfeatures"
-override[2].command "summaryfeatures"
-override[2].arguments "" \ No newline at end of file
+override[].field "weight"
+override[].command "attribute"
+override[].arguments "weight"
+override[].field "rankfeatures"
+override[].command "rankfeatures"
+override[].arguments ""
+override[].field "summaryfeatures"
+override[].command "summaryfeatures"
+override[].arguments ""
diff --git a/config-model/src/test/derived/inheritstruct/index-info.cfg b/config-model/src/test/derived/inheritstruct/index-info.cfg
index 61c0c786144..f0476c4bbb8 100644
--- a/config-model/src/test/derived/inheritstruct/index-info.cfg
+++ b/config-model/src/test/derived/inheritstruct/index-info.cfg
@@ -1,25 +1,25 @@
-indexinfo[0].name "child"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "child_struct_field.my_str"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "child_struct_field.my_str"
-indexinfo[0].command[3].command "lowercase"
-indexinfo[0].command[4].indexname "child_struct_field.my_str"
-indexinfo[0].command[4].command "stem:SHORTEST"
-indexinfo[0].command[5].indexname "child_struct_field.my_str"
-indexinfo[0].command[5].command "normalize"
-indexinfo[0].command[6].indexname "child_struct_field.my_str"
-indexinfo[0].command[6].command "plain-tokens"
-indexinfo[0].command[7].indexname "child_struct_field"
-indexinfo[0].command[7].command "index"
-indexinfo[0].command[8].indexname "child_struct_field"
-indexinfo[0].command[8].command "lowercase"
-indexinfo[0].command[9].indexname "child_struct_field"
-indexinfo[0].command[9].command "plain-tokens"
-indexinfo[0].command[10].indexname "rankfeatures"
-indexinfo[0].command[10].command "index"
-indexinfo[0].command[11].indexname "summaryfeatures"
-indexinfo[0].command[11].command "index" \ No newline at end of file
+indexinfo[].name "child"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "child_struct_field.my_str"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "child_struct_field.my_str"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "child_struct_field.my_str"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "child_struct_field.my_str"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "child_struct_field.my_str"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "child_struct_field"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "child_struct_field"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "child_struct_field"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "rankfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "summaryfeatures"
+indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/integerattributetostringindex/summary.cfg b/config-model/src/test/derived/integerattributetostringindex/summary.cfg
index 87567ceb348..267585e3fda 100644
--- a/config-model/src/test/derived/integerattributetostringindex/summary.cfg
+++ b/config-model/src/test/derived/integerattributetostringindex/summary.cfg
@@ -1,29 +1,29 @@
defaultsummaryid 1195656216
-classes[0].id 1195656216
-classes[0].name "default"
-classes[0].fields[0].name "attinx"
-classes[0].fields[0].type "integer"
-classes[0].fields[1].name "artist"
-classes[0].fields[1].type "longstring"
-classes[0].fields[2].name "title"
-classes[0].fields[2].type "longstring"
-classes[0].fields[3].name "year"
-classes[0].fields[3].type "integer"
-classes[0].fields[4].name "rankfeatures"
-classes[0].fields[4].type "featuredata"
-classes[0].fields[5].name "summaryfeatures"
-classes[0].fields[5].type "featuredata"
-classes[0].fields[6].name "documentid"
-classes[0].fields[6].type "longstring"
-classes[1].id 1706878063
-classes[1].name "attributeprefetch"
-classes[1].fields[0].name "attinx"
-classes[1].fields[0].type "integer"
-classes[1].fields[1].name "artist"
-classes[1].fields[1].type "longstring"
-classes[1].fields[2].name "year"
-classes[1].fields[2].type "integer"
-classes[1].fields[3].name "rankfeatures"
-classes[1].fields[3].type "featuredata"
-classes[1].fields[4].name "summaryfeatures"
-classes[1].fields[4].type "featuredata" \ No newline at end of file
+classes[].id 1195656216
+classes[].name "default"
+classes[].fields[].name "attinx"
+classes[].fields[].type "integer"
+classes[].fields[].name "artist"
+classes[].fields[].type "longstring"
+classes[].fields[].name "title"
+classes[].fields[].type "longstring"
+classes[].fields[].name "year"
+classes[].fields[].type "integer"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "documentid"
+classes[].fields[].type "longstring"
+classes[].id 1706878063
+classes[].name "attributeprefetch"
+classes[].fields[].name "attinx"
+classes[].fields[].type "integer"
+classes[].fields[].name "artist"
+classes[].fields[].type "longstring"
+classes[].fields[].name "year"
+classes[].fields[].type "integer"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
diff --git a/config-model/src/test/derived/mail/attributes.cfg b/config-model/src/test/derived/mail/attributes.cfg
index fe6c08cf36d..507cf4b0b81 100644
--- a/config-model/src/test/derived/mail/attributes.cfg
+++ b/config-model/src/test/derived/mail/attributes.cfg
@@ -1,40 +1,40 @@
-attribute[0].name "date"
-attribute[0].datatype INT32
-attribute[0].collectiontype SINGLE
-attribute[0].removeifzero false
-attribute[0].createifnonexistent false
-attribute[0].loadtype ALWAYS
-attribute[0].sparse false
-attribute[0].noupdate false
-attribute[0].fastsearch false
-attribute[0].fastaggregate false
-attribute[0].huge false
-attribute[0].nosummary false
-attribute[0].sortascending true
-attribute[0].sortfunction UCA
-attribute[0].sortstrength PRIMARY
-attribute[0].sortlocale ""
-attribute[0].enablebitvectors false
-attribute[0].enableonlybitvector false
-attribute[0].fastaccess false
-attribute[0].arity 8
-attribute[1].name "attachmentcount"
-attribute[1].datatype INT32
-attribute[1].collectiontype SINGLE
-attribute[1].removeifzero false
-attribute[1].createifnonexistent false
-attribute[1].loadtype ALWAYS
-attribute[1].sparse false
-attribute[1].noupdate false
-attribute[1].fastsearch false
-attribute[1].fastaggregate false
-attribute[1].huge false
-attribute[1].nosummary false
-attribute[1].sortascending true
-attribute[1].sortfunction UCA
-attribute[1].sortstrength PRIMARY
-attribute[1].sortlocale ""
-attribute[1].enablebitvectors false
-attribute[1].enableonlybitvector false
-attribute[1].fastaccess false
-attribute[1].arity 8 \ No newline at end of file
+attribute[].name "date"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].loadtype ALWAYS
+attribute[].sparse false
+attribute[].noupdate false
+attribute[].fastsearch false
+attribute[].fastaggregate false
+attribute[].huge false
+attribute[].nosummary false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].name "attachmentcount"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].loadtype ALWAYS
+attribute[].sparse false
+attribute[].noupdate false
+attribute[].fastsearch false
+attribute[].fastaggregate false
+attribute[].huge false
+attribute[].nosummary false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
diff --git a/config-model/src/test/derived/mail/documentmanager.cfg b/config-model/src/test/derived/mail/documentmanager.cfg
index c1d92402ee7..06bbe23dc01 100644
--- a/config-model/src/test/derived/mail/documentmanager.cfg
+++ b/config-model/src/test/derived/mail/documentmanager.cfg
@@ -1,115 +1,115 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[1].id -88808602
-datatype[1].structtype[0].name "mail.header"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].compresstype NONE
-datatype[1].structtype[0].compresslevel 0
-datatype[1].structtype[0].compressthreshold 95
-datatype[1].structtype[0].compressminsize 800
-datatype[1].structtype[0].field[0].name "URI"
-datatype[1].structtype[0].field[0].datatype 10
-datatype[1].structtype[0].field[1].name "mailid"
-datatype[1].structtype[0].field[1].datatype 2
-datatype[1].structtype[0].field[2].name "date"
-datatype[1].structtype[0].field[2].datatype 0
-datatype[1].structtype[0].field[3].name "from"
-datatype[1].structtype[0].field[3].datatype 2
-datatype[1].structtype[0].field[4].name "replyto"
-datatype[1].structtype[0].field[4].datatype 12
-datatype[1].structtype[0].field[5].name "to"
-datatype[1].structtype[0].field[5].datatype 2
-datatype[1].structtype[0].field[6].name "cc"
-datatype[1].structtype[0].field[6].datatype 2
-datatype[1].structtype[0].field[7].name "bcc"
-datatype[1].structtype[0].field[7].datatype 2
-datatype[1].structtype[0].field[8].name "subject"
-datatype[1].structtype[0].field[8].datatype 2
-datatype[1].structtype[0].field[9].name "snippet"
-datatype[1].structtype[0].field[9].datatype 2
-datatype[1].structtype[0].field[10].name "rankfeatures"
-datatype[1].structtype[0].field[10].datatype 2
-datatype[1].structtype[0].field[11].name "summaryfeatures"
-datatype[1].structtype[0].field[11].datatype 2
-datatype[2].id -1206550296
-datatype[2].arraytype[0].datatype 12
-datatype[3].id -953584901
-datatype[3].structtype[0].name "mail.body"
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].compresstype NONE
-datatype[3].structtype[0].compresslevel 0
-datatype[3].structtype[0].compressthreshold 95
-datatype[3].structtype[0].compressminsize 800
-datatype[3].structtype[0].field[0].name "body"
-datatype[3].structtype[0].field[0].datatype 12
-datatype[3].structtype[0].field[1].name "attachmentcount"
-datatype[3].structtype[0].field[1].datatype 0
-datatype[3].structtype[0].field[2].name "attachmentnames"
-datatype[3].structtype[0].field[2].datatype 2
-datatype[3].structtype[0].field[3].name "attachmenttypes"
-datatype[3].structtype[0].field[3].datatype 2
-datatype[3].structtype[0].field[4].name "attachmentlanguages"
-datatype[3].structtype[0].field[4].datatype 2
-datatype[3].structtype[0].field[5].name "attachmentcontent"
-datatype[3].structtype[0].field[5].datatype 2
-datatype[3].structtype[0].field[6].name "attachments"
-datatype[3].structtype[0].field[6].datatype -1206550296
-datatype[4].id -1081574983
-datatype[4].documenttype[0].name "mail"
-datatype[4].documenttype[0].version 0
-datatype[4].documenttype[0].inherits[0].name "document"
-datatype[4].documenttype[0].inherits[0].version 0
-datatype[4].documenttype[0].headerstruct -88808602
-datatype[4].documenttype[0].bodystruct -953584901
-datatype[4].documenttype[0].fieldsets{sender}.fields[0] "from"
-datatype[4].documenttype[0].fieldsets{address}.fields[0] "cc"
-datatype[4].documenttype[0].fieldsets{address}.fields[1] "from"
-datatype[4].documenttype[0].fieldsets{address}.fields[2] "to"
-datatype[4].documenttype[0].fieldsets{header}.fields[0] "cc"
-datatype[4].documenttype[0].fieldsets{header}.fields[1] "from"
-datatype[4].documenttype[0].fieldsets{header}.fields[2] "subject"
-datatype[4].documenttype[0].fieldsets{header}.fields[3] "to"
-datatype[4].documenttype[0].fieldsets{default}.fields[0] "body"
-datatype[4].documenttype[0].fieldsets{default}.fields[1] "cc"
-datatype[4].documenttype[0].fieldsets{default}.fields[2] "from"
-datatype[4].documenttype[0].fieldsets{default}.fields[3] "subject"
-datatype[4].documenttype[0].fieldsets{default}.fields[4] "to"
-datatype[4].documenttype[0].fieldsets{all}.fields[0] "attachmentcontent"
-datatype[4].documenttype[0].fieldsets{all}.fields[1] "attachmentnames"
-datatype[4].documenttype[0].fieldsets{all}.fields[2] "attachmenttypes"
-datatype[4].documenttype[0].fieldsets{all}.fields[3] "body"
-datatype[4].documenttype[0].fieldsets{all}.fields[4] "cc"
-datatype[4].documenttype[0].fieldsets{all}.fields[5] "from"
-datatype[4].documenttype[0].fieldsets{all}.fields[6] "subject"
-datatype[4].documenttype[0].fieldsets{all}.fields[7] "to"
-datatype[4].documenttype[0].fieldsets{recipient}.fields[0] "cc"
-datatype[4].documenttype[0].fieldsets{recipient}.fields[1] "to"
-datatype[4].documenttype[0].fieldsets{attachmentname}.fields[0] "attachmentnames"
-datatype[4].documenttype[0].fieldsets{attachmenttype}.fields[0] "attachmenttypes"
-datatype[4].documenttype[0].fieldsets{attachment}.fields[0] "attachmentcontent"
-datatype[4].documenttype[0].fieldsets{[document]}.fields[0] "URI"
-datatype[4].documenttype[0].fieldsets{[document]}.fields[1] "attachmentcontent"
-datatype[4].documenttype[0].fieldsets{[document]}.fields[2] "attachmentcount"
-datatype[4].documenttype[0].fieldsets{[document]}.fields[3] "attachmentlanguages"
-datatype[4].documenttype[0].fieldsets{[document]}.fields[4] "attachmentnames"
-datatype[4].documenttype[0].fieldsets{[document]}.fields[5] "attachments"
-datatype[4].documenttype[0].fieldsets{[document]}.fields[6] "attachmenttypes"
-datatype[4].documenttype[0].fieldsets{[document]}.fields[7] "bcc"
-datatype[4].documenttype[0].fieldsets{[document]}.fields[8] "body"
-datatype[4].documenttype[0].fieldsets{[document]}.fields[9] "cc"
-datatype[4].documenttype[0].fieldsets{[document]}.fields[10] "date"
-datatype[4].documenttype[0].fieldsets{[document]}.fields[11] "from"
-datatype[4].documenttype[0].fieldsets{[document]}.fields[12] "mailid"
-datatype[4].documenttype[0].fieldsets{[document]}.fields[13] "replyto"
-datatype[4].documenttype[0].fieldsets{[document]}.fields[14] "subject"
-datatype[4].documenttype[0].fieldsets{[document]}.fields[15] "to"
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].id -88808602
+datatype[].structtype[].name "mail.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "URI"
+datatype[].structtype[].field[].datatype 10
+datatype[].structtype[].field[].name "mailid"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "date"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].name "from"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "replyto"
+datatype[].structtype[].field[].datatype 12
+datatype[].structtype[].field[].name "to"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "cc"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "bcc"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "subject"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "snippet"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].id -1206550296
+datatype[].arraytype[].datatype 12
+datatype[].id -953584901
+datatype[].structtype[].name "mail.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "body"
+datatype[].structtype[].field[].datatype 12
+datatype[].structtype[].field[].name "attachmentcount"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].name "attachmentnames"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "attachmenttypes"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "attachmentlanguages"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "attachmentcontent"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "attachments"
+datatype[].structtype[].field[].datatype -1206550296
+datatype[].id -1081574983
+datatype[].documenttype[].name "mail"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct -88808602
+datatype[].documenttype[].bodystruct -953584901
+datatype[].documenttype[].fieldsets{sender}.fields[0] "from"
+datatype[].documenttype[].fieldsets{address}.fields[0] "cc"
+datatype[].documenttype[].fieldsets{address}.fields[1] "from"
+datatype[].documenttype[].fieldsets{address}.fields[2] "to"
+datatype[].documenttype[].fieldsets{header}.fields[0] "cc"
+datatype[].documenttype[].fieldsets{header}.fields[1] "from"
+datatype[].documenttype[].fieldsets{header}.fields[2] "subject"
+datatype[].documenttype[].fieldsets{header}.fields[3] "to"
+datatype[].documenttype[].fieldsets{default}.fields[0] "body"
+datatype[].documenttype[].fieldsets{default}.fields[1] "cc"
+datatype[].documenttype[].fieldsets{default}.fields[2] "from"
+datatype[].documenttype[].fieldsets{default}.fields[3] "subject"
+datatype[].documenttype[].fieldsets{default}.fields[4] "to"
+datatype[].documenttype[].fieldsets{all}.fields[0] "attachmentcontent"
+datatype[].documenttype[].fieldsets{all}.fields[1] "attachmentnames"
+datatype[].documenttype[].fieldsets{all}.fields[2] "attachmenttypes"
+datatype[].documenttype[].fieldsets{all}.fields[3] "body"
+datatype[].documenttype[].fieldsets{all}.fields[4] "cc"
+datatype[].documenttype[].fieldsets{all}.fields[5] "from"
+datatype[].documenttype[].fieldsets{all}.fields[6] "subject"
+datatype[].documenttype[].fieldsets{all}.fields[7] "to"
+datatype[].documenttype[].fieldsets{recipient}.fields[0] "cc"
+datatype[].documenttype[].fieldsets{recipient}.fields[1] "to"
+datatype[].documenttype[].fieldsets{attachmentname}.fields[0] "attachmentnames"
+datatype[].documenttype[].fieldsets{attachmenttype}.fields[0] "attachmenttypes"
+datatype[].documenttype[].fieldsets{attachment}.fields[0] "attachmentcontent"
+datatype[].documenttype[].fieldsets{[document]}.fields[0] "URI"
+datatype[].documenttype[].fieldsets{[document]}.fields[1] "attachmentcontent"
+datatype[].documenttype[].fieldsets{[document]}.fields[2] "attachmentcount"
+datatype[].documenttype[].fieldsets{[document]}.fields[3] "attachmentlanguages"
+datatype[].documenttype[].fieldsets{[document]}.fields[4] "attachmentnames"
+datatype[].documenttype[].fieldsets{[document]}.fields[5] "attachments"
+datatype[].documenttype[].fieldsets{[document]}.fields[6] "attachmenttypes"
+datatype[].documenttype[].fieldsets{[document]}.fields[7] "bcc"
+datatype[].documenttype[].fieldsets{[document]}.fields[8] "body"
+datatype[].documenttype[].fieldsets{[document]}.fields[9] "cc"
+datatype[].documenttype[].fieldsets{[document]}.fields[10] "date"
+datatype[].documenttype[].fieldsets{[document]}.fields[11] "from"
+datatype[].documenttype[].fieldsets{[document]}.fields[12] "mailid"
+datatype[].documenttype[].fieldsets{[document]}.fields[13] "replyto"
+datatype[].documenttype[].fieldsets{[document]}.fields[14] "subject"
+datatype[].documenttype[].fieldsets{[document]}.fields[15] "to"
diff --git a/config-model/src/test/derived/mail/ilscripts.cfg b/config-model/src/test/derived/mail/ilscripts.cfg
index effc8d998b5..b31866ee358 100644
--- a/config-model/src/test/derived/mail/ilscripts.cfg
+++ b/config-model/src/test/derived/mail/ilscripts.cfg
@@ -1,33 +1,33 @@
-ilscript[0].doctype "mail"
-ilscript[0].docfield[0] "URI"
-ilscript[0].docfield[1] "mailid"
-ilscript[0].docfield[2] "date"
-ilscript[0].docfield[3] "from"
-ilscript[0].docfield[4] "replyto"
-ilscript[0].docfield[5] "to"
-ilscript[0].docfield[6] "cc"
-ilscript[0].docfield[7] "bcc"
-ilscript[0].docfield[8] "subject"
-ilscript[0].docfield[9] "body"
-ilscript[0].docfield[10] "attachmentcount"
-ilscript[0].docfield[11] "attachmentnames"
-ilscript[0].docfield[12] "attachmenttypes"
-ilscript[0].docfield[13] "attachmentlanguages"
-ilscript[0].docfield[14] "attachmentcontent"
-ilscript[0].docfield[15] "attachments"
-ilscript[0].content[0] "clear_state | guard { (input body | to_string) . (input attachmentcontent | to_string) | tokenize normalize | summary snippet; }"
-ilscript[0].content[1] "clear_state | guard { input URI | summary URI; }"
-ilscript[0].content[2] "clear_state | guard { input mailid | tokenize normalize | summary mailid | index mailid; }"
-ilscript[0].content[3] "clear_state | guard { input date | summary date | attribute date; }"
-ilscript[0].content[4] "clear_state | guard { input from | tokenize normalize | summary from | index from; }"
-ilscript[0].content[5] "clear_state | guard { input replyto | summary replyto | index replyto; }"
-ilscript[0].content[6] "clear_state | guard { input to | tokenize normalize | summary to | index to; }"
-ilscript[0].content[7] "clear_state | guard { input cc | tokenize normalize | index cc; }"
-ilscript[0].content[8] "clear_state | guard { input bcc | tokenize normalize | index bcc; }"
-ilscript[0].content[9] "clear_state | guard { input subject | tokenize normalize | summary subject | index subject; }"
-ilscript[0].content[10] "clear_state | guard { input body | summary body | index body; }"
-ilscript[0].content[11] "clear_state | guard { input attachmentcount | summary attachmentcount | attribute attachmentcount; }"
-ilscript[0].content[12] "clear_state | guard { input attachmentnames | tokenize normalize | index attachmentnames; }"
-ilscript[0].content[13] "clear_state | guard { input attachmenttypes | tokenize normalize | index attachmenttypes; }"
-ilscript[0].content[14] "clear_state | guard { input attachmentlanguages | tokenize normalize | index attachmentlanguages; }"
-ilscript[0].content[15] "clear_state | guard { input attachmentcontent | tokenize normalize | summary attachmentcontent | index attachmentcontent; }" \ No newline at end of file
+ilscript[].doctype "mail"
+ilscript[].docfield[0] "URI"
+ilscript[].docfield[1] "mailid"
+ilscript[].docfield[2] "date"
+ilscript[].docfield[3] "from"
+ilscript[].docfield[4] "replyto"
+ilscript[].docfield[5] "to"
+ilscript[].docfield[6] "cc"
+ilscript[].docfield[7] "bcc"
+ilscript[].docfield[8] "subject"
+ilscript[].docfield[9] "body"
+ilscript[].docfield[10] "attachmentcount"
+ilscript[].docfield[11] "attachmentnames"
+ilscript[].docfield[12] "attachmenttypes"
+ilscript[].docfield[13] "attachmentlanguages"
+ilscript[].docfield[14] "attachmentcontent"
+ilscript[].docfield[15] "attachments"
+ilscript[].content[0] "clear_state | guard { (input body | to_string) . (input attachmentcontent | to_string) | tokenize normalize | summary snippet; }"
+ilscript[].content[1] "clear_state | guard { input URI | summary URI; }"
+ilscript[].content[2] "clear_state | guard { input mailid | tokenize normalize | summary mailid | index mailid; }"
+ilscript[].content[3] "clear_state | guard { input date | summary date | attribute date; }"
+ilscript[].content[4] "clear_state | guard { input from | tokenize normalize | summary from | index from; }"
+ilscript[].content[5] "clear_state | guard { input replyto | summary replyto | index replyto; }"
+ilscript[].content[6] "clear_state | guard { input to | tokenize normalize | summary to | index to; }"
+ilscript[].content[7] "clear_state | guard { input cc | tokenize normalize | index cc; }"
+ilscript[].content[8] "clear_state | guard { input bcc | tokenize normalize | index bcc; }"
+ilscript[].content[9] "clear_state | guard { input subject | tokenize normalize | summary subject | index subject; }"
+ilscript[].content[10] "clear_state | guard { input body | summary body | index body; }"
+ilscript[].content[11] "clear_state | guard { input attachmentcount | summary attachmentcount | attribute attachmentcount; }"
+ilscript[].content[12] "clear_state | guard { input attachmentnames | tokenize normalize | index attachmentnames; }"
+ilscript[].content[13] "clear_state | guard { input attachmenttypes | tokenize normalize | index attachmenttypes; }"
+ilscript[].content[14] "clear_state | guard { input attachmentlanguages | tokenize normalize | index attachmentlanguages; }"
+ilscript[].content[15] "clear_state | guard { input attachmentcontent | tokenize normalize | summary attachmentcontent | index attachmentcontent; }"
diff --git a/config-model/src/test/derived/mail/index-info.cfg b/config-model/src/test/derived/mail/index-info.cfg
index fc5192a6014..0d45f7c120f 100644
--- a/config-model/src/test/derived/mail/index-info.cfg
+++ b/config-model/src/test/derived/mail/index-info.cfg
@@ -1,155 +1,155 @@
-indexinfo[0].name "mail"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "URI"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "URI"
-indexinfo[0].command[3].command "fullurl"
-indexinfo[0].command[4].indexname "URI"
-indexinfo[0].command[4].command "lowercase"
-indexinfo[0].command[5].indexname "URI.URI"
-indexinfo[0].command[5].command "fullurl"
-indexinfo[0].command[6].indexname "URI.URI"
-indexinfo[0].command[6].command "lowercase"
-indexinfo[0].command[7].indexname "URI.path"
-indexinfo[0].command[7].command "fullurl"
-indexinfo[0].command[8].indexname "URI.path"
-indexinfo[0].command[8].command "lowercase"
-indexinfo[0].command[9].indexname "URI.query"
-indexinfo[0].command[9].command "fullurl"
-indexinfo[0].command[10].indexname "URI.query"
-indexinfo[0].command[10].command "lowercase"
-indexinfo[0].command[11].indexname "URI.hostname"
-indexinfo[0].command[11].command "urlhost"
-indexinfo[0].command[12].indexname "URI.hostname"
-indexinfo[0].command[12].command "lowercase"
-indexinfo[0].command[13].indexname "mailid"
-indexinfo[0].command[13].command "index"
-indexinfo[0].command[14].indexname "mailid"
-indexinfo[0].command[14].command "lowercase"
-indexinfo[0].command[15].indexname "mailid"
-indexinfo[0].command[15].command "normalize"
-indexinfo[0].command[16].indexname "date"
-indexinfo[0].command[16].command "index"
-indexinfo[0].command[17].indexname "date"
-indexinfo[0].command[17].command "attribute"
-indexinfo[0].command[18].indexname "from"
-indexinfo[0].command[18].command "index"
-indexinfo[0].command[19].indexname "sender"
-indexinfo[0].command[19].command "index"
-indexinfo[0].command[20].indexname "address"
-indexinfo[0].command[20].command "index"
-indexinfo[0].command[21].indexname "header"
-indexinfo[0].command[21].command "index"
-indexinfo[0].command[22].indexname "default"
-indexinfo[0].command[22].command "index"
-indexinfo[0].command[23].indexname "all"
-indexinfo[0].command[23].command "index"
-indexinfo[0].command[24].indexname "from"
-indexinfo[0].command[24].command "lowercase"
-indexinfo[0].command[25].indexname "sender"
-indexinfo[0].command[25].command "lowercase"
-indexinfo[0].command[26].indexname "address"
-indexinfo[0].command[26].command "lowercase"
-indexinfo[0].command[27].indexname "header"
-indexinfo[0].command[27].command "lowercase"
-indexinfo[0].command[28].indexname "default"
-indexinfo[0].command[28].command "lowercase"
-indexinfo[0].command[29].indexname "all"
-indexinfo[0].command[29].command "lowercase"
-indexinfo[0].command[30].indexname "from"
-indexinfo[0].command[30].command "normalize"
-indexinfo[0].command[31].indexname "sender"
-indexinfo[0].command[31].command "normalize"
-indexinfo[0].command[32].indexname "address"
-indexinfo[0].command[32].command "normalize"
-indexinfo[0].command[33].indexname "header"
-indexinfo[0].command[33].command "normalize"
-indexinfo[0].command[34].indexname "default"
-indexinfo[0].command[34].command "normalize"
-indexinfo[0].command[35].indexname "all"
-indexinfo[0].command[35].command "normalize"
-indexinfo[0].command[36].indexname "replyto"
-indexinfo[0].command[36].command "index"
-indexinfo[0].command[37].indexname "replyto"
-indexinfo[0].command[37].command "lowercase"
-indexinfo[0].command[38].indexname "replyto"
-indexinfo[0].command[38].command "normalize"
-indexinfo[0].command[39].indexname "to"
-indexinfo[0].command[39].command "index"
-indexinfo[0].command[40].indexname "recipient"
-indexinfo[0].command[40].command "index"
-indexinfo[0].command[41].indexname "to"
-indexinfo[0].command[41].command "lowercase"
-indexinfo[0].command[42].indexname "recipient"
-indexinfo[0].command[42].command "lowercase"
-indexinfo[0].command[43].indexname "to"
-indexinfo[0].command[43].command "normalize"
-indexinfo[0].command[44].indexname "recipient"
-indexinfo[0].command[44].command "normalize"
-indexinfo[0].command[45].indexname "cc"
-indexinfo[0].command[45].command "index"
-indexinfo[0].command[46].indexname "cc"
-indexinfo[0].command[46].command "lowercase"
-indexinfo[0].command[47].indexname "cc"
-indexinfo[0].command[47].command "normalize"
-indexinfo[0].command[48].indexname "bcc"
-indexinfo[0].command[48].command "index"
-indexinfo[0].command[49].indexname "bcc"
-indexinfo[0].command[49].command "lowercase"
-indexinfo[0].command[50].indexname "bcc"
-indexinfo[0].command[50].command "normalize"
-indexinfo[0].command[51].indexname "subject"
-indexinfo[0].command[51].command "index"
-indexinfo[0].command[52].indexname "subject"
-indexinfo[0].command[52].command "lowercase"
-indexinfo[0].command[53].indexname "subject"
-indexinfo[0].command[53].command "normalize"
-indexinfo[0].command[54].indexname "body"
-indexinfo[0].command[54].command "index"
-indexinfo[0].command[55].indexname "body"
-indexinfo[0].command[55].command "lowercase"
-indexinfo[0].command[56].indexname "body"
-indexinfo[0].command[56].command "normalize"
-indexinfo[0].command[57].indexname "attachmentcount"
-indexinfo[0].command[57].command "index"
-indexinfo[0].command[58].indexname "attachmentcount"
-indexinfo[0].command[58].command "attribute"
-indexinfo[0].command[59].indexname "attachmentname"
-indexinfo[0].command[59].command "index"
-indexinfo[0].command[60].indexname "attachmentname"
-indexinfo[0].command[60].command "lowercase"
-indexinfo[0].command[61].indexname "attachmentname"
-indexinfo[0].command[61].command "normalize"
-indexinfo[0].command[62].indexname "attachmenttype"
-indexinfo[0].command[62].command "index"
-indexinfo[0].command[63].indexname "attachmenttype"
-indexinfo[0].command[63].command "lowercase"
-indexinfo[0].command[64].indexname "attachmenttype"
-indexinfo[0].command[64].command "normalize"
-indexinfo[0].command[65].indexname "attachmentlanguages"
-indexinfo[0].command[65].command "index"
-indexinfo[0].command[66].indexname "attachmentlanguages"
-indexinfo[0].command[66].command "lowercase"
-indexinfo[0].command[67].indexname "attachmentlanguages"
-indexinfo[0].command[67].command "normalize"
-indexinfo[0].command[68].indexname "attachment"
-indexinfo[0].command[68].command "index"
-indexinfo[0].command[69].indexname "attachment"
-indexinfo[0].command[69].command "lowercase"
-indexinfo[0].command[70].indexname "attachment"
-indexinfo[0].command[70].command "normalize"
-indexinfo[0].command[71].indexname "attachments"
-indexinfo[0].command[71].command "index"
-indexinfo[0].command[72].indexname "attachments"
-indexinfo[0].command[72].command "multivalue"
-indexinfo[0].command[73].indexname "rankfeatures"
-indexinfo[0].command[73].command "index"
-indexinfo[0].command[74].indexname "snippet"
-indexinfo[0].command[74].command "index"
-indexinfo[0].command[75].indexname "summaryfeatures"
-indexinfo[0].command[75].command "index"
-indexinfo[0].command[76].indexname "snippet"
-indexinfo[0].command[76].command "dynteaser" \ No newline at end of file
+indexinfo[].name "mail"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "URI"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "URI"
+indexinfo[].command[].command "fullurl"
+indexinfo[].command[].indexname "URI"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "URI.URI"
+indexinfo[].command[].command "fullurl"
+indexinfo[].command[].indexname "URI.URI"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "URI.path"
+indexinfo[].command[].command "fullurl"
+indexinfo[].command[].indexname "URI.path"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "URI.query"
+indexinfo[].command[].command "fullurl"
+indexinfo[].command[].indexname "URI.query"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "URI.hostname"
+indexinfo[].command[].command "urlhost"
+indexinfo[].command[].indexname "URI.hostname"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "mailid"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "mailid"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "mailid"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "date"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "date"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "from"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sender"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "address"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "header"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "all"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "from"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "sender"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "address"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "header"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "all"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "from"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "sender"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "address"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "header"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "all"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "replyto"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "replyto"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "replyto"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "to"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "recipient"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "to"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "recipient"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "to"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "recipient"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "cc"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "cc"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "cc"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "bcc"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "bcc"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "bcc"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "subject"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "subject"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "subject"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "body"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "body"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "body"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "attachmentcount"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "attachmentcount"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "attachmentname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "attachmentname"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "attachmentname"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "attachmenttype"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "attachmenttype"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "attachmenttype"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "attachmentlanguages"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "attachmentlanguages"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "attachmentlanguages"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "attachment"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "attachment"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "attachment"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "attachments"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "attachments"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "rankfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "snippet"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "summaryfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "snippet"
+indexinfo[].command[].command "dynteaser"
diff --git a/config-model/src/test/derived/mail/onlydoc/documentmanager.cfg b/config-model/src/test/derived/mail/onlydoc/documentmanager.cfg
index 0a70b48fe21..a19332685e9 100644
--- a/config-model/src/test/derived/mail/onlydoc/documentmanager.cfg
+++ b/config-model/src/test/derived/mail/onlydoc/documentmanager.cfg
@@ -1,85 +1,85 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
-datatype[1].id -88808602
-datatype[1].structtype[0].name "mail.header"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].compresstype NONE
-datatype[1].structtype[0].compresslevel 0
-datatype[1].structtype[0].compressthreshold 95
-datatype[1].structtype[0].compressminsize 800
-datatype[1].structtype[0].field[0].name "URI"
-datatype[1].structtype[0].field[0].datatype 10
-datatype[1].structtype[0].field[0].detailedtype ""
-datatype[1].structtype[0].field[1].name "mailid"
-datatype[1].structtype[0].field[1].datatype 2
-datatype[1].structtype[0].field[1].detailedtype ""
-datatype[1].structtype[0].field[2].name "date"
-datatype[1].structtype[0].field[2].datatype 0
-datatype[1].structtype[0].field[2].detailedtype ""
-datatype[1].structtype[0].field[3].name "from"
-datatype[1].structtype[0].field[3].datatype 2
-datatype[1].structtype[0].field[3].detailedtype ""
-datatype[1].structtype[0].field[4].name "replyto"
-datatype[1].structtype[0].field[4].datatype 2
-datatype[1].structtype[0].field[4].detailedtype ""
-datatype[1].structtype[0].field[5].name "to"
-datatype[1].structtype[0].field[5].datatype 2
-datatype[1].structtype[0].field[5].detailedtype ""
-datatype[1].structtype[0].field[6].name "cc"
-datatype[1].structtype[0].field[6].datatype 2
-datatype[1].structtype[0].field[6].detailedtype ""
-datatype[1].structtype[0].field[7].name "bcc"
-datatype[1].structtype[0].field[7].datatype 2
-datatype[1].structtype[0].field[7].detailedtype ""
-datatype[1].structtype[0].field[8].name "subject"
-datatype[1].structtype[0].field[8].datatype 2
-datatype[1].structtype[0].field[8].detailedtype ""
-datatype[2].id -1244861287
-datatype[2].arraytype[0].datatype 3
-datatype[3].id -953584901
-datatype[3].structtype[0].name "mail.body"
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].compresstype NONE
-datatype[3].structtype[0].compresslevel 0
-datatype[3].structtype[0].compressthreshold 95
-datatype[3].structtype[0].compressminsize 800
-datatype[3].structtype[0].field[0].name "body"
-datatype[3].structtype[0].field[0].datatype 2
-datatype[3].structtype[0].field[0].detailedtype ""
-datatype[3].structtype[0].field[1].name "attachmentcount"
-datatype[3].structtype[0].field[1].datatype 0
-datatype[3].structtype[0].field[1].detailedtype ""
-datatype[3].structtype[0].field[2].name "attachmentnames"
-datatype[3].structtype[0].field[2].datatype 2
-datatype[3].structtype[0].field[2].detailedtype ""
-datatype[3].structtype[0].field[3].name "attachmenttypes"
-datatype[3].structtype[0].field[3].datatype 2
-datatype[3].structtype[0].field[3].detailedtype ""
-datatype[3].structtype[0].field[4].name "attachmentlanguages"
-datatype[3].structtype[0].field[4].datatype 2
-datatype[3].structtype[0].field[4].detailedtype ""
-datatype[3].structtype[0].field[5].name "attachmentcontent"
-datatype[3].structtype[0].field[5].datatype 2
-datatype[3].structtype[0].field[5].detailedtype ""
-datatype[3].structtype[0].field[6].name "attachments"
-datatype[3].structtype[0].field[6].datatype -1244861287
-datatype[3].structtype[0].field[6].detailedtype ""
-datatype[4].id -1081574983
-datatype[4].documenttype[0].name "mail"
-datatype[4].documenttype[0].version 0
-datatype[4].documenttype[0].inherits[0].name "document"
-datatype[4].documenttype[0].inherits[0].version 0
-datatype[4].documenttype[0].headerstruct -88808602
-datatype[4].documenttype[0].bodystruct -953584901
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -88808602
+datatype[].structtype[].name "mail.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "URI"
+datatype[].structtype[].field[].datatype 10
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "mailid"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "date"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "from"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "replyto"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "to"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "cc"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "bcc"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "subject"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -1244861287
+datatype[].arraytype[].datatype 3
+datatype[].id -953584901
+datatype[].structtype[].name "mail.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "body"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "attachmentcount"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "attachmentnames"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "attachmenttypes"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "attachmentlanguages"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "attachmentcontent"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "attachments"
+datatype[].structtype[].field[].datatype -1244861287
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -1081574983
+datatype[].documenttype[].name "mail"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct -88808602
+datatype[].documenttype[].bodystruct -953584901
diff --git a/config-model/src/test/derived/mail/rank-profiles.cfg b/config-model/src/test/derived/mail/rank-profiles.cfg
index caca83a9a91..873d3c0cd49 100644
--- a/config-model/src/test/derived/mail/rank-profiles.cfg
+++ b/config-model/src/test/derived/mail/rank-profiles.cfg
@@ -1,10 +1,10 @@
-rankprofile[0].name "default"
-rankprofile[1].name "unranked"
-rankprofile[1].fef.property[0].name "vespa.rank.firstphase"
-rankprofile[1].fef.property[0].value "value(0)"
-rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize"
-rankprofile[1].fef.property[1].value "0"
-rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize"
-rankprofile[1].fef.property[2].value "0"
-rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures"
-rankprofile[1].fef.property[3].value "true" \ No newline at end of file
+rankprofile[].name "default"
+rankprofile[].name "unranked"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "value(0)"
+rankprofile[].fef.property[].name "vespa.hitcollector.heapsize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.hitcollector.arraysize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.dump.ignoredefaultfeatures"
+rankprofile[].fef.property[].value "true"
diff --git a/config-model/src/test/derived/mail/summary.cfg b/config-model/src/test/derived/mail/summary.cfg
index ac357a934ec..3628e1acb88 100644
--- a/config-model/src/test/derived/mail/summary.cfg
+++ b/config-model/src/test/derived/mail/summary.cfg
@@ -1,51 +1,51 @@
defaultsummaryid 1831052622
-classes[0].id 1831052622
-classes[0].name "default"
-classes[0].fields[0].name "snippet"
-classes[0].fields[0].type "longstring"
-classes[0].fields[1].name "URI"
-classes[0].fields[1].type "longstring"
-classes[0].fields[2].name "mailid"
-classes[0].fields[2].type "longstring"
-classes[0].fields[3].name "date"
-classes[0].fields[3].type "integer"
-classes[0].fields[4].name "from"
-classes[0].fields[4].type "longstring"
-classes[0].fields[5].name "replyto"
-classes[0].fields[5].type "longstring"
-classes[0].fields[6].name "to"
-classes[0].fields[6].type "longstring"
-classes[0].fields[7].name "subject"
-classes[0].fields[7].type "longstring"
-classes[0].fields[8].name "body"
-classes[0].fields[8].type "longstring"
-classes[0].fields[9].name "attachmentcount"
-classes[0].fields[9].type "integer"
-classes[0].fields[10].name "attachmentcontent"
-classes[0].fields[10].type "longstring"
-classes[0].fields[11].name "rankfeatures"
-classes[0].fields[11].type "featuredata"
-classes[0].fields[12].name "summaryfeatures"
-classes[0].fields[12].type "featuredata"
-classes[0].fields[13].name "documentid"
-classes[0].fields[13].type "longstring"
-classes[1].id 1971542976
-classes[1].name "mailid"
-classes[1].fields[0].name "URI"
-classes[1].fields[0].type "longstring"
-classes[1].fields[1].name "mailid"
-classes[1].fields[1].type "longstring"
-classes[1].fields[2].name "rankfeatures"
-classes[1].fields[2].type "featuredata"
-classes[1].fields[3].name "summaryfeatures"
-classes[1].fields[3].type "featuredata"
-classes[2].id 115170470
-classes[2].name "attributeprefetch"
-classes[2].fields[0].name "date"
-classes[2].fields[0].type "integer"
-classes[2].fields[1].name "attachmentcount"
-classes[2].fields[1].type "integer"
-classes[2].fields[2].name "rankfeatures"
-classes[2].fields[2].type "featuredata"
-classes[2].fields[3].name "summaryfeatures"
-classes[2].fields[3].type "featuredata" \ No newline at end of file
+classes[].id 1831052622
+classes[].name "default"
+classes[].fields[].name "snippet"
+classes[].fields[].type "longstring"
+classes[].fields[].name "URI"
+classes[].fields[].type "longstring"
+classes[].fields[].name "mailid"
+classes[].fields[].type "longstring"
+classes[].fields[].name "date"
+classes[].fields[].type "integer"
+classes[].fields[].name "from"
+classes[].fields[].type "longstring"
+classes[].fields[].name "replyto"
+classes[].fields[].type "longstring"
+classes[].fields[].name "to"
+classes[].fields[].type "longstring"
+classes[].fields[].name "subject"
+classes[].fields[].type "longstring"
+classes[].fields[].name "body"
+classes[].fields[].type "longstring"
+classes[].fields[].name "attachmentcount"
+classes[].fields[].type "integer"
+classes[].fields[].name "attachmentcontent"
+classes[].fields[].type "longstring"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "documentid"
+classes[].fields[].type "longstring"
+classes[].id 1971542976
+classes[].name "mailid"
+classes[].fields[].name "URI"
+classes[].fields[].type "longstring"
+classes[].fields[].name "mailid"
+classes[].fields[].type "longstring"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
+classes[].id 115170470
+classes[].name "attributeprefetch"
+classes[].fields[].name "date"
+classes[].fields[].type "integer"
+classes[].fields[].name "attachmentcount"
+classes[].fields[].type "integer"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
diff --git a/config-model/src/test/derived/mail/summarymap.cfg b/config-model/src/test/derived/mail/summarymap.cfg
index 2184e43d8eb..40444944e3a 100644
--- a/config-model/src/test/derived/mail/summarymap.cfg
+++ b/config-model/src/test/derived/mail/summarymap.cfg
@@ -1,16 +1,16 @@
defaultoutputclass -1
-override[0].field "snippet"
-override[0].command "dynamicteaser"
-override[0].arguments "snippet"
-override[1].field "date"
-override[1].command "attribute"
-override[1].arguments "date"
-override[2].field "attachmentcount"
-override[2].command "attribute"
-override[2].arguments "attachmentcount"
-override[3].field "rankfeatures"
-override[3].command "rankfeatures"
-override[3].arguments ""
-override[4].field "summaryfeatures"
-override[4].command "summaryfeatures"
-override[4].arguments "" \ No newline at end of file
+override[].field "snippet"
+override[].command "dynamicteaser"
+override[].arguments "snippet"
+override[].field "date"
+override[].command "attribute"
+override[].arguments "date"
+override[].field "attachmentcount"
+override[].command "attribute"
+override[].arguments "attachmentcount"
+override[].field "rankfeatures"
+override[].command "rankfeatures"
+override[].arguments ""
+override[].field "summaryfeatures"
+override[].command "summaryfeatures"
+override[].arguments ""
diff --git a/config-model/src/test/derived/mail/vsmfields.cfg b/config-model/src/test/derived/mail/vsmfields.cfg
index 1006d902cdd..ee39c24d8b4 100644
--- a/config-model/src/test/derived/mail/vsmfields.cfg
+++ b/config-model/src/test/derived/mail/vsmfields.cfg
@@ -1,108 +1,108 @@
documentverificationlevel 0
searchall 1
-fieldspec[0].name "URI"
-fieldspec[0].searchmethod AUTOUTF8
-fieldspec[0].arg1 ""
-fieldspec[1].name "mailid"
-fieldspec[1].searchmethod AUTOUTF8
-fieldspec[1].arg1 "prefix"
-fieldspec[2].name "date"
-fieldspec[2].searchmethod INT32
-fieldspec[2].arg1 ""
-fieldspec[3].name "from"
-fieldspec[3].searchmethod AUTOUTF8
-fieldspec[3].arg1 "prefix"
-fieldspec[4].name "replyto"
-fieldspec[4].searchmethod AUTOUTF8
-fieldspec[4].arg1 "prefix"
-fieldspec[5].name "to"
-fieldspec[5].searchmethod AUTOUTF8
-fieldspec[5].arg1 "prefix"
-fieldspec[6].name "cc"
-fieldspec[6].searchmethod AUTOUTF8
-fieldspec[6].arg1 "prefix"
-fieldspec[7].name "bcc"
-fieldspec[7].searchmethod AUTOUTF8
-fieldspec[7].arg1 "prefix"
-fieldspec[8].name "subject"
-fieldspec[8].searchmethod AUTOUTF8
-fieldspec[8].arg1 "prefix"
-fieldspec[9].name "snippet"
-fieldspec[9].searchmethod AUTOUTF8
-fieldspec[9].arg1 ""
-fieldspec[10].name "body"
-fieldspec[10].searchmethod AUTOUTF8
-fieldspec[10].arg1 "substring"
-fieldspec[11].name "attachmentcount"
-fieldspec[11].searchmethod INT32
-fieldspec[11].arg1 ""
-fieldspec[12].name "attachmentnames"
-fieldspec[12].searchmethod AUTOUTF8
-fieldspec[12].arg1 ""
-fieldspec[13].name "attachmenttypes"
-fieldspec[13].searchmethod AUTOUTF8
-fieldspec[13].arg1 ""
-fieldspec[14].name "attachmentlanguages"
-fieldspec[14].searchmethod AUTOUTF8
-fieldspec[14].arg1 "prefix"
-fieldspec[15].name "attachmentcontent"
-fieldspec[15].searchmethod AUTOUTF8
-fieldspec[15].arg1 "prefix"
-documenttype[0].name "mail"
-documenttype[0].index[0].name "mailid"
-documenttype[0].index[0].field[0].name "mailid"
-documenttype[0].index[1].name "date"
-documenttype[0].index[1].field[0].name "date"
-documenttype[0].index[2].name "from"
-documenttype[0].index[2].field[0].name "from"
-documenttype[0].index[3].name "sender"
-documenttype[0].index[3].field[0].name "from"
-documenttype[0].index[4].name "address"
-documenttype[0].index[4].field[0].name "from"
-documenttype[0].index[4].field[1].name "to"
-documenttype[0].index[4].field[2].name "cc"
-documenttype[0].index[5].name "header"
-documenttype[0].index[5].field[0].name "from"
-documenttype[0].index[5].field[1].name "to"
-documenttype[0].index[5].field[2].name "cc"
-documenttype[0].index[5].field[3].name "subject"
-documenttype[0].index[6].name "default"
-documenttype[0].index[6].field[0].name "from"
-documenttype[0].index[6].field[1].name "to"
-documenttype[0].index[6].field[2].name "cc"
-documenttype[0].index[6].field[3].name "subject"
-documenttype[0].index[6].field[4].name "body"
-documenttype[0].index[7].name "all"
-documenttype[0].index[7].field[0].name "from"
-documenttype[0].index[7].field[1].name "to"
-documenttype[0].index[7].field[2].name "cc"
-documenttype[0].index[7].field[3].name "subject"
-documenttype[0].index[7].field[4].name "body"
-documenttype[0].index[7].field[5].name "attachmentnames"
-documenttype[0].index[7].field[6].name "attachmenttypes"
-documenttype[0].index[7].field[7].name "attachmentcontent"
-documenttype[0].index[8].name "replyto"
-documenttype[0].index[8].field[0].name "replyto"
-documenttype[0].index[9].name "to"
-documenttype[0].index[9].field[0].name "to"
-documenttype[0].index[10].name "recipient"
-documenttype[0].index[10].field[0].name "to"
-documenttype[0].index[10].field[1].name "cc"
-documenttype[0].index[11].name "cc"
-documenttype[0].index[11].field[0].name "cc"
-documenttype[0].index[12].name "bcc"
-documenttype[0].index[12].field[0].name "bcc"
-documenttype[0].index[13].name "subject"
-documenttype[0].index[13].field[0].name "subject"
-documenttype[0].index[14].name "body"
-documenttype[0].index[14].field[0].name "body"
-documenttype[0].index[15].name "attachmentcount"
-documenttype[0].index[15].field[0].name "attachmentcount"
-documenttype[0].index[16].name "attachmentname"
-documenttype[0].index[16].field[0].name "attachmentnames"
-documenttype[0].index[17].name "attachmenttype"
-documenttype[0].index[17].field[0].name "attachmenttypes"
-documenttype[0].index[18].name "attachmentlanguages"
-documenttype[0].index[18].field[0].name "attachmentlanguages"
-documenttype[0].index[19].name "attachment"
-documenttype[0].index[19].field[0].name "attachmentcontent" \ No newline at end of file
+fieldspec[].name "URI"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name "mailid"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].name "date"
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].name "from"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].name "replyto"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].name "to"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].name "cc"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].name "bcc"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].name "subject"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].name "snippet"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name "body"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "substring"
+fieldspec[].name "attachmentcount"
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].name "attachmentnames"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name "attachmenttypes"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name "attachmentlanguages"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].name "attachmentcontent"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+documenttype[].name "mail"
+documenttype[].index[].name "mailid"
+documenttype[].index[].field[].name "mailid"
+documenttype[].index[].name "date"
+documenttype[].index[].field[].name "date"
+documenttype[].index[].name "from"
+documenttype[].index[].field[].name "from"
+documenttype[].index[].name "sender"
+documenttype[].index[].field[].name "from"
+documenttype[].index[].name "address"
+documenttype[].index[].field[].name "from"
+documenttype[].index[].field[].name "to"
+documenttype[].index[].field[].name "cc"
+documenttype[].index[].name "header"
+documenttype[].index[].field[].name "from"
+documenttype[].index[].field[].name "to"
+documenttype[].index[].field[].name "cc"
+documenttype[].index[].field[].name "subject"
+documenttype[].index[].name "default"
+documenttype[].index[].field[].name "from"
+documenttype[].index[].field[].name "to"
+documenttype[].index[].field[].name "cc"
+documenttype[].index[].field[].name "subject"
+documenttype[].index[].field[].name "body"
+documenttype[].index[].name "all"
+documenttype[].index[].field[].name "from"
+documenttype[].index[].field[].name "to"
+documenttype[].index[].field[].name "cc"
+documenttype[].index[].field[].name "subject"
+documenttype[].index[].field[].name "body"
+documenttype[].index[].field[].name "attachmentnames"
+documenttype[].index[].field[].name "attachmenttypes"
+documenttype[].index[].field[].name "attachmentcontent"
+documenttype[].index[].name "replyto"
+documenttype[].index[].field[].name "replyto"
+documenttype[].index[].name "to"
+documenttype[].index[].field[].name "to"
+documenttype[].index[].name "recipient"
+documenttype[].index[].field[].name "to"
+documenttype[].index[].field[].name "cc"
+documenttype[].index[].name "cc"
+documenttype[].index[].field[].name "cc"
+documenttype[].index[].name "bcc"
+documenttype[].index[].field[].name "bcc"
+documenttype[].index[].name "subject"
+documenttype[].index[].field[].name "subject"
+documenttype[].index[].name "body"
+documenttype[].index[].field[].name "body"
+documenttype[].index[].name "attachmentcount"
+documenttype[].index[].field[].name "attachmentcount"
+documenttype[].index[].name "attachmentname"
+documenttype[].index[].field[].name "attachmentnames"
+documenttype[].index[].name "attachmenttype"
+documenttype[].index[].field[].name "attachmenttypes"
+documenttype[].index[].name "attachmentlanguages"
+documenttype[].index[].field[].name "attachmentlanguages"
+documenttype[].index[].name "attachment"
+documenttype[].index[].field[].name "attachmentcontent"
diff --git a/config-model/src/test/derived/mail/vsmsummary.cfg b/config-model/src/test/derived/mail/vsmsummary.cfg
index 86de4babe13..195d2fe5626 100644
--- a/config-model/src/test/derived/mail/vsmsummary.cfg
+++ b/config-model/src/test/derived/mail/vsmsummary.cfg
@@ -1,38 +1,38 @@
outputclass ""
-fieldmap[0].summary "snippet"
-fieldmap[0].document[0].field "snippet"
-fieldmap[0].command FLATTENJUNIPER
-fieldmap[1].summary "URI"
-fieldmap[1].document[0].field "URI"
-fieldmap[1].command NONE
-fieldmap[2].summary "mailid"
-fieldmap[2].document[0].field "mailid"
-fieldmap[2].command NONE
-fieldmap[3].summary "date"
-fieldmap[3].document[0].field "date"
-fieldmap[3].command NONE
-fieldmap[4].summary "from"
-fieldmap[4].document[0].field "from"
-fieldmap[4].command NONE
-fieldmap[5].summary "replyto"
-fieldmap[5].document[0].field "replyto"
-fieldmap[5].command NONE
-fieldmap[6].summary "to"
-fieldmap[6].document[0].field "to"
-fieldmap[6].command NONE
-fieldmap[7].summary "subject"
-fieldmap[7].document[0].field "subject"
-fieldmap[7].command NONE
-fieldmap[8].summary "body"
-fieldmap[8].document[0].field "body"
-fieldmap[8].command NONE
-fieldmap[9].summary "attachmentcount"
-fieldmap[9].document[0].field "attachmentcount"
-fieldmap[9].command NONE
-fieldmap[10].summary "attachmentcontent"
-fieldmap[10].document[0].field "attachmentcontent"
-fieldmap[10].command NONE
-fieldmap[11].summary "rankfeatures"
-fieldmap[11].command NONE
-fieldmap[12].summary "summaryfeatures"
-fieldmap[12].command NONE \ No newline at end of file
+fieldmap[].summary "snippet"
+fieldmap[].document[].field "snippet"
+fieldmap[].command FLATTENJUNIPER
+fieldmap[].summary "URI"
+fieldmap[].document[].field "URI"
+fieldmap[].command NONE
+fieldmap[].summary "mailid"
+fieldmap[].document[].field "mailid"
+fieldmap[].command NONE
+fieldmap[].summary "date"
+fieldmap[].document[].field "date"
+fieldmap[].command NONE
+fieldmap[].summary "from"
+fieldmap[].document[].field "from"
+fieldmap[].command NONE
+fieldmap[].summary "replyto"
+fieldmap[].document[].field "replyto"
+fieldmap[].command NONE
+fieldmap[].summary "to"
+fieldmap[].document[].field "to"
+fieldmap[].command NONE
+fieldmap[].summary "subject"
+fieldmap[].document[].field "subject"
+fieldmap[].command NONE
+fieldmap[].summary "body"
+fieldmap[].document[].field "body"
+fieldmap[].command NONE
+fieldmap[].summary "attachmentcount"
+fieldmap[].document[].field "attachmentcount"
+fieldmap[].command NONE
+fieldmap[].summary "attachmentcontent"
+fieldmap[].document[].field "attachmentcontent"
+fieldmap[].command NONE
+fieldmap[].summary "rankfeatures"
+fieldmap[].command NONE
+fieldmap[].summary "summaryfeatures"
+fieldmap[].command NONE
diff --git a/config-model/src/test/derived/mlr/summary.cfg b/config-model/src/test/derived/mlr/summary.cfg
index 74f5ed567b9..cb5bf17df84 100644
--- a/config-model/src/test/derived/mlr/summary.cfg
+++ b/config-model/src/test/derived/mlr/summary.cfg
@@ -1,23 +1,23 @@
defaultsummaryid 1868876861
-classes[0].id 1868876861
-classes[0].name "default"
-classes[0].fields[0].name "a"
-classes[0].fields[0].type "longstring"
-classes[0].fields[1].name "b"
-classes[0].fields[1].type "longstring"
-classes[0].fields[2].name "rankfeatures"
-classes[0].fields[2].type "featuredata"
-classes[0].fields[3].name "summaryfeatures"
-classes[0].fields[3].type "featuredata"
-classes[0].fields[4].name "documentid"
-classes[0].fields[4].type "longstring"
-classes[1].id 1944325986
-classes[1].name "attributeprefetch"
-classes[1].fields[0].name "a"
-classes[1].fields[0].type "longstring"
-classes[1].fields[1].name "ranklog"
-classes[1].fields[1].type "longstring"
-classes[1].fields[2].name "rankfeatures"
-classes[1].fields[2].type "featuredata"
-classes[1].fields[3].name "summaryfeatures"
-classes[1].fields[3].type "featuredata" \ No newline at end of file
+classes[].id 1868876861
+classes[].name "default"
+classes[].fields[].name "a"
+classes[].fields[].type "longstring"
+classes[].fields[].name "b"
+classes[].fields[].type "longstring"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "documentid"
+classes[].fields[].type "longstring"
+classes[].id 1944325986
+classes[].name "attributeprefetch"
+classes[].fields[].name "a"
+classes[].fields[].type "longstring"
+classes[].fields[].name "ranklog"
+classes[].fields[].type "longstring"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
diff --git a/config-model/src/test/derived/multiplesummaries/index-info.cfg b/config-model/src/test/derived/multiplesummaries/index-info.cfg
index 5ad04f6c9f2..083c53fb5fb 100644
--- a/config-model/src/test/derived/multiplesummaries/index-info.cfg
+++ b/config-model/src/test/derived/multiplesummaries/index-info.cfg
@@ -22,41 +22,41 @@ indexinfo[multiplesummaries].command[08].command "index"
indexinfo[multiplesummaries].command[08].indexname "b"
indexinfo[multiplesummaries].command[09].command "index"
indexinfo[multiplesummaries].command[09].indexname "c"
-indexinfo[multiplesummaries].command[10].command "attribute"
-indexinfo[multiplesummaries].command[10].indexname "c"
-indexinfo[multiplesummaries].command[11].command "index"
-indexinfo[multiplesummaries].command[11].indexname "d"
-indexinfo[multiplesummaries].command[12].command "index"
-indexinfo[multiplesummaries].command[12].indexname "e"
-indexinfo[multiplesummaries].command[13].command "index"
-indexinfo[multiplesummaries].command[13].indexname "f"
-indexinfo[multiplesummaries].command[14].command "index"
-indexinfo[multiplesummaries].command[14].indexname "g"
-indexinfo[multiplesummaries].command[15].command "index"
-indexinfo[multiplesummaries].command[15].indexname "h"
-indexinfo[multiplesummaries].command[16].command "index"
-indexinfo[multiplesummaries].command[16].indexname "loc"
-indexinfo[multiplesummaries].command[17].command "default-position"
-indexinfo[multiplesummaries].command[17].indexname "loc_pos"
-indexinfo[multiplesummaries].command[18].command "index"
-indexinfo[multiplesummaries].command[18].indexname "loc_pos"
-indexinfo[multiplesummaries].command[19].command "index"
-indexinfo[multiplesummaries].command[19].indexname "loc_pos_zcurve"
-indexinfo[multiplesummaries].command[20].command "attribute"
-indexinfo[multiplesummaries].command[20].indexname "loc_pos_zcurve"
-indexinfo[multiplesummaries].command[21].command "dynteaser"
-indexinfo[multiplesummaries].command[21].indexname "adynamic"
-indexinfo[multiplesummaries].command[22].command "highlight"
-indexinfo[multiplesummaries].command[22].indexname "d"
-indexinfo[multiplesummaries].command[23].command "dynteaser"
-indexinfo[multiplesummaries].command[23].indexname "adynamic2"
-indexinfo[multiplesummaries].command[24].command "highlight"
-indexinfo[multiplesummaries].command[24].indexname "abolded2"
-indexinfo[multiplesummaries].command[25].command "dynteaser"
-indexinfo[multiplesummaries].command[25].indexname "aboldeddynamic"
-indexinfo[multiplesummaries].command[26].command "highlight"
-indexinfo[multiplesummaries].command[26].indexname "aboldeddynamic"
-indexinfo[multiplesummaries].command[27].command "highlight"
-indexinfo[multiplesummaries].command[27].indexname "abolded"
-indexinfo[multiplesummaries].command[28].command "dynteaser"
-indexinfo[multiplesummaries].command[28].indexname "dynamice"
+indexinfo[multiplesummaries].command[].command "attribute"
+indexinfo[multiplesummaries].command[].indexname "c"
+indexinfo[multiplesummaries].command[].command "index"
+indexinfo[multiplesummaries].command[].indexname "d"
+indexinfo[multiplesummaries].command[].command "index"
+indexinfo[multiplesummaries].command[].indexname "e"
+indexinfo[multiplesummaries].command[].command "index"
+indexinfo[multiplesummaries].command[].indexname "f"
+indexinfo[multiplesummaries].command[].command "index"
+indexinfo[multiplesummaries].command[].indexname "g"
+indexinfo[multiplesummaries].command[].command "index"
+indexinfo[multiplesummaries].command[].indexname "h"
+indexinfo[multiplesummaries].command[].command "index"
+indexinfo[multiplesummaries].command[].indexname "loc"
+indexinfo[multiplesummaries].command[].command "default-position"
+indexinfo[multiplesummaries].command[].indexname "loc_pos"
+indexinfo[multiplesummaries].command[].command "index"
+indexinfo[multiplesummaries].command[].indexname "loc_pos"
+indexinfo[multiplesummaries].command[].command "index"
+indexinfo[multiplesummaries].command[].indexname "loc_pos_zcurve"
+indexinfo[multiplesummaries].command[].command "attribute"
+indexinfo[multiplesummaries].command[].indexname "loc_pos_zcurve"
+indexinfo[multiplesummaries].command[].command "dynteaser"
+indexinfo[multiplesummaries].command[].indexname "adynamic"
+indexinfo[multiplesummaries].command[].command "highlight"
+indexinfo[multiplesummaries].command[].indexname "d"
+indexinfo[multiplesummaries].command[].command "dynteaser"
+indexinfo[multiplesummaries].command[].indexname "adynamic2"
+indexinfo[multiplesummaries].command[].command "highlight"
+indexinfo[multiplesummaries].command[].indexname "abolded2"
+indexinfo[multiplesummaries].command[].command "dynteaser"
+indexinfo[multiplesummaries].command[].indexname "aboldeddynamic"
+indexinfo[multiplesummaries].command[].command "highlight"
+indexinfo[multiplesummaries].command[].indexname "aboldeddynamic"
+indexinfo[multiplesummaries].command[].command "highlight"
+indexinfo[multiplesummaries].command[].indexname "abolded"
+indexinfo[multiplesummaries].command[].command "dynteaser"
+indexinfo[multiplesummaries].command[].indexname "dynamice"
diff --git a/config-model/src/test/derived/multiplesummaries/juniperrc.cfg b/config-model/src/test/derived/multiplesummaries/juniperrc.cfg
index 79d57c7519c..79d57c7519c 100755..100644
--- a/config-model/src/test/derived/multiplesummaries/juniperrc.cfg
+++ b/config-model/src/test/derived/multiplesummaries/juniperrc.cfg
diff --git a/config-model/src/test/derived/music/attributes.cfg b/config-model/src/test/derived/music/attributes.cfg
index 8feab83fe7f..dbc519f2da9 100644
--- a/config-model/src/test/derived/music/attributes.cfg
+++ b/config-model/src/test/derived/music/attributes.cfg
@@ -1,220 +1,220 @@
-attribute[0].name "sales"
-attribute[0].datatype INT32
-attribute[0].collectiontype SINGLE
-attribute[0].removeifzero false
-attribute[0].createifnonexistent false
-attribute[0].fastsearch false
-attribute[0].huge false
-attribute[0].sortascending true
-attribute[0].sortfunction UCA
-attribute[0].sortstrength PRIMARY
-attribute[0].sortlocale ""
-attribute[0].enablebitvectors false
-attribute[0].enableonlybitvector false
-attribute[0].fastaccess false
-attribute[0].arity 8
-attribute[0].lowerbound -9223372036854775808
-attribute[0].upperbound 9223372036854775807
-attribute[0].densepostinglistthreshold 0.4
-attribute[0].tensortype ""
-attribute[0].imported false
-attribute[1].name "pto"
-attribute[1].datatype INT32
-attribute[1].collectiontype SINGLE
-attribute[1].removeifzero false
-attribute[1].createifnonexistent false
-attribute[1].fastsearch false
-attribute[1].huge false
-attribute[1].sortascending true
-attribute[1].sortfunction UCA
-attribute[1].sortstrength PRIMARY
-attribute[1].sortlocale ""
-attribute[1].enablebitvectors false
-attribute[1].enableonlybitvector false
-attribute[1].fastaccess false
-attribute[1].arity 8
-attribute[1].lowerbound -9223372036854775808
-attribute[1].upperbound 9223372036854775807
-attribute[1].densepostinglistthreshold 0.4
-attribute[1].tensortype ""
-attribute[1].imported false
-attribute[2].name "mid"
-attribute[2].datatype INT32
-attribute[2].collectiontype SINGLE
-attribute[2].removeifzero false
-attribute[2].createifnonexistent false
-attribute[2].fastsearch false
-attribute[2].huge false
-attribute[2].sortascending true
-attribute[2].sortfunction UCA
-attribute[2].sortstrength PRIMARY
-attribute[2].sortlocale ""
-attribute[2].enablebitvectors false
-attribute[2].enableonlybitvector false
-attribute[2].fastaccess false
-attribute[2].arity 8
-attribute[2].lowerbound -9223372036854775808
-attribute[2].upperbound 9223372036854775807
-attribute[2].densepostinglistthreshold 0.4
-attribute[2].tensortype ""
-attribute[2].imported false
-attribute[3].name "weight"
-attribute[3].datatype FLOAT
-attribute[3].collectiontype SINGLE
-attribute[3].removeifzero false
-attribute[3].createifnonexistent false
-attribute[3].fastsearch false
-attribute[3].huge false
-attribute[3].sortascending true
-attribute[3].sortfunction UCA
-attribute[3].sortstrength PRIMARY
-attribute[3].sortlocale ""
-attribute[3].enablebitvectors false
-attribute[3].enableonlybitvector false
-attribute[3].fastaccess false
-attribute[3].arity 8
-attribute[3].lowerbound -9223372036854775808
-attribute[3].upperbound 9223372036854775807
-attribute[3].densepostinglistthreshold 0.4
-attribute[3].tensortype ""
-attribute[3].imported false
-attribute[4].name "bgnpfrom"
-attribute[4].datatype FLOAT
-attribute[4].collectiontype SINGLE
-attribute[4].removeifzero false
-attribute[4].createifnonexistent false
-attribute[4].fastsearch false
-attribute[4].huge false
-attribute[4].sortascending true
-attribute[4].sortfunction UCA
-attribute[4].sortstrength PRIMARY
-attribute[4].sortlocale ""
-attribute[4].enablebitvectors false
-attribute[4].enableonlybitvector false
-attribute[4].fastaccess false
-attribute[4].arity 8
-attribute[4].lowerbound -9223372036854775808
-attribute[4].upperbound 9223372036854775807
-attribute[4].densepostinglistthreshold 0.4
-attribute[4].tensortype ""
-attribute[4].imported false
-attribute[5].name "newestedition"
-attribute[5].datatype INT32
-attribute[5].collectiontype SINGLE
-attribute[5].removeifzero false
-attribute[5].createifnonexistent false
-attribute[5].fastsearch false
-attribute[5].huge false
-attribute[5].sortascending true
-attribute[5].sortfunction UCA
-attribute[5].sortstrength PRIMARY
-attribute[5].sortlocale ""
-attribute[5].enablebitvectors false
-attribute[5].enableonlybitvector false
-attribute[5].fastaccess false
-attribute[5].arity 8
-attribute[5].lowerbound -9223372036854775808
-attribute[5].upperbound 9223372036854775807
-attribute[5].densepostinglistthreshold 0.4
-attribute[5].tensortype ""
-attribute[5].imported false
-attribute[6].name "year"
-attribute[6].datatype INT32
-attribute[6].collectiontype SINGLE
-attribute[6].removeifzero false
-attribute[6].createifnonexistent false
-attribute[6].fastsearch false
-attribute[6].huge false
-attribute[6].sortascending true
-attribute[6].sortfunction UCA
-attribute[6].sortstrength PRIMARY
-attribute[6].sortlocale ""
-attribute[6].enablebitvectors false
-attribute[6].enableonlybitvector false
-attribute[6].fastaccess false
-attribute[6].arity 8
-attribute[6].lowerbound -9223372036854775808
-attribute[6].upperbound 9223372036854775807
-attribute[6].densepostinglistthreshold 0.4
-attribute[6].tensortype ""
-attribute[6].imported false
-attribute[7].name "did"
-attribute[7].datatype INT32
-attribute[7].collectiontype SINGLE
-attribute[7].removeifzero false
-attribute[7].createifnonexistent false
-attribute[7].fastsearch false
-attribute[7].huge false
-attribute[7].sortascending true
-attribute[7].sortfunction UCA
-attribute[7].sortstrength PRIMARY
-attribute[7].sortlocale ""
-attribute[7].enablebitvectors false
-attribute[7].enableonlybitvector false
-attribute[7].fastaccess false
-attribute[7].arity 8
-attribute[7].lowerbound -9223372036854775808
-attribute[7].upperbound 9223372036854775807
-attribute[7].densepostinglistthreshold 0.4
-attribute[7].tensortype ""
-attribute[7].imported false
-attribute[8].name "cbid"
-attribute[8].datatype INT32
-attribute[8].collectiontype SINGLE
-attribute[8].removeifzero false
-attribute[8].createifnonexistent false
-attribute[8].fastsearch false
-attribute[8].huge false
-attribute[8].sortascending true
-attribute[8].sortfunction UCA
-attribute[8].sortstrength PRIMARY
-attribute[8].sortlocale ""
-attribute[8].enablebitvectors false
-attribute[8].enableonlybitvector false
-attribute[8].fastaccess false
-attribute[8].arity 8
-attribute[8].lowerbound -9223372036854775808
-attribute[8].upperbound 9223372036854775807
-attribute[8].densepostinglistthreshold 0.4
-attribute[8].tensortype ""
-attribute[8].imported false
-attribute[9].name "hiphopvalue_arr"
-attribute[9].datatype STRING
-attribute[9].collectiontype ARRAY
-attribute[9].removeifzero false
-attribute[9].createifnonexistent false
-attribute[9].fastsearch false
-attribute[9].huge false
-attribute[9].sortascending true
-attribute[9].sortfunction UCA
-attribute[9].sortstrength PRIMARY
-attribute[9].sortlocale ""
-attribute[9].enablebitvectors false
-attribute[9].enableonlybitvector false
-attribute[9].fastaccess false
-attribute[9].arity 8
-attribute[9].lowerbound -9223372036854775808
-attribute[9].upperbound 9223372036854775807
-attribute[9].densepostinglistthreshold 0.4
-attribute[9].tensortype ""
-attribute[9].imported false
-attribute[10].name "metalvalue_arr"
-attribute[10].datatype STRING
-attribute[10].collectiontype ARRAY
-attribute[10].removeifzero false
-attribute[10].createifnonexistent false
-attribute[10].fastsearch false
-attribute[10].huge false
-attribute[10].sortascending true
-attribute[10].sortfunction UCA
-attribute[10].sortstrength PRIMARY
-attribute[10].sortlocale ""
-attribute[10].enablebitvectors false
-attribute[10].enableonlybitvector false
-attribute[10].fastaccess false
-attribute[10].arity 8
-attribute[10].lowerbound -9223372036854775808
-attribute[10].upperbound 9223372036854775807
-attribute[10].densepostinglistthreshold 0.4
-attribute[10].tensortype ""
-attribute[10].imported false \ No newline at end of file
+attribute[].name "sales"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "pto"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "mid"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "weight"
+attribute[].datatype FLOAT
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "bgnpfrom"
+attribute[].datatype FLOAT
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "newestedition"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "year"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "did"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "cbid"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "hiphopvalue_arr"
+attribute[].datatype STRING
+attribute[].collectiontype ARRAY
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "metalvalue_arr"
+attribute[].datatype STRING
+attribute[].collectiontype ARRAY
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
diff --git a/config-model/src/test/derived/music/ilscripts.cfg b/config-model/src/test/derived/music/ilscripts.cfg
index 1df8a818484..2c7affa35d2 100644
--- a/config-model/src/test/derived/music/ilscripts.cfg
+++ b/config-model/src/test/derived/music/ilscripts.cfg
@@ -1,77 +1,77 @@
maxtermoccurrences 100
fieldmatchmaxlength 1000000
-ilscript[0].doctype "music"
-ilscript[0].docfield[0] "bgndata"
-ilscript[0].docfield[1] "sales"
-ilscript[0].docfield[2] "pto"
-ilscript[0].docfield[3] "keys"
-ilscript[0].docfield[4] "mid"
-ilscript[0].docfield[5] "ew"
-ilscript[0].docfield[6] "surl"
-ilscript[0].docfield[7] "userrate"
-ilscript[0].docfield[8] "pid"
-ilscript[0].docfield[9] "weight"
-ilscript[0].docfield[10] "url"
-ilscript[0].docfield[11] "isbn"
-ilscript[0].docfield[12] "fmt"
-ilscript[0].docfield[13] "albumid"
-ilscript[0].docfield[14] "disp_song"
-ilscript[0].docfield[15] "song"
-ilscript[0].docfield[16] "pfrom"
-ilscript[0].docfield[17] "bgnpfrom"
-ilscript[0].docfield[18] "categories"
-ilscript[0].docfield[19] "data"
-ilscript[0].docfield[20] "numreview"
-ilscript[0].docfield[21] "bgnsellers"
-ilscript[0].docfield[22] "image"
-ilscript[0].docfield[23] "artist"
-ilscript[0].docfield[24] "artistspid"
-ilscript[0].docfield[25] "title"
-ilscript[0].docfield[26] "newestedition"
-ilscript[0].docfield[27] "bgnpto"
-ilscript[0].docfield[28] "year"
-ilscript[0].docfield[29] "did"
-ilscript[0].docfield[30] "scorekey"
-ilscript[0].docfield[31] "cbid"
-ilscript[0].docfield[32] "metalvalue"
-ilscript[0].docfield[33] "hiphopvalue"
-ilscript[0].docfield[34] "powermetalvalue"
-ilscript[0].docfield[35] "progvalue"
-ilscript[0].content[0] "clear_state | guard { input hiphopvalue | split \";\" | attribute hiphopvalue_arr; }"
-ilscript[0].content[1] "clear_state | guard { input metalvalue | split \";\" | attribute metalvalue_arr; }"
-ilscript[0].content[2] "clear_state | guard { input bgndata | tokenize normalize stem:\"SHORTEST\" | summary bgndata; }"
-ilscript[0].content[3] "clear_state | guard { input sales | summary sales | attribute sales; }"
-ilscript[0].content[4] "clear_state | guard { input pto | summary pto | attribute pto; }"
-ilscript[0].content[5] "clear_state | guard { input keys | tokenize normalize stem:\"SHORTEST\" | index keys; }"
-ilscript[0].content[6] "clear_state | guard { input mid | summary mid | attribute mid; }"
-ilscript[0].content[7] "clear_state | guard { input ew | tokenize normalize stem:\"SHORTEST\" | summary ew | index ew; }"
-ilscript[0].content[8] "clear_state | guard { input surl | summary surl; }"
-ilscript[0].content[9] "clear_state | guard { input userrate | summary userrate; }"
-ilscript[0].content[10] "clear_state | guard { input pid | summary pid; }"
-ilscript[0].content[11] "clear_state | guard { input weight | summary weight | attribute weight; }"
-ilscript[0].content[12] "clear_state | guard { input url | summary url; }"
-ilscript[0].content[13] "clear_state | guard { input isbn | summary isbn; }"
-ilscript[0].content[14] "clear_state | guard { input fmt | tokenize normalize stem:\"SHORTEST\" | summary fmt | index fmt; }"
-ilscript[0].content[15] "clear_state | guard { input albumid | summary albumid; }"
-ilscript[0].content[16] "clear_state | guard { input disp_song | summary disp_song; }"
-ilscript[0].content[17] "clear_state | guard { input song | tokenize normalize stem:\"SHORTEST\" | summary song | index song; }"
-ilscript[0].content[18] "clear_state | guard { input pfrom | summary pfrom; }"
-ilscript[0].content[19] "clear_state | guard { input bgnpfrom | summary bgnpfrom | attribute bgnpfrom; }"
-ilscript[0].content[20] "clear_state | guard { input categories | tokenize normalize stem:\"SHORTEST\" | summary categories | index categories; }"
-ilscript[0].content[21] "clear_state | guard { input data | summary data; }"
-ilscript[0].content[22] "clear_state | guard { input numreview | summary numreview; }"
-ilscript[0].content[23] "clear_state | guard { input bgnsellers | summary bgnsellers; }"
-ilscript[0].content[24] "clear_state | guard { input image | summary image; }"
-ilscript[0].content[25] "clear_state | guard { input artist | tokenize normalize stem:\"SHORTEST\" | summary artist | index artist; }"
-ilscript[0].content[26] "clear_state | guard { input artistspid | summary artistspid; }"
-ilscript[0].content[27] "clear_state | guard { input title | tokenize normalize stem:\"SHORTEST\" | summary title | index title; }"
-ilscript[0].content[28] "clear_state | guard { input newestedition | summary newestedition | attribute newestedition; }"
-ilscript[0].content[29] "clear_state | guard { input bgnpto | tokenize normalize stem:\"SHORTEST\" | summary bgnpto; }"
-ilscript[0].content[30] "clear_state | guard { input year | summary year | attribute year; }"
-ilscript[0].content[31] "clear_state | guard { input did | summary did | attribute did; }"
-ilscript[0].content[32] "clear_state | guard { input scorekey | summary scorekey; }"
-ilscript[0].content[33] "clear_state | guard { input cbid | summary cbid | attribute cbid; }"
-ilscript[0].content[34] "clear_state | guard { input metalvalue | summary metalvalue; }"
-ilscript[0].content[35] "clear_state | guard { input hiphopvalue | summary hiphopvalue; }"
-ilscript[0].content[36] "clear_state | guard { input powermetalvalue | tokenize normalize stem:\"SHORTEST\" | index powermetalvalue | summary powermetalvalue; }"
-ilscript[0].content[37] "clear_state | guard { input progvalue | tokenize normalize stem:\"SHORTEST\" | index progvalue | summary progvalue; }"
+ilscript[].doctype "music"
+ilscript[].docfield[0] "bgndata"
+ilscript[].docfield[1] "sales"
+ilscript[].docfield[2] "pto"
+ilscript[].docfield[3] "keys"
+ilscript[].docfield[4] "mid"
+ilscript[].docfield[5] "ew"
+ilscript[].docfield[6] "surl"
+ilscript[].docfield[7] "userrate"
+ilscript[].docfield[8] "pid"
+ilscript[].docfield[9] "weight"
+ilscript[].docfield[10] "url"
+ilscript[].docfield[11] "isbn"
+ilscript[].docfield[12] "fmt"
+ilscript[].docfield[13] "albumid"
+ilscript[].docfield[14] "disp_song"
+ilscript[].docfield[15] "song"
+ilscript[].docfield[16] "pfrom"
+ilscript[].docfield[17] "bgnpfrom"
+ilscript[].docfield[18] "categories"
+ilscript[].docfield[19] "data"
+ilscript[].docfield[20] "numreview"
+ilscript[].docfield[21] "bgnsellers"
+ilscript[].docfield[22] "image"
+ilscript[].docfield[23] "artist"
+ilscript[].docfield[24] "artistspid"
+ilscript[].docfield[25] "title"
+ilscript[].docfield[26] "newestedition"
+ilscript[].docfield[27] "bgnpto"
+ilscript[].docfield[28] "year"
+ilscript[].docfield[29] "did"
+ilscript[].docfield[30] "scorekey"
+ilscript[].docfield[31] "cbid"
+ilscript[].docfield[32] "metalvalue"
+ilscript[].docfield[33] "hiphopvalue"
+ilscript[].docfield[34] "powermetalvalue"
+ilscript[].docfield[35] "progvalue"
+ilscript[].content[0] "clear_state | guard { input hiphopvalue | split \";\" | attribute hiphopvalue_arr; }"
+ilscript[].content[1] "clear_state | guard { input metalvalue | split \";\" | attribute metalvalue_arr; }"
+ilscript[].content[2] "clear_state | guard { input bgndata | tokenize normalize stem:\"SHORTEST\" | summary bgndata; }"
+ilscript[].content[3] "clear_state | guard { input sales | summary sales | attribute sales; }"
+ilscript[].content[4] "clear_state | guard { input pto | summary pto | attribute pto; }"
+ilscript[].content[5] "clear_state | guard { input keys | tokenize normalize stem:\"SHORTEST\" | index keys; }"
+ilscript[].content[6] "clear_state | guard { input mid | summary mid | attribute mid; }"
+ilscript[].content[7] "clear_state | guard { input ew | tokenize normalize stem:\"SHORTEST\" | summary ew | index ew; }"
+ilscript[].content[8] "clear_state | guard { input surl | summary surl; }"
+ilscript[].content[9] "clear_state | guard { input userrate | summary userrate; }"
+ilscript[].content[10] "clear_state | guard { input pid | summary pid; }"
+ilscript[].content[11] "clear_state | guard { input weight | summary weight | attribute weight; }"
+ilscript[].content[12] "clear_state | guard { input url | summary url; }"
+ilscript[].content[13] "clear_state | guard { input isbn | summary isbn; }"
+ilscript[].content[14] "clear_state | guard { input fmt | tokenize normalize stem:\"SHORTEST\" | summary fmt | index fmt; }"
+ilscript[].content[15] "clear_state | guard { input albumid | summary albumid; }"
+ilscript[].content[16] "clear_state | guard { input disp_song | summary disp_song; }"
+ilscript[].content[17] "clear_state | guard { input song | tokenize normalize stem:\"SHORTEST\" | summary song | index song; }"
+ilscript[].content[18] "clear_state | guard { input pfrom | summary pfrom; }"
+ilscript[].content[19] "clear_state | guard { input bgnpfrom | summary bgnpfrom | attribute bgnpfrom; }"
+ilscript[].content[20] "clear_state | guard { input categories | tokenize normalize stem:\"SHORTEST\" | summary categories | index categories; }"
+ilscript[].content[21] "clear_state | guard { input data | summary data; }"
+ilscript[].content[22] "clear_state | guard { input numreview | summary numreview; }"
+ilscript[].content[23] "clear_state | guard { input bgnsellers | summary bgnsellers; }"
+ilscript[].content[24] "clear_state | guard { input image | summary image; }"
+ilscript[].content[25] "clear_state | guard { input artist | tokenize normalize stem:\"SHORTEST\" | summary artist | index artist; }"
+ilscript[].content[26] "clear_state | guard { input artistspid | summary artistspid; }"
+ilscript[].content[27] "clear_state | guard { input title | tokenize normalize stem:\"SHORTEST\" | summary title | index title; }"
+ilscript[].content[28] "clear_state | guard { input newestedition | summary newestedition | attribute newestedition; }"
+ilscript[].content[29] "clear_state | guard { input bgnpto | tokenize normalize stem:\"SHORTEST\" | summary bgnpto; }"
+ilscript[].content[30] "clear_state | guard { input year | summary year | attribute year; }"
+ilscript[].content[31] "clear_state | guard { input did | summary did | attribute did; }"
+ilscript[].content[32] "clear_state | guard { input scorekey | summary scorekey; }"
+ilscript[].content[33] "clear_state | guard { input cbid | summary cbid | attribute cbid; }"
+ilscript[].content[34] "clear_state | guard { input metalvalue | summary metalvalue; }"
+ilscript[].content[35] "clear_state | guard { input hiphopvalue | summary hiphopvalue; }"
+ilscript[].content[36] "clear_state | guard { input powermetalvalue | tokenize normalize stem:\"SHORTEST\" | index powermetalvalue | summary powermetalvalue; }"
+ilscript[].content[37] "clear_state | guard { input progvalue | tokenize normalize stem:\"SHORTEST\" | index progvalue | summary progvalue; }"
diff --git a/config-model/src/test/derived/music/index-info.cfg b/config-model/src/test/derived/music/index-info.cfg
index e760acf0e52..9d4102a88cf 100644
--- a/config-model/src/test/derived/music/index-info.cfg
+++ b/config-model/src/test/derived/music/index-info.cfg
@@ -1,235 +1,235 @@
-indexinfo[0].name "music"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "bgndata"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "sales"
-indexinfo[0].command[3].command "index"
-indexinfo[0].command[4].indexname "sales"
-indexinfo[0].command[4].command "attribute"
-indexinfo[0].command[5].indexname "sales"
-indexinfo[0].command[5].command "numerical"
-indexinfo[0].command[6].indexname "pto"
-indexinfo[0].command[6].command "index"
-indexinfo[0].command[7].indexname "pto"
-indexinfo[0].command[7].command "attribute"
-indexinfo[0].command[8].indexname "pto"
-indexinfo[0].command[8].command "numerical"
-indexinfo[0].command[9].indexname "keys"
-indexinfo[0].command[9].command "index"
-indexinfo[0].command[10].indexname "keys"
-indexinfo[0].command[10].command "lowercase"
-indexinfo[0].command[11].indexname "keys"
-indexinfo[0].command[11].command "stem:SHORTEST"
-indexinfo[0].command[12].indexname "keys"
-indexinfo[0].command[12].command "normalize"
-indexinfo[0].command[13].indexname "keys"
-indexinfo[0].command[13].command "plain-tokens"
-indexinfo[0].command[14].indexname "mid"
-indexinfo[0].command[14].command "index"
-indexinfo[0].command[15].indexname "mid"
-indexinfo[0].command[15].command "attribute"
-indexinfo[0].command[16].indexname "mid"
-indexinfo[0].command[16].command "numerical"
-indexinfo[0].command[17].indexname "ew"
-indexinfo[0].command[17].command "index"
-indexinfo[0].command[18].indexname "ew"
-indexinfo[0].command[18].command "lowercase"
-indexinfo[0].command[19].indexname "ew"
-indexinfo[0].command[19].command "stem:SHORTEST"
-indexinfo[0].command[20].indexname "ew"
-indexinfo[0].command[20].command "normalize"
-indexinfo[0].command[21].indexname "ew"
-indexinfo[0].command[21].command "plain-tokens"
-indexinfo[0].command[22].indexname "surl"
-indexinfo[0].command[22].command "index"
-indexinfo[0].command[23].indexname "userrate"
-indexinfo[0].command[23].command "index"
-indexinfo[0].command[24].indexname "userrate"
-indexinfo[0].command[24].command "numerical"
-indexinfo[0].command[25].indexname "pid"
-indexinfo[0].command[25].command "index"
-indexinfo[0].command[26].indexname "weight"
-indexinfo[0].command[26].command "index"
-indexinfo[0].command[27].indexname "weight"
-indexinfo[0].command[27].command "attribute"
-indexinfo[0].command[28].indexname "weight"
-indexinfo[0].command[28].command "numerical"
-indexinfo[0].command[29].indexname "url"
-indexinfo[0].command[29].command "index"
-indexinfo[0].command[30].indexname "isbn"
-indexinfo[0].command[30].command "index"
-indexinfo[0].command[31].indexname "fmt"
-indexinfo[0].command[31].command "index"
-indexinfo[0].command[32].indexname "fmt"
-indexinfo[0].command[32].command "lowercase"
-indexinfo[0].command[33].indexname "fmt"
-indexinfo[0].command[33].command "stem:SHORTEST"
-indexinfo[0].command[34].indexname "fmt"
-indexinfo[0].command[34].command "normalize"
-indexinfo[0].command[35].indexname "fmt"
-indexinfo[0].command[35].command "plain-tokens"
-indexinfo[0].command[36].indexname "albumid"
-indexinfo[0].command[36].command "index"
-indexinfo[0].command[37].indexname "disp_song"
-indexinfo[0].command[37].command "index"
-indexinfo[0].command[38].indexname "song"
-indexinfo[0].command[38].command "index"
-indexinfo[0].command[39].indexname "song"
-indexinfo[0].command[39].command "lowercase"
-indexinfo[0].command[40].indexname "song"
-indexinfo[0].command[40].command "stem:SHORTEST"
-indexinfo[0].command[41].indexname "song"
-indexinfo[0].command[41].command "normalize"
-indexinfo[0].command[42].indexname "song"
-indexinfo[0].command[42].command "plain-tokens"
-indexinfo[0].command[43].indexname "pfrom"
-indexinfo[0].command[43].command "index"
-indexinfo[0].command[44].indexname "pfrom"
-indexinfo[0].command[44].command "numerical"
-indexinfo[0].command[45].indexname "bgnpfrom"
-indexinfo[0].command[45].command "index"
-indexinfo[0].command[46].indexname "bgnpfrom"
-indexinfo[0].command[46].command "attribute"
-indexinfo[0].command[47].indexname "bgnpfrom"
-indexinfo[0].command[47].command "numerical"
-indexinfo[0].command[48].indexname "categories"
-indexinfo[0].command[48].command "index"
-indexinfo[0].command[49].indexname "categories"
-indexinfo[0].command[49].command "lowercase"
-indexinfo[0].command[50].indexname "categories"
-indexinfo[0].command[50].command "stem:SHORTEST"
-indexinfo[0].command[51].indexname "categories"
-indexinfo[0].command[51].command "normalize"
-indexinfo[0].command[52].indexname "categories"
-indexinfo[0].command[52].command "plain-tokens"
-indexinfo[0].command[53].indexname "data"
-indexinfo[0].command[53].command "index"
-indexinfo[0].command[54].indexname "numreview"
-indexinfo[0].command[54].command "index"
-indexinfo[0].command[55].indexname "numreview"
-indexinfo[0].command[55].command "numerical"
-indexinfo[0].command[56].indexname "bgnsellers"
-indexinfo[0].command[56].command "index"
-indexinfo[0].command[57].indexname "bgnsellers"
-indexinfo[0].command[57].command "numerical"
-indexinfo[0].command[58].indexname "image"
-indexinfo[0].command[58].command "index"
-indexinfo[0].command[59].indexname "artist"
-indexinfo[0].command[59].command "index"
-indexinfo[0].command[60].indexname "artist"
-indexinfo[0].command[60].command "lowercase"
-indexinfo[0].command[61].indexname "artist"
-indexinfo[0].command[61].command "stem:SHORTEST"
-indexinfo[0].command[62].indexname "artist"
-indexinfo[0].command[62].command "normalize"
-indexinfo[0].command[63].indexname "artist"
-indexinfo[0].command[63].command "plain-tokens"
-indexinfo[0].command[64].indexname "artistspid"
-indexinfo[0].command[64].command "index"
-indexinfo[0].command[65].indexname "title"
-indexinfo[0].command[65].command "index"
-indexinfo[0].command[66].indexname "title"
-indexinfo[0].command[66].command "lowercase"
-indexinfo[0].command[67].indexname "title"
-indexinfo[0].command[67].command "stem:SHORTEST"
-indexinfo[0].command[68].indexname "title"
-indexinfo[0].command[68].command "normalize"
-indexinfo[0].command[69].indexname "title"
-indexinfo[0].command[69].command "plain-tokens"
-indexinfo[0].command[70].indexname "newestedition"
-indexinfo[0].command[70].command "index"
-indexinfo[0].command[71].indexname "newestedition"
-indexinfo[0].command[71].command "attribute"
-indexinfo[0].command[72].indexname "newestedition"
-indexinfo[0].command[72].command "numerical"
-indexinfo[0].command[73].indexname "bgnpto"
-indexinfo[0].command[73].command "index"
-indexinfo[0].command[74].indexname "year"
-indexinfo[0].command[74].command "index"
-indexinfo[0].command[75].indexname "year"
-indexinfo[0].command[75].command "attribute"
-indexinfo[0].command[76].indexname "year"
-indexinfo[0].command[76].command "numerical"
-indexinfo[0].command[77].indexname "did"
-indexinfo[0].command[77].command "index"
-indexinfo[0].command[78].indexname "did"
-indexinfo[0].command[78].command "attribute"
-indexinfo[0].command[79].indexname "did"
-indexinfo[0].command[79].command "numerical"
-indexinfo[0].command[80].indexname "scorekey"
-indexinfo[0].command[80].command "index"
-indexinfo[0].command[81].indexname "scorekey"
-indexinfo[0].command[81].command "numerical"
-indexinfo[0].command[82].indexname "cbid"
-indexinfo[0].command[82].command "index"
-indexinfo[0].command[83].indexname "cbid"
-indexinfo[0].command[83].command "attribute"
-indexinfo[0].command[84].indexname "cbid"
-indexinfo[0].command[84].command "numerical"
-indexinfo[0].command[85].indexname "metalvalue"
-indexinfo[0].command[85].command "index"
-indexinfo[0].command[86].indexname "hiphopvalue"
-indexinfo[0].command[86].command "index"
-indexinfo[0].command[87].indexname "powermetalvalue"
-indexinfo[0].command[87].command "index"
-indexinfo[0].command[88].indexname "powermetalvalue"
-indexinfo[0].command[88].command "lowercase"
-indexinfo[0].command[89].indexname "powermetalvalue"
-indexinfo[0].command[89].command "stem:SHORTEST"
-indexinfo[0].command[90].indexname "powermetalvalue"
-indexinfo[0].command[90].command "normalize"
-indexinfo[0].command[91].indexname "powermetalvalue"
-indexinfo[0].command[91].command "plain-tokens"
-indexinfo[0].command[92].indexname "progvalue"
-indexinfo[0].command[92].command "index"
-indexinfo[0].command[93].indexname "progvalue"
-indexinfo[0].command[93].command "lowercase"
-indexinfo[0].command[94].indexname "progvalue"
-indexinfo[0].command[94].command "stem:SHORTEST"
-indexinfo[0].command[95].indexname "progvalue"
-indexinfo[0].command[95].command "normalize"
-indexinfo[0].command[96].indexname "progvalue"
-indexinfo[0].command[96].command "plain-tokens"
-indexinfo[0].command[97].indexname "hiphopvalue_arr"
-indexinfo[0].command[97].command "index"
-indexinfo[0].command[98].indexname "hiphopvalue_arr"
-indexinfo[0].command[98].command "multivalue"
-indexinfo[0].command[99].indexname "hiphopvalue_arr"
-indexinfo[0].command[99].command "attribute"
-indexinfo[0].command[100].indexname "hiphopvalue_arr"
-indexinfo[0].command[100].command "word"
-indexinfo[0].command[101].indexname "metalvalue_arr"
-indexinfo[0].command[101].command "index"
-indexinfo[0].command[102].indexname "metalvalue_arr"
-indexinfo[0].command[102].command "multivalue"
-indexinfo[0].command[103].indexname "metalvalue_arr"
-indexinfo[0].command[103].command "attribute"
-indexinfo[0].command[104].indexname "metalvalue_arr"
-indexinfo[0].command[104].command "word"
-indexinfo[0].command[105].indexname "rankfeatures"
-indexinfo[0].command[105].command "index"
-indexinfo[0].command[106].indexname "summaryfeatures"
-indexinfo[0].command[106].command "index"
-indexinfo[0].command[107].indexname "bgndata"
-indexinfo[0].command[107].command "dynteaser"
-indexinfo[0].command[108].indexname "ew"
-indexinfo[0].command[108].command "highlight"
-indexinfo[0].command[109].indexname "song"
-indexinfo[0].command[109].command "dynteaser"
-indexinfo[0].command[110].indexname "bgnpto"
-indexinfo[0].command[110].command "dynteaser"
-indexinfo[0].command[111].indexname "bgnpto"
-indexinfo[0].command[111].command "highlight"
-indexinfo[0].command[112].indexname "default"
-indexinfo[0].command[112].command "lowercase"
-indexinfo[0].command[113].indexname "default"
-indexinfo[0].command[113].command "index"
-indexinfo[0].command[114].indexname "default"
-indexinfo[0].command[114].command "plain-tokens"
-indexinfo[0].command[115].indexname "default"
-indexinfo[0].command[115].command "stem:SHORTEST"
-indexinfo[0].command[116].indexname "default"
-indexinfo[0].command[116].command "normalize" \ No newline at end of file
+indexinfo[].name "music"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "bgndata"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sales"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sales"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "sales"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "pto"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "pto"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "pto"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "keys"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "keys"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "keys"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "keys"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "keys"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "mid"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "mid"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "mid"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "ew"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "ew"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "ew"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "ew"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "ew"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "surl"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "userrate"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "userrate"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "pid"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "weight"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "weight"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "weight"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "url"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "isbn"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "fmt"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "fmt"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "fmt"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "fmt"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "fmt"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "albumid"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "disp_song"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "song"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "song"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "song"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "song"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "song"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "pfrom"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "pfrom"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "bgnpfrom"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "bgnpfrom"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "bgnpfrom"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "categories"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "categories"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "categories"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "categories"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "categories"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "data"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "numreview"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "numreview"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "bgnsellers"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "bgnsellers"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "image"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "artist"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "artist"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "artist"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "artist"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "artist"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "artistspid"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "newestedition"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "newestedition"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "newestedition"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "bgnpto"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "year"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "year"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "year"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "did"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "did"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "did"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[80].indexname "scorekey"
+indexinfo[].command[80].command "index"
+indexinfo[].command[81].indexname "scorekey"
+indexinfo[].command[81].command "numerical"
+indexinfo[].command[82].indexname "cbid"
+indexinfo[].command[82].command "index"
+indexinfo[].command[83].indexname "cbid"
+indexinfo[].command[83].command "attribute"
+indexinfo[].command[84].indexname "cbid"
+indexinfo[].command[84].command "numerical"
+indexinfo[].command[85].indexname "metalvalue"
+indexinfo[].command[85].command "index"
+indexinfo[].command[86].indexname "hiphopvalue"
+indexinfo[].command[86].command "index"
+indexinfo[].command[87].indexname "powermetalvalue"
+indexinfo[].command[87].command "index"
+indexinfo[].command[88].indexname "powermetalvalue"
+indexinfo[].command[88].command "lowercase"
+indexinfo[].command[89].indexname "powermetalvalue"
+indexinfo[].command[89].command "stem:SHORTEST"
+indexinfo[].command[90].indexname "powermetalvalue"
+indexinfo[].command[90].command "normalize"
+indexinfo[].command[91].indexname "powermetalvalue"
+indexinfo[].command[91].command "plain-tokens"
+indexinfo[].command[92].indexname "progvalue"
+indexinfo[].command[92].command "index"
+indexinfo[].command[93].indexname "progvalue"
+indexinfo[].command[93].command "lowercase"
+indexinfo[].command[94].indexname "progvalue"
+indexinfo[].command[94].command "stem:SHORTEST"
+indexinfo[].command[95].indexname "progvalue"
+indexinfo[].command[95].command "normalize"
+indexinfo[].command[96].indexname "progvalue"
+indexinfo[].command[96].command "plain-tokens"
+indexinfo[].command[97].indexname "hiphopvalue_arr"
+indexinfo[].command[97].command "index"
+indexinfo[].command[98].indexname "hiphopvalue_arr"
+indexinfo[].command[98].command "multivalue"
+indexinfo[].command[99].indexname "hiphopvalue_arr"
+indexinfo[].command[99].command "attribute"
+indexinfo[].command[100].indexname "hiphopvalue_arr"
+indexinfo[].command[100].command "word"
+indexinfo[].command[101].indexname "metalvalue_arr"
+indexinfo[].command[101].command "index"
+indexinfo[].command[102].indexname "metalvalue_arr"
+indexinfo[].command[102].command "multivalue"
+indexinfo[].command[103].indexname "metalvalue_arr"
+indexinfo[].command[103].command "attribute"
+indexinfo[].command[104].indexname "metalvalue_arr"
+indexinfo[].command[104].command "word"
+indexinfo[].command[105].indexname "rankfeatures"
+indexinfo[].command[105].command "index"
+indexinfo[].command[106].indexname "summaryfeatures"
+indexinfo[].command[106].command "index"
+indexinfo[].command[107].indexname "bgndata"
+indexinfo[].command[107].command "dynteaser"
+indexinfo[].command[108].indexname "ew"
+indexinfo[].command[108].command "highlight"
+indexinfo[].command[109].indexname "song"
+indexinfo[].command[109].command "dynteaser"
+indexinfo[].command[110].indexname "bgnpto"
+indexinfo[].command[110].command "dynteaser"
+indexinfo[].command[111].indexname "bgnpto"
+indexinfo[].command[111].command "highlight"
+indexinfo[].command[112].indexname "default"
+indexinfo[].command[112].command "lowercase"
+indexinfo[].command[113].indexname "default"
+indexinfo[].command[113].command "index"
+indexinfo[].command[114].indexname "default"
+indexinfo[].command[114].command "plain-tokens"
+indexinfo[].command[115].indexname "default"
+indexinfo[].command[115].command "stem:SHORTEST"
+indexinfo[].command[116].indexname "default"
+indexinfo[].command[116].command "normalize"
diff --git a/config-model/src/test/derived/music/juniperrc.cfg b/config-model/src/test/derived/music/juniperrc.cfg
index b5d7438e081..f5b2c166687 100755..100644
--- a/config-model/src/test/derived/music/juniperrc.cfg
+++ b/config-model/src/test/derived/music/juniperrc.cfg
@@ -8,14 +8,14 @@ winsize_fallback_multiplier 10.0
max_match_candidates 1000
stem_min_length 5
stem_max_extend 3
-override[0].fieldname "ew"
-override[0].length 65536
-override[0].max_matches 1
-override[0].min_length 8192
-override[0].prefix true
-override[0].surround_max 65536
-override[0].winsize 200
-override[0].winsize_fallback_multiplier 10.0
-override[0].max_match_candidates 1000
-override[0].stem_min_length 5
-override[0].stem_max_extend 3 \ No newline at end of file
+override[].fieldname "ew"
+override[].length 65536
+override[].max_matches 1
+override[].min_length 8192
+override[].prefix true
+override[].surround_max 65536
+override[].winsize 200
+override[].winsize_fallback_multiplier 10.0
+override[].max_match_candidates 1000
+override[].stem_min_length 5
+override[].stem_max_extend 3
diff --git a/config-model/src/test/derived/music/rank-profiles.cfg b/config-model/src/test/derived/music/rank-profiles.cfg
index 7c5e336e122..c095d536d9f 100644
--- a/config-model/src/test/derived/music/rank-profiles.cfg
+++ b/config-model/src/test/derived/music/rank-profiles.cfg
@@ -1,34 +1,34 @@
-rankprofile[0].name "default"
-rankprofile[0].fef.property[0].name "nativeFieldMatch.firstOccurrenceTable.powermetalvalue"
-rankprofile[0].fef.property[0].value "linear(0,0)"
-rankprofile[0].fef.property[1].name "nativeFieldMatch.occurrenceCountTable.powermetalvalue"
-rankprofile[0].fef.property[1].value "linear(0,0)"
-rankprofile[0].fef.property[2].name "nativeProximity.proximityTable.powermetalvalue"
-rankprofile[0].fef.property[2].value "linear(0,0)"
-rankprofile[0].fef.property[3].name "nativeProximity.reverseProximityTable.powermetalvalue"
-rankprofile[0].fef.property[3].value "linear(0,0)"
-rankprofile[0].fef.property[4].name "nativeFieldMatch.firstOccurrenceTable.progvalue"
-rankprofile[0].fef.property[4].value "linear(0,0)"
-rankprofile[0].fef.property[5].name "nativeFieldMatch.occurrenceCountTable.progvalue"
-rankprofile[0].fef.property[5].value "linear(0,0)"
-rankprofile[0].fef.property[6].name "nativeProximity.proximityTable.progvalue"
-rankprofile[0].fef.property[6].value "linear(0,0)"
-rankprofile[0].fef.property[7].name "nativeProximity.reverseProximityTable.progvalue"
-rankprofile[0].fef.property[7].value "linear(0,0)"
-rankprofile[0].fef.property[8].name "vespa.isfilterfield.progvalue"
-rankprofile[0].fef.property[8].value "true"
-rankprofile[0].fef.property[9].name "vespa.isfilterfield.powermetalvalue"
-rankprofile[0].fef.property[9].value "true"
-rankprofile[1].name "unranked"
-rankprofile[1].fef.property[0].name "vespa.rank.firstphase"
-rankprofile[1].fef.property[0].value "value(0)"
-rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize"
-rankprofile[1].fef.property[1].value "0"
-rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize"
-rankprofile[1].fef.property[2].value "0"
-rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures"
-rankprofile[1].fef.property[3].value "true"
-rankprofile[1].fef.property[4].name "vespa.isfilterfield.progvalue"
-rankprofile[1].fef.property[4].value "true"
-rankprofile[1].fef.property[5].name "vespa.isfilterfield.powermetalvalue"
-rankprofile[1].fef.property[5].value "true" \ No newline at end of file
+rankprofile[].name "default"
+rankprofile[].fef.property[].name "nativeFieldMatch.firstOccurrenceTable.powermetalvalue"
+rankprofile[].fef.property[].value "linear(0,0)"
+rankprofile[].fef.property[].name "nativeFieldMatch.occurrenceCountTable.powermetalvalue"
+rankprofile[].fef.property[].value "linear(0,0)"
+rankprofile[].fef.property[].name "nativeProximity.proximityTable.powermetalvalue"
+rankprofile[].fef.property[].value "linear(0,0)"
+rankprofile[].fef.property[].name "nativeProximity.reverseProximityTable.powermetalvalue"
+rankprofile[].fef.property[].value "linear(0,0)"
+rankprofile[].fef.property[].name "nativeFieldMatch.firstOccurrenceTable.progvalue"
+rankprofile[].fef.property[].value "linear(0,0)"
+rankprofile[].fef.property[].name "nativeFieldMatch.occurrenceCountTable.progvalue"
+rankprofile[].fef.property[].value "linear(0,0)"
+rankprofile[].fef.property[].name "nativeProximity.proximityTable.progvalue"
+rankprofile[].fef.property[].value "linear(0,0)"
+rankprofile[].fef.property[].name "nativeProximity.reverseProximityTable.progvalue"
+rankprofile[].fef.property[].value "linear(0,0)"
+rankprofile[].fef.property[].name "vespa.isfilterfield.progvalue"
+rankprofile[].fef.property[].value "true"
+rankprofile[].fef.property[].name "vespa.isfilterfield.powermetalvalue"
+rankprofile[].fef.property[].value "true"
+rankprofile[].name "unranked"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "value(0)"
+rankprofile[].fef.property[].name "vespa.hitcollector.heapsize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.hitcollector.arraysize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.dump.ignoredefaultfeatures"
+rankprofile[].fef.property[].value "true"
+rankprofile[].fef.property[].name "vespa.isfilterfield.progvalue"
+rankprofile[].fef.property[].value "true"
+rankprofile[].fef.property[].name "vespa.isfilterfield.powermetalvalue"
+rankprofile[].fef.property[].value "true"
diff --git a/config-model/src/test/derived/music/summary.cfg b/config-model/src/test/derived/music/summary.cfg
index 0ddb8940482..3eca077dbc8 100644
--- a/config-model/src/test/derived/music/summary.cfg
+++ b/config-model/src/test/derived/music/summary.cfg
@@ -1,103 +1,103 @@
defaultsummaryid 2086497905
-classes[0].id 2086497905
-classes[0].name "default"
-classes[0].fields[0].name "bgndata"
-classes[0].fields[0].type "longstring"
-classes[0].fields[1].name "sales"
-classes[0].fields[1].type "integer"
-classes[0].fields[2].name "pto"
-classes[0].fields[2].type "integer"
-classes[0].fields[3].name "mid"
-classes[0].fields[3].type "integer"
-classes[0].fields[4].name "ew"
-classes[0].fields[4].type "longstring"
-classes[0].fields[5].name "surl"
-classes[0].fields[5].type "longstring"
-classes[0].fields[6].name "userrate"
-classes[0].fields[6].type "integer"
-classes[0].fields[7].name "pid"
-classes[0].fields[7].type "longstring"
-classes[0].fields[8].name "weight"
-classes[0].fields[8].type "float"
-classes[0].fields[9].name "url"
-classes[0].fields[9].type "longstring"
-classes[0].fields[10].name "isbn"
-classes[0].fields[10].type "longstring"
-classes[0].fields[11].name "fmt"
-classes[0].fields[11].type "longstring"
-classes[0].fields[12].name "albumid"
-classes[0].fields[12].type "longstring"
-classes[0].fields[13].name "disp_song"
-classes[0].fields[13].type "longstring"
-classes[0].fields[14].name "song"
-classes[0].fields[14].type "longstring"
-classes[0].fields[15].name "pfrom"
-classes[0].fields[15].type "integer"
-classes[0].fields[16].name "bgnpfrom"
-classes[0].fields[16].type "float"
-classes[0].fields[17].name "categories"
-classes[0].fields[17].type "longstring"
-classes[0].fields[18].name "data"
-classes[0].fields[18].type "longstring"
-classes[0].fields[19].name "numreview"
-classes[0].fields[19].type "integer"
-classes[0].fields[20].name "bgnsellers"
-classes[0].fields[20].type "integer"
-classes[0].fields[21].name "image"
-classes[0].fields[21].type "longstring"
-classes[0].fields[22].name "artist"
-classes[0].fields[22].type "longstring"
-classes[0].fields[23].name "artistspid"
-classes[0].fields[23].type "longstring"
-classes[0].fields[24].name "title"
-classes[0].fields[24].type "longstring"
-classes[0].fields[25].name "newestedition"
-classes[0].fields[25].type "integer"
-classes[0].fields[26].name "bgnpto"
-classes[0].fields[26].type "longstring"
-classes[0].fields[27].name "year"
-classes[0].fields[27].type "integer"
-classes[0].fields[28].name "did"
-classes[0].fields[28].type "integer"
-classes[0].fields[29].name "scorekey"
-classes[0].fields[29].type "integer"
-classes[0].fields[30].name "cbid"
-classes[0].fields[30].type "integer"
-classes[0].fields[31].name "metalvalue"
-classes[0].fields[31].type "longstring"
-classes[0].fields[32].name "hiphopvalue"
-classes[0].fields[32].type "longstring"
-classes[0].fields[33].name "powermetalvalue"
-classes[0].fields[33].type "longstring"
-classes[0].fields[34].name "progvalue"
-classes[0].fields[34].type "longstring"
-classes[0].fields[35].name "rankfeatures"
-classes[0].fields[35].type "featuredata"
-classes[0].fields[36].name "summaryfeatures"
-classes[0].fields[36].type "featuredata"
-classes[0].fields[37].name "documentid"
-classes[0].fields[37].type "longstring"
-classes[1].id 2060710706
-classes[1].name "attributeprefetch"
-classes[1].fields[0].name "sales"
-classes[1].fields[0].type "integer"
-classes[1].fields[1].name "pto"
-classes[1].fields[1].type "integer"
-classes[1].fields[2].name "mid"
-classes[1].fields[2].type "integer"
-classes[1].fields[3].name "weight"
-classes[1].fields[3].type "float"
-classes[1].fields[4].name "bgnpfrom"
-classes[1].fields[4].type "float"
-classes[1].fields[5].name "newestedition"
-classes[1].fields[5].type "integer"
-classes[1].fields[6].name "year"
-classes[1].fields[6].type "integer"
-classes[1].fields[7].name "did"
-classes[1].fields[7].type "integer"
-classes[1].fields[8].name "cbid"
-classes[1].fields[8].type "integer"
-classes[1].fields[9].name "rankfeatures"
-classes[1].fields[9].type "featuredata"
-classes[1].fields[10].name "summaryfeatures"
-classes[1].fields[10].type "featuredata" \ No newline at end of file
+classes[].id 2086497905
+classes[].name "default"
+classes[].fields[].name "bgndata"
+classes[].fields[].type "longstring"
+classes[].fields[].name "sales"
+classes[].fields[].type "integer"
+classes[].fields[].name "pto"
+classes[].fields[].type "integer"
+classes[].fields[].name "mid"
+classes[].fields[].type "integer"
+classes[].fields[].name "ew"
+classes[].fields[].type "longstring"
+classes[].fields[].name "surl"
+classes[].fields[].type "longstring"
+classes[].fields[].name "userrate"
+classes[].fields[].type "integer"
+classes[].fields[].name "pid"
+classes[].fields[].type "longstring"
+classes[].fields[].name "weight"
+classes[].fields[].type "float"
+classes[].fields[].name "url"
+classes[].fields[].type "longstring"
+classes[].fields[].name "isbn"
+classes[].fields[].type "longstring"
+classes[].fields[].name "fmt"
+classes[].fields[].type "longstring"
+classes[].fields[].name "albumid"
+classes[].fields[].type "longstring"
+classes[].fields[].name "disp_song"
+classes[].fields[].type "longstring"
+classes[].fields[].name "song"
+classes[].fields[].type "longstring"
+classes[].fields[].name "pfrom"
+classes[].fields[].type "integer"
+classes[].fields[].name "bgnpfrom"
+classes[].fields[].type "float"
+classes[].fields[].name "categories"
+classes[].fields[].type "longstring"
+classes[].fields[].name "data"
+classes[].fields[].type "longstring"
+classes[].fields[].name "numreview"
+classes[].fields[].type "integer"
+classes[].fields[].name "bgnsellers"
+classes[].fields[].type "integer"
+classes[].fields[].name "image"
+classes[].fields[].type "longstring"
+classes[].fields[].name "artist"
+classes[].fields[].type "longstring"
+classes[].fields[].name "artistspid"
+classes[].fields[].type "longstring"
+classes[].fields[].name "title"
+classes[].fields[].type "longstring"
+classes[].fields[].name "newestedition"
+classes[].fields[].type "integer"
+classes[].fields[].name "bgnpto"
+classes[].fields[].type "longstring"
+classes[].fields[].name "year"
+classes[].fields[].type "integer"
+classes[].fields[].name "did"
+classes[].fields[].type "integer"
+classes[].fields[].name "scorekey"
+classes[].fields[].type "integer"
+classes[].fields[].name "cbid"
+classes[].fields[].type "integer"
+classes[].fields[].name "metalvalue"
+classes[].fields[].type "longstring"
+classes[].fields[].name "hiphopvalue"
+classes[].fields[].type "longstring"
+classes[].fields[].name "powermetalvalue"
+classes[].fields[].type "longstring"
+classes[].fields[].name "progvalue"
+classes[].fields[].type "longstring"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "documentid"
+classes[].fields[].type "longstring"
+classes[].id 2060710706
+classes[].name "attributeprefetch"
+classes[].fields[].name "sales"
+classes[].fields[].type "integer"
+classes[].fields[].name "pto"
+classes[].fields[].type "integer"
+classes[].fields[].name "mid"
+classes[].fields[].type "integer"
+classes[].fields[].name "weight"
+classes[].fields[].type "float"
+classes[].fields[].name "bgnpfrom"
+classes[].fields[].type "float"
+classes[].fields[].name "newestedition"
+classes[].fields[].type "integer"
+classes[].fields[].name "year"
+classes[].fields[].type "integer"
+classes[].fields[].name "did"
+classes[].fields[].type "integer"
+classes[].fields[].name "cbid"
+classes[].fields[].type "integer"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
diff --git a/config-model/src/test/derived/music/summarymap.cfg b/config-model/src/test/derived/music/summarymap.cfg
index f86dd8ec98f..e250c3747cc 100644
--- a/config-model/src/test/derived/music/summarymap.cfg
+++ b/config-model/src/test/derived/music/summarymap.cfg
@@ -1,46 +1,46 @@
defaultoutputclass -1
-override[0].field "bgndata"
-override[0].command "dynamicteaser"
-override[0].arguments "bgndata"
-override[1].field "sales"
-override[1].command "attribute"
-override[1].arguments "sales"
-override[2].field "pto"
-override[2].command "attribute"
-override[2].arguments "pto"
-override[3].field "mid"
-override[3].command "attribute"
-override[3].arguments "mid"
-override[4].field "ew"
-override[4].command "dynamicteaser"
-override[4].arguments "ew"
-override[5].field "weight"
-override[5].command "attribute"
-override[5].arguments "weight"
-override[6].field "song"
-override[6].command "dynamicteaser"
-override[6].arguments "song"
-override[7].field "bgnpfrom"
-override[7].command "attribute"
-override[7].arguments "bgnpfrom"
-override[8].field "newestedition"
-override[8].command "attribute"
-override[8].arguments "newestedition"
-override[9].field "bgnpto"
-override[9].command "dynamicteaser"
-override[9].arguments "bgnpto"
-override[10].field "year"
-override[10].command "attribute"
-override[10].arguments "year"
-override[11].field "did"
-override[11].command "attribute"
-override[11].arguments "did"
-override[12].field "cbid"
-override[12].command "attribute"
-override[12].arguments "cbid"
-override[13].field "rankfeatures"
-override[13].command "rankfeatures"
-override[13].arguments ""
-override[14].field "summaryfeatures"
-override[14].command "summaryfeatures"
-override[14].arguments "" \ No newline at end of file
+override[].field "bgndata"
+override[].command "dynamicteaser"
+override[].arguments "bgndata"
+override[].field "sales"
+override[].command "attribute"
+override[].arguments "sales"
+override[].field "pto"
+override[].command "attribute"
+override[].arguments "pto"
+override[].field "mid"
+override[].command "attribute"
+override[].arguments "mid"
+override[].field "ew"
+override[].command "dynamicteaser"
+override[].arguments "ew"
+override[].field "weight"
+override[].command "attribute"
+override[].arguments "weight"
+override[].field "song"
+override[].command "dynamicteaser"
+override[].arguments "song"
+override[].field "bgnpfrom"
+override[].command "attribute"
+override[].arguments "bgnpfrom"
+override[].field "newestedition"
+override[].command "attribute"
+override[].arguments "newestedition"
+override[].field "bgnpto"
+override[].command "dynamicteaser"
+override[].arguments "bgnpto"
+override[].field "year"
+override[].command "attribute"
+override[].arguments "year"
+override[].field "did"
+override[].command "attribute"
+override[].arguments "did"
+override[].field "cbid"
+override[].command "attribute"
+override[].arguments "cbid"
+override[].field "rankfeatures"
+override[].command "rankfeatures"
+override[].arguments ""
+override[].field "summaryfeatures"
+override[].command "summaryfeatures"
+override[].arguments ""
diff --git a/config-model/src/test/derived/newrank/attributes.cfg b/config-model/src/test/derived/newrank/attributes.cfg
index 2ec686217ad..1a31fe94b05 100644
--- a/config-model/src/test/derived/newrank/attributes.cfg
+++ b/config-model/src/test/derived/newrank/attributes.cfg
@@ -1,200 +1,200 @@
-attribute[0].name "sales"
-attribute[0].datatype INT32
-attribute[0].collectiontype SINGLE
-attribute[0].removeifzero false
-attribute[0].createifnonexistent false
-attribute[0].fastsearch false
-attribute[0].huge false
-attribute[0].sortascending true
-attribute[0].sortfunction UCA
-attribute[0].sortstrength PRIMARY
-attribute[0].sortlocale ""
-attribute[0].enablebitvectors false
-attribute[0].enableonlybitvector false
-attribute[0].fastaccess false
-attribute[0].arity 8
-attribute[0].lowerbound -9223372036854775808
-attribute[0].upperbound 9223372036854775807
-attribute[0].densepostinglistthreshold 0.4
-attribute[0].tensortype ""
-attribute[0].imported false
-attribute[1].name "pto"
-attribute[1].datatype INT32
-attribute[1].collectiontype SINGLE
-attribute[1].removeifzero false
-attribute[1].createifnonexistent false
-attribute[1].fastsearch false
-attribute[1].huge false
-attribute[1].sortascending true
-attribute[1].sortfunction UCA
-attribute[1].sortstrength PRIMARY
-attribute[1].sortlocale ""
-attribute[1].enablebitvectors false
-attribute[1].enableonlybitvector false
-attribute[1].fastaccess false
-attribute[1].arity 8
-attribute[1].lowerbound -9223372036854775808
-attribute[1].upperbound 9223372036854775807
-attribute[1].densepostinglistthreshold 0.4
-attribute[1].tensortype ""
-attribute[1].imported false
-attribute[2].name "mid"
-attribute[2].datatype INT32
-attribute[2].collectiontype SINGLE
-attribute[2].removeifzero false
-attribute[2].createifnonexistent false
-attribute[2].fastsearch false
-attribute[2].huge false
-attribute[2].sortascending true
-attribute[2].sortfunction UCA
-attribute[2].sortstrength PRIMARY
-attribute[2].sortlocale ""
-attribute[2].enablebitvectors false
-attribute[2].enableonlybitvector false
-attribute[2].fastaccess false
-attribute[2].arity 8
-attribute[2].lowerbound -9223372036854775808
-attribute[2].upperbound 9223372036854775807
-attribute[2].densepostinglistthreshold 0.4
-attribute[2].tensortype ""
-attribute[2].imported false
-attribute[3].name "weight"
-attribute[3].datatype FLOAT
-attribute[3].collectiontype SINGLE
-attribute[3].removeifzero false
-attribute[3].createifnonexistent false
-attribute[3].fastsearch false
-attribute[3].huge false
-attribute[3].sortascending true
-attribute[3].sortfunction UCA
-attribute[3].sortstrength PRIMARY
-attribute[3].sortlocale ""
-attribute[3].enablebitvectors false
-attribute[3].enableonlybitvector false
-attribute[3].fastaccess false
-attribute[3].arity 8
-attribute[3].lowerbound -9223372036854775808
-attribute[3].upperbound 9223372036854775807
-attribute[3].densepostinglistthreshold 0.4
-attribute[3].tensortype ""
-attribute[3].imported false
-attribute[4].name "bgnpfrom"
-attribute[4].datatype FLOAT
-attribute[4].collectiontype SINGLE
-attribute[4].removeifzero false
-attribute[4].createifnonexistent false
-attribute[4].fastsearch false
-attribute[4].huge false
-attribute[4].sortascending true
-attribute[4].sortfunction UCA
-attribute[4].sortstrength PRIMARY
-attribute[4].sortlocale ""
-attribute[4].enablebitvectors false
-attribute[4].enableonlybitvector false
-attribute[4].fastaccess false
-attribute[4].arity 8
-attribute[4].lowerbound -9223372036854775808
-attribute[4].upperbound 9223372036854775807
-attribute[4].densepostinglistthreshold 0.4
-attribute[4].tensortype ""
-attribute[4].imported false
-attribute[5].name "newestedition"
-attribute[5].datatype INT32
-attribute[5].collectiontype SINGLE
-attribute[5].removeifzero false
-attribute[5].createifnonexistent false
-attribute[5].fastsearch false
-attribute[5].huge false
-attribute[5].sortascending true
-attribute[5].sortfunction UCA
-attribute[5].sortstrength PRIMARY
-attribute[5].sortlocale ""
-attribute[5].enablebitvectors false
-attribute[5].enableonlybitvector false
-attribute[5].fastaccess false
-attribute[5].arity 8
-attribute[5].lowerbound -9223372036854775808
-attribute[5].upperbound 9223372036854775807
-attribute[5].densepostinglistthreshold 0.4
-attribute[5].tensortype ""
-attribute[5].imported false
-attribute[6].name "year"
-attribute[6].datatype INT32
-attribute[6].collectiontype SINGLE
-attribute[6].removeifzero false
-attribute[6].createifnonexistent false
-attribute[6].fastsearch false
-attribute[6].huge false
-attribute[6].sortascending true
-attribute[6].sortfunction UCA
-attribute[6].sortstrength PRIMARY
-attribute[6].sortlocale ""
-attribute[6].enablebitvectors false
-attribute[6].enableonlybitvector false
-attribute[6].fastaccess false
-attribute[6].arity 8
-attribute[6].lowerbound -9223372036854775808
-attribute[6].upperbound 9223372036854775807
-attribute[6].densepostinglistthreshold 0.4
-attribute[6].tensortype ""
-attribute[6].imported false
-attribute[7].name "did"
-attribute[7].datatype INT32
-attribute[7].collectiontype SINGLE
-attribute[7].removeifzero false
-attribute[7].createifnonexistent false
-attribute[7].fastsearch false
-attribute[7].huge false
-attribute[7].sortascending true
-attribute[7].sortfunction UCA
-attribute[7].sortstrength PRIMARY
-attribute[7].sortlocale ""
-attribute[7].enablebitvectors false
-attribute[7].enableonlybitvector false
-attribute[7].fastaccess false
-attribute[7].arity 8
-attribute[7].lowerbound -9223372036854775808
-attribute[7].upperbound 9223372036854775807
-attribute[7].densepostinglistthreshold 0.4
-attribute[7].tensortype ""
-attribute[7].imported false
-attribute[8].name "scorekey"
-attribute[8].datatype INT32
-attribute[8].collectiontype SINGLE
-attribute[8].removeifzero false
-attribute[8].createifnonexistent false
-attribute[8].fastsearch false
-attribute[8].huge false
-attribute[8].sortascending true
-attribute[8].sortfunction UCA
-attribute[8].sortstrength PRIMARY
-attribute[8].sortlocale ""
-attribute[8].enablebitvectors false
-attribute[8].enableonlybitvector false
-attribute[8].fastaccess false
-attribute[8].arity 8
-attribute[8].lowerbound -9223372036854775808
-attribute[8].upperbound 9223372036854775807
-attribute[8].densepostinglistthreshold 0.4
-attribute[8].tensortype ""
-attribute[8].imported false
-attribute[9].name "cbid"
-attribute[9].datatype INT32
-attribute[9].collectiontype SINGLE
-attribute[9].removeifzero false
-attribute[9].createifnonexistent false
-attribute[9].fastsearch false
-attribute[9].huge false
-attribute[9].sortascending true
-attribute[9].sortfunction UCA
-attribute[9].sortstrength PRIMARY
-attribute[9].sortlocale ""
-attribute[9].enablebitvectors false
-attribute[9].enableonlybitvector false
-attribute[9].fastaccess false
-attribute[9].arity 8
-attribute[9].lowerbound -9223372036854775808
-attribute[9].upperbound 9223372036854775807
-attribute[9].densepostinglistthreshold 0.4
-attribute[9].tensortype ""
-attribute[9].imported false \ No newline at end of file
+attribute[].name "sales"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "pto"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "mid"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "weight"
+attribute[].datatype FLOAT
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "bgnpfrom"
+attribute[].datatype FLOAT
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "newestedition"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "year"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "did"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "scorekey"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "cbid"
+attribute[].datatype INT32
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
diff --git a/config-model/src/test/derived/newrank/ilscripts.cfg b/config-model/src/test/derived/newrank/ilscripts.cfg
index d8f9b5101ad..11fc1b310a1 100644
--- a/config-model/src/test/derived/newrank/ilscripts.cfg
+++ b/config-model/src/test/derived/newrank/ilscripts.cfg
@@ -1,67 +1,67 @@
maxtermoccurrences 100
fieldmatchmaxlength 1000000
-ilscript[0].doctype "newrank"
-ilscript[0].docfield[0] "bgndata"
-ilscript[0].docfield[1] "sales"
-ilscript[0].docfield[2] "pto"
-ilscript[0].docfield[3] "keys"
-ilscript[0].docfield[4] "mid"
-ilscript[0].docfield[5] "ew"
-ilscript[0].docfield[6] "surl"
-ilscript[0].docfield[7] "userrate"
-ilscript[0].docfield[8] "pid"
-ilscript[0].docfield[9] "weight"
-ilscript[0].docfield[10] "url"
-ilscript[0].docfield[11] "isbn"
-ilscript[0].docfield[12] "fmt"
-ilscript[0].docfield[13] "albumid"
-ilscript[0].docfield[14] "disp_song"
-ilscript[0].docfield[15] "song"
-ilscript[0].docfield[16] "pfrom"
-ilscript[0].docfield[17] "bgnpfrom"
-ilscript[0].docfield[18] "categories"
-ilscript[0].docfield[19] "data"
-ilscript[0].docfield[20] "numreview"
-ilscript[0].docfield[21] "bgnsellers"
-ilscript[0].docfield[22] "image"
-ilscript[0].docfield[23] "artist"
-ilscript[0].docfield[24] "artistspid"
-ilscript[0].docfield[25] "title"
-ilscript[0].docfield[26] "newestedition"
-ilscript[0].docfield[27] "bgnpto"
-ilscript[0].docfield[28] "year"
-ilscript[0].docfield[29] "did"
-ilscript[0].docfield[30] "scorekey"
-ilscript[0].docfield[31] "cbid"
-ilscript[0].content[0] "clear_state | guard { input bgndata | tokenize normalize stem:\"SHORTEST\" | summary bgndata; }"
-ilscript[0].content[1] "clear_state | guard { input sales | summary sales | attribute sales; }"
-ilscript[0].content[2] "clear_state | guard { input pto | summary pto | attribute pto; }"
-ilscript[0].content[3] "clear_state | guard { input keys | tokenize normalize stem:\"SHORTEST\" | index keys; }"
-ilscript[0].content[4] "clear_state | guard { input mid | summary mid | attribute mid; }"
-ilscript[0].content[5] "clear_state | guard { input ew | tokenize normalize stem:\"SHORTEST\" | summary ew | index ew; }"
-ilscript[0].content[6] "clear_state | guard { input surl | summary surl; }"
-ilscript[0].content[7] "clear_state | guard { input userrate | summary userrate; }"
-ilscript[0].content[8] "clear_state | guard { input pid | summary pid; }"
-ilscript[0].content[9] "clear_state | guard { input weight | summary weight | attribute weight; }"
-ilscript[0].content[10] "clear_state | guard { input url | summary url; }"
-ilscript[0].content[11] "clear_state | guard { input isbn | summary isbn; }"
-ilscript[0].content[12] "clear_state | guard { input fmt | tokenize normalize stem:\"SHORTEST\" | summary fmt | index fmt; }"
-ilscript[0].content[13] "clear_state | guard { input albumid | summary albumid; }"
-ilscript[0].content[14] "clear_state | guard { input disp_song | summary disp_song; }"
-ilscript[0].content[15] "clear_state | guard { input song | tokenize normalize stem:\"SHORTEST\" | summary song | index song; }"
-ilscript[0].content[16] "clear_state | guard { input pfrom | summary pfrom; }"
-ilscript[0].content[17] "clear_state | guard { input bgnpfrom | summary bgnpfrom | attribute bgnpfrom; }"
-ilscript[0].content[18] "clear_state | guard { input categories | tokenize normalize stem:\"SHORTEST\" | summary categories | index categories; }"
-ilscript[0].content[19] "clear_state | guard { input data | summary data; }"
-ilscript[0].content[20] "clear_state | guard { input numreview | summary numreview; }"
-ilscript[0].content[21] "clear_state | guard { input bgnsellers | summary bgnsellers; }"
-ilscript[0].content[22] "clear_state | guard { input image | summary image; }"
-ilscript[0].content[23] "clear_state | guard { input artist | tokenize normalize stem:\"SHORTEST\" | summary artist | index artist; }"
-ilscript[0].content[24] "clear_state | guard { input artistspid | summary artistspid; }"
-ilscript[0].content[25] "clear_state | guard { input title | tokenize normalize stem:\"SHORTEST\" | summary title | index title; }"
-ilscript[0].content[26] "clear_state | guard { input newestedition | summary newestedition | attribute newestedition; }"
-ilscript[0].content[27] "clear_state | guard { input bgnpto | tokenize normalize stem:\"SHORTEST\" | summary bgnpto; }"
-ilscript[0].content[28] "clear_state | guard { input year | summary year | attribute year; }"
-ilscript[0].content[29] "clear_state | guard { input did | summary did | attribute did; }"
-ilscript[0].content[30] "clear_state | guard { input scorekey | summary scorekey | attribute scorekey; }"
-ilscript[0].content[31] "clear_state | guard { input cbid | summary cbid | attribute cbid; }"
+ilscript[].doctype "newrank"
+ilscript[].docfield[0] "bgndata"
+ilscript[].docfield[1] "sales"
+ilscript[].docfield[2] "pto"
+ilscript[].docfield[3] "keys"
+ilscript[].docfield[4] "mid"
+ilscript[].docfield[5] "ew"
+ilscript[].docfield[6] "surl"
+ilscript[].docfield[7] "userrate"
+ilscript[].docfield[8] "pid"
+ilscript[].docfield[9] "weight"
+ilscript[].docfield[10] "url"
+ilscript[].docfield[11] "isbn"
+ilscript[].docfield[12] "fmt"
+ilscript[].docfield[13] "albumid"
+ilscript[].docfield[14] "disp_song"
+ilscript[].docfield[15] "song"
+ilscript[].docfield[16] "pfrom"
+ilscript[].docfield[17] "bgnpfrom"
+ilscript[].docfield[18] "categories"
+ilscript[].docfield[19] "data"
+ilscript[].docfield[20] "numreview"
+ilscript[].docfield[21] "bgnsellers"
+ilscript[].docfield[22] "image"
+ilscript[].docfield[23] "artist"
+ilscript[].docfield[24] "artistspid"
+ilscript[].docfield[25] "title"
+ilscript[].docfield[26] "newestedition"
+ilscript[].docfield[27] "bgnpto"
+ilscript[].docfield[28] "year"
+ilscript[].docfield[29] "did"
+ilscript[].docfield[30] "scorekey"
+ilscript[].docfield[31] "cbid"
+ilscript[].content[0] "clear_state | guard { input bgndata | tokenize normalize stem:\"SHORTEST\" | summary bgndata; }"
+ilscript[].content[1] "clear_state | guard { input sales | summary sales | attribute sales; }"
+ilscript[].content[2] "clear_state | guard { input pto | summary pto | attribute pto; }"
+ilscript[].content[3] "clear_state | guard { input keys | tokenize normalize stem:\"SHORTEST\" | index keys; }"
+ilscript[].content[4] "clear_state | guard { input mid | summary mid | attribute mid; }"
+ilscript[].content[5] "clear_state | guard { input ew | tokenize normalize stem:\"SHORTEST\" | summary ew | index ew; }"
+ilscript[].content[6] "clear_state | guard { input surl | summary surl; }"
+ilscript[].content[7] "clear_state | guard { input userrate | summary userrate; }"
+ilscript[].content[8] "clear_state | guard { input pid | summary pid; }"
+ilscript[].content[9] "clear_state | guard { input weight | summary weight | attribute weight; }"
+ilscript[].content[10] "clear_state | guard { input url | summary url; }"
+ilscript[].content[11] "clear_state | guard { input isbn | summary isbn; }"
+ilscript[].content[12] "clear_state | guard { input fmt | tokenize normalize stem:\"SHORTEST\" | summary fmt | index fmt; }"
+ilscript[].content[13] "clear_state | guard { input albumid | summary albumid; }"
+ilscript[].content[14] "clear_state | guard { input disp_song | summary disp_song; }"
+ilscript[].content[15] "clear_state | guard { input song | tokenize normalize stem:\"SHORTEST\" | summary song | index song; }"
+ilscript[].content[16] "clear_state | guard { input pfrom | summary pfrom; }"
+ilscript[].content[17] "clear_state | guard { input bgnpfrom | summary bgnpfrom | attribute bgnpfrom; }"
+ilscript[].content[18] "clear_state | guard { input categories | tokenize normalize stem:\"SHORTEST\" | summary categories | index categories; }"
+ilscript[].content[19] "clear_state | guard { input data | summary data; }"
+ilscript[].content[20] "clear_state | guard { input numreview | summary numreview; }"
+ilscript[].content[21] "clear_state | guard { input bgnsellers | summary bgnsellers; }"
+ilscript[].content[22] "clear_state | guard { input image | summary image; }"
+ilscript[].content[23] "clear_state | guard { input artist | tokenize normalize stem:\"SHORTEST\" | summary artist | index artist; }"
+ilscript[].content[24] "clear_state | guard { input artistspid | summary artistspid; }"
+ilscript[].content[25] "clear_state | guard { input title | tokenize normalize stem:\"SHORTEST\" | summary title | index title; }"
+ilscript[].content[26] "clear_state | guard { input newestedition | summary newestedition | attribute newestedition; }"
+ilscript[].content[27] "clear_state | guard { input bgnpto | tokenize normalize stem:\"SHORTEST\" | summary bgnpto; }"
+ilscript[].content[28] "clear_state | guard { input year | summary year | attribute year; }"
+ilscript[].content[29] "clear_state | guard { input did | summary did | attribute did; }"
+ilscript[].content[30] "clear_state | guard { input scorekey | summary scorekey | attribute scorekey; }"
+ilscript[].content[31] "clear_state | guard { input cbid | summary cbid | attribute cbid; }"
diff --git a/config-model/src/test/derived/newrank/index-info.cfg b/config-model/src/test/derived/newrank/index-info.cfg
index 91a509cc727..3bf7f285f96 100644
--- a/config-model/src/test/derived/newrank/index-info.cfg
+++ b/config-model/src/test/derived/newrank/index-info.cfg
@@ -1,197 +1,197 @@
-indexinfo[0].name "newrank"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "bgndata"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "sales"
-indexinfo[0].command[3].command "index"
-indexinfo[0].command[4].indexname "sales"
-indexinfo[0].command[4].command "attribute"
-indexinfo[0].command[5].indexname "sales"
-indexinfo[0].command[5].command "numerical"
-indexinfo[0].command[6].indexname "pto"
-indexinfo[0].command[6].command "index"
-indexinfo[0].command[7].indexname "pto"
-indexinfo[0].command[7].command "attribute"
-indexinfo[0].command[8].indexname "pto"
-indexinfo[0].command[8].command "numerical"
-indexinfo[0].command[9].indexname "keys"
-indexinfo[0].command[9].command "index"
-indexinfo[0].command[10].indexname "keys"
-indexinfo[0].command[10].command "lowercase"
-indexinfo[0].command[11].indexname "keys"
-indexinfo[0].command[11].command "stem:SHORTEST"
-indexinfo[0].command[12].indexname "keys"
-indexinfo[0].command[12].command "normalize"
-indexinfo[0].command[13].indexname "keys"
-indexinfo[0].command[13].command "plain-tokens"
-indexinfo[0].command[14].indexname "mid"
-indexinfo[0].command[14].command "index"
-indexinfo[0].command[15].indexname "mid"
-indexinfo[0].command[15].command "attribute"
-indexinfo[0].command[16].indexname "mid"
-indexinfo[0].command[16].command "numerical"
-indexinfo[0].command[17].indexname "ew"
-indexinfo[0].command[17].command "index"
-indexinfo[0].command[18].indexname "ew"
-indexinfo[0].command[18].command "lowercase"
-indexinfo[0].command[19].indexname "ew"
-indexinfo[0].command[19].command "stem:SHORTEST"
-indexinfo[0].command[20].indexname "ew"
-indexinfo[0].command[20].command "normalize"
-indexinfo[0].command[21].indexname "ew"
-indexinfo[0].command[21].command "plain-tokens"
-indexinfo[0].command[22].indexname "surl"
-indexinfo[0].command[22].command "index"
-indexinfo[0].command[23].indexname "userrate"
-indexinfo[0].command[23].command "index"
-indexinfo[0].command[24].indexname "userrate"
-indexinfo[0].command[24].command "numerical"
-indexinfo[0].command[25].indexname "pid"
-indexinfo[0].command[25].command "index"
-indexinfo[0].command[26].indexname "weight"
-indexinfo[0].command[26].command "index"
-indexinfo[0].command[27].indexname "weight"
-indexinfo[0].command[27].command "attribute"
-indexinfo[0].command[28].indexname "weight"
-indexinfo[0].command[28].command "numerical"
-indexinfo[0].command[29].indexname "url"
-indexinfo[0].command[29].command "index"
-indexinfo[0].command[30].indexname "isbn"
-indexinfo[0].command[30].command "index"
-indexinfo[0].command[31].indexname "fmt"
-indexinfo[0].command[31].command "index"
-indexinfo[0].command[32].indexname "fmt"
-indexinfo[0].command[32].command "lowercase"
-indexinfo[0].command[33].indexname "fmt"
-indexinfo[0].command[33].command "stem:SHORTEST"
-indexinfo[0].command[34].indexname "fmt"
-indexinfo[0].command[34].command "normalize"
-indexinfo[0].command[35].indexname "fmt"
-indexinfo[0].command[35].command "plain-tokens"
-indexinfo[0].command[36].indexname "albumid"
-indexinfo[0].command[36].command "index"
-indexinfo[0].command[37].indexname "disp_song"
-indexinfo[0].command[37].command "index"
-indexinfo[0].command[38].indexname "song"
-indexinfo[0].command[38].command "index"
-indexinfo[0].command[39].indexname "song"
-indexinfo[0].command[39].command "lowercase"
-indexinfo[0].command[40].indexname "song"
-indexinfo[0].command[40].command "stem:SHORTEST"
-indexinfo[0].command[41].indexname "song"
-indexinfo[0].command[41].command "normalize"
-indexinfo[0].command[42].indexname "song"
-indexinfo[0].command[42].command "plain-tokens"
-indexinfo[0].command[43].indexname "pfrom"
-indexinfo[0].command[43].command "index"
-indexinfo[0].command[44].indexname "pfrom"
-indexinfo[0].command[44].command "numerical"
-indexinfo[0].command[45].indexname "bgnpfrom"
-indexinfo[0].command[45].command "index"
-indexinfo[0].command[46].indexname "bgnpfrom"
-indexinfo[0].command[46].command "attribute"
-indexinfo[0].command[47].indexname "bgnpfrom"
-indexinfo[0].command[47].command "numerical"
-indexinfo[0].command[48].indexname "categories"
-indexinfo[0].command[48].command "index"
-indexinfo[0].command[49].indexname "categories"
-indexinfo[0].command[49].command "lowercase"
-indexinfo[0].command[50].indexname "categories"
-indexinfo[0].command[50].command "stem:SHORTEST"
-indexinfo[0].command[51].indexname "categories"
-indexinfo[0].command[51].command "normalize"
-indexinfo[0].command[52].indexname "categories"
-indexinfo[0].command[52].command "plain-tokens"
-indexinfo[0].command[53].indexname "data"
-indexinfo[0].command[53].command "index"
-indexinfo[0].command[54].indexname "numreview"
-indexinfo[0].command[54].command "index"
-indexinfo[0].command[55].indexname "numreview"
-indexinfo[0].command[55].command "numerical"
-indexinfo[0].command[56].indexname "bgnsellers"
-indexinfo[0].command[56].command "index"
-indexinfo[0].command[57].indexname "bgnsellers"
-indexinfo[0].command[57].command "numerical"
-indexinfo[0].command[58].indexname "image"
-indexinfo[0].command[58].command "index"
-indexinfo[0].command[59].indexname "artist"
-indexinfo[0].command[59].command "index"
-indexinfo[0].command[60].indexname "artist"
-indexinfo[0].command[60].command "lowercase"
-indexinfo[0].command[61].indexname "artist"
-indexinfo[0].command[61].command "stem:SHORTEST"
-indexinfo[0].command[62].indexname "artist"
-indexinfo[0].command[62].command "normalize"
-indexinfo[0].command[63].indexname "artist"
-indexinfo[0].command[63].command "plain-tokens"
-indexinfo[0].command[64].indexname "artistspid"
-indexinfo[0].command[64].command "index"
-indexinfo[0].command[65].indexname "title"
-indexinfo[0].command[65].command "index"
-indexinfo[0].command[66].indexname "title"
-indexinfo[0].command[66].command "lowercase"
-indexinfo[0].command[67].indexname "title"
-indexinfo[0].command[67].command "stem:SHORTEST"
-indexinfo[0].command[68].indexname "title"
-indexinfo[0].command[68].command "normalize"
-indexinfo[0].command[69].indexname "title"
-indexinfo[0].command[69].command "plain-tokens"
-indexinfo[0].command[70].indexname "newestedition"
-indexinfo[0].command[70].command "index"
-indexinfo[0].command[71].indexname "newestedition"
-indexinfo[0].command[71].command "attribute"
-indexinfo[0].command[72].indexname "newestedition"
-indexinfo[0].command[72].command "numerical"
-indexinfo[0].command[73].indexname "bgnpto"
-indexinfo[0].command[73].command "index"
-indexinfo[0].command[74].indexname "year"
-indexinfo[0].command[74].command "index"
-indexinfo[0].command[75].indexname "year"
-indexinfo[0].command[75].command "attribute"
-indexinfo[0].command[76].indexname "year"
-indexinfo[0].command[76].command "numerical"
-indexinfo[0].command[77].indexname "did"
-indexinfo[0].command[77].command "index"
-indexinfo[0].command[78].indexname "did"
-indexinfo[0].command[78].command "attribute"
-indexinfo[0].command[79].indexname "did"
-indexinfo[0].command[79].command "numerical"
-indexinfo[0].command[80].indexname "scorekey"
-indexinfo[0].command[80].command "index"
-indexinfo[0].command[81].indexname "scorekey"
-indexinfo[0].command[81].command "attribute"
-indexinfo[0].command[82].indexname "scorekey"
-indexinfo[0].command[82].command "numerical"
-indexinfo[0].command[83].indexname "cbid"
-indexinfo[0].command[83].command "index"
-indexinfo[0].command[84].indexname "cbid"
-indexinfo[0].command[84].command "attribute"
-indexinfo[0].command[85].indexname "cbid"
-indexinfo[0].command[85].command "numerical"
-indexinfo[0].command[86].indexname "rankfeatures"
-indexinfo[0].command[86].command "index"
-indexinfo[0].command[87].indexname "summaryfeatures"
-indexinfo[0].command[87].command "index"
-indexinfo[0].command[88].indexname "bgndata"
-indexinfo[0].command[88].command "dynteaser"
-indexinfo[0].command[89].indexname "ew"
-indexinfo[0].command[89].command "highlight"
-indexinfo[0].command[90].indexname "song"
-indexinfo[0].command[90].command "dynteaser"
-indexinfo[0].command[91].indexname "bgnpto"
-indexinfo[0].command[91].command "dynteaser"
-indexinfo[0].command[92].indexname "bgnpto"
-indexinfo[0].command[92].command "highlight"
-indexinfo[0].command[93].indexname "default"
-indexinfo[0].command[93].command "lowercase"
-indexinfo[0].command[94].indexname "default"
-indexinfo[0].command[94].command "index"
-indexinfo[0].command[95].indexname "default"
-indexinfo[0].command[95].command "plain-tokens"
-indexinfo[0].command[96].indexname "default"
-indexinfo[0].command[96].command "stem:SHORTEST"
-indexinfo[0].command[97].indexname "default"
-indexinfo[0].command[97].command "normalize" \ No newline at end of file
+indexinfo[].name "newrank"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "bgndata"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sales"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sales"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "sales"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "pto"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "pto"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "pto"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "keys"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "keys"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "keys"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "keys"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "keys"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "mid"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "mid"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "mid"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "ew"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "ew"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "ew"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "ew"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "ew"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "surl"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "userrate"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "userrate"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "pid"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "weight"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "weight"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "weight"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "url"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "isbn"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "fmt"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "fmt"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "fmt"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "fmt"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "fmt"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "albumid"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "disp_song"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "song"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "song"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "song"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "song"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "song"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "pfrom"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "pfrom"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "bgnpfrom"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "bgnpfrom"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "bgnpfrom"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "categories"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "categories"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "categories"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "categories"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "categories"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "data"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "numreview"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "numreview"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "bgnsellers"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "bgnsellers"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "image"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "artist"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "artist"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "artist"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "artist"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "artist"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "artistspid"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "newestedition"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "newestedition"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "newestedition"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "bgnpto"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "year"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "year"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "year"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "did"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "did"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "did"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[80].indexname "scorekey"
+indexinfo[].command[80].command "index"
+indexinfo[].command[81].indexname "scorekey"
+indexinfo[].command[81].command "attribute"
+indexinfo[].command[82].indexname "scorekey"
+indexinfo[].command[82].command "numerical"
+indexinfo[].command[83].indexname "cbid"
+indexinfo[].command[83].command "index"
+indexinfo[].command[84].indexname "cbid"
+indexinfo[].command[84].command "attribute"
+indexinfo[].command[85].indexname "cbid"
+indexinfo[].command[85].command "numerical"
+indexinfo[].command[86].indexname "rankfeatures"
+indexinfo[].command[86].command "index"
+indexinfo[].command[87].indexname "summaryfeatures"
+indexinfo[].command[87].command "index"
+indexinfo[].command[88].indexname "bgndata"
+indexinfo[].command[88].command "dynteaser"
+indexinfo[].command[89].indexname "ew"
+indexinfo[].command[89].command "highlight"
+indexinfo[].command[90].indexname "song"
+indexinfo[].command[90].command "dynteaser"
+indexinfo[].command[91].indexname "bgnpto"
+indexinfo[].command[91].command "dynteaser"
+indexinfo[].command[92].indexname "bgnpto"
+indexinfo[].command[92].command "highlight"
+indexinfo[].command[93].indexname "default"
+indexinfo[].command[93].command "lowercase"
+indexinfo[].command[94].indexname "default"
+indexinfo[].command[94].command "index"
+indexinfo[].command[95].indexname "default"
+indexinfo[].command[95].command "plain-tokens"
+indexinfo[].command[96].indexname "default"
+indexinfo[].command[96].command "stem:SHORTEST"
+indexinfo[].command[97].indexname "default"
+indexinfo[].command[97].command "normalize"
diff --git a/config-model/src/test/derived/newrank/juniperrc.cfg b/config-model/src/test/derived/newrank/juniperrc.cfg
index b5d7438e081..f5b2c166687 100755..100644
--- a/config-model/src/test/derived/newrank/juniperrc.cfg
+++ b/config-model/src/test/derived/newrank/juniperrc.cfg
@@ -8,14 +8,14 @@ winsize_fallback_multiplier 10.0
max_match_candidates 1000
stem_min_length 5
stem_max_extend 3
-override[0].fieldname "ew"
-override[0].length 65536
-override[0].max_matches 1
-override[0].min_length 8192
-override[0].prefix true
-override[0].surround_max 65536
-override[0].winsize 200
-override[0].winsize_fallback_multiplier 10.0
-override[0].max_match_candidates 1000
-override[0].stem_min_length 5
-override[0].stem_max_extend 3 \ No newline at end of file
+override[].fieldname "ew"
+override[].length 65536
+override[].max_matches 1
+override[].min_length 8192
+override[].prefix true
+override[].surround_max 65536
+override[].winsize 200
+override[].winsize_fallback_multiplier 10.0
+override[].max_match_candidates 1000
+override[].stem_min_length 5
+override[].stem_max_extend 3
diff --git a/config-model/src/test/derived/newrank/rank-profiles.cfg b/config-model/src/test/derived/newrank/rank-profiles.cfg
index caca83a9a91..873d3c0cd49 100644
--- a/config-model/src/test/derived/newrank/rank-profiles.cfg
+++ b/config-model/src/test/derived/newrank/rank-profiles.cfg
@@ -1,10 +1,10 @@
-rankprofile[0].name "default"
-rankprofile[1].name "unranked"
-rankprofile[1].fef.property[0].name "vespa.rank.firstphase"
-rankprofile[1].fef.property[0].value "value(0)"
-rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize"
-rankprofile[1].fef.property[1].value "0"
-rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize"
-rankprofile[1].fef.property[2].value "0"
-rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures"
-rankprofile[1].fef.property[3].value "true" \ No newline at end of file
+rankprofile[].name "default"
+rankprofile[].name "unranked"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "value(0)"
+rankprofile[].fef.property[].name "vespa.hitcollector.heapsize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.hitcollector.arraysize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.dump.ignoredefaultfeatures"
+rankprofile[].fef.property[].value "true"
diff --git a/config-model/src/test/derived/newrank/summary.cfg b/config-model/src/test/derived/newrank/summary.cfg
index 7cb5a695a5d..7cd92c26e02 100644
--- a/config-model/src/test/derived/newrank/summary.cfg
+++ b/config-model/src/test/derived/newrank/summary.cfg
@@ -1,97 +1,97 @@
defaultsummaryid 912980235
-classes[0].id 912980235
-classes[0].name "default"
-classes[0].fields[0].name "bgndata"
-classes[0].fields[0].type "longstring"
-classes[0].fields[1].name "sales"
-classes[0].fields[1].type "integer"
-classes[0].fields[2].name "pto"
-classes[0].fields[2].type "integer"
-classes[0].fields[3].name "mid"
-classes[0].fields[3].type "integer"
-classes[0].fields[4].name "ew"
-classes[0].fields[4].type "longstring"
-classes[0].fields[5].name "surl"
-classes[0].fields[5].type "longstring"
-classes[0].fields[6].name "userrate"
-classes[0].fields[6].type "integer"
-classes[0].fields[7].name "pid"
-classes[0].fields[7].type "longstring"
-classes[0].fields[8].name "weight"
-classes[0].fields[8].type "float"
-classes[0].fields[9].name "url"
-classes[0].fields[9].type "longstring"
-classes[0].fields[10].name "isbn"
-classes[0].fields[10].type "longstring"
-classes[0].fields[11].name "fmt"
-classes[0].fields[11].type "longstring"
-classes[0].fields[12].name "albumid"
-classes[0].fields[12].type "longstring"
-classes[0].fields[13].name "disp_song"
-classes[0].fields[13].type "longstring"
-classes[0].fields[14].name "song"
-classes[0].fields[14].type "longstring"
-classes[0].fields[15].name "pfrom"
-classes[0].fields[15].type "integer"
-classes[0].fields[16].name "bgnpfrom"
-classes[0].fields[16].type "float"
-classes[0].fields[17].name "categories"
-classes[0].fields[17].type "longstring"
-classes[0].fields[18].name "data"
-classes[0].fields[18].type "longstring"
-classes[0].fields[19].name "numreview"
-classes[0].fields[19].type "integer"
-classes[0].fields[20].name "bgnsellers"
-classes[0].fields[20].type "integer"
-classes[0].fields[21].name "image"
-classes[0].fields[21].type "longstring"
-classes[0].fields[22].name "artist"
-classes[0].fields[22].type "longstring"
-classes[0].fields[23].name "artistspid"
-classes[0].fields[23].type "longstring"
-classes[0].fields[24].name "title"
-classes[0].fields[24].type "longstring"
-classes[0].fields[25].name "newestedition"
-classes[0].fields[25].type "integer"
-classes[0].fields[26].name "bgnpto"
-classes[0].fields[26].type "longstring"
-classes[0].fields[27].name "year"
-classes[0].fields[27].type "integer"
-classes[0].fields[28].name "did"
-classes[0].fields[28].type "integer"
-classes[0].fields[29].name "scorekey"
-classes[0].fields[29].type "integer"
-classes[0].fields[30].name "cbid"
-classes[0].fields[30].type "integer"
-classes[0].fields[31].name "rankfeatures"
-classes[0].fields[31].type "featuredata"
-classes[0].fields[32].name "summaryfeatures"
-classes[0].fields[32].type "featuredata"
-classes[0].fields[33].name "documentid"
-classes[0].fields[33].type "longstring"
-classes[1].id 1606815285
-classes[1].name "attributeprefetch"
-classes[1].fields[0].name "sales"
-classes[1].fields[0].type "integer"
-classes[1].fields[1].name "pto"
-classes[1].fields[1].type "integer"
-classes[1].fields[2].name "mid"
-classes[1].fields[2].type "integer"
-classes[1].fields[3].name "weight"
-classes[1].fields[3].type "float"
-classes[1].fields[4].name "bgnpfrom"
-classes[1].fields[4].type "float"
-classes[1].fields[5].name "newestedition"
-classes[1].fields[5].type "integer"
-classes[1].fields[6].name "year"
-classes[1].fields[6].type "integer"
-classes[1].fields[7].name "did"
-classes[1].fields[7].type "integer"
-classes[1].fields[8].name "scorekey"
-classes[1].fields[8].type "integer"
-classes[1].fields[9].name "cbid"
-classes[1].fields[9].type "integer"
-classes[1].fields[10].name "rankfeatures"
-classes[1].fields[10].type "featuredata"
-classes[1].fields[11].name "summaryfeatures"
-classes[1].fields[11].type "featuredata" \ No newline at end of file
+classes[].id 912980235
+classes[].name "default"
+classes[].fields[].name "bgndata"
+classes[].fields[].type "longstring"
+classes[].fields[].name "sales"
+classes[].fields[].type "integer"
+classes[].fields[].name "pto"
+classes[].fields[].type "integer"
+classes[].fields[].name "mid"
+classes[].fields[].type "integer"
+classes[].fields[].name "ew"
+classes[].fields[].type "longstring"
+classes[].fields[].name "surl"
+classes[].fields[].type "longstring"
+classes[].fields[].name "userrate"
+classes[].fields[].type "integer"
+classes[].fields[].name "pid"
+classes[].fields[].type "longstring"
+classes[].fields[].name "weight"
+classes[].fields[].type "float"
+classes[].fields[].name "url"
+classes[].fields[].type "longstring"
+classes[].fields[].name "isbn"
+classes[].fields[].type "longstring"
+classes[].fields[].name "fmt"
+classes[].fields[].type "longstring"
+classes[].fields[].name "albumid"
+classes[].fields[].type "longstring"
+classes[].fields[].name "disp_song"
+classes[].fields[].type "longstring"
+classes[].fields[].name "song"
+classes[].fields[].type "longstring"
+classes[].fields[].name "pfrom"
+classes[].fields[].type "integer"
+classes[].fields[].name "bgnpfrom"
+classes[].fields[].type "float"
+classes[].fields[].name "categories"
+classes[].fields[].type "longstring"
+classes[].fields[].name "data"
+classes[].fields[].type "longstring"
+classes[].fields[].name "numreview"
+classes[].fields[].type "integer"
+classes[].fields[].name "bgnsellers"
+classes[].fields[].type "integer"
+classes[].fields[].name "image"
+classes[].fields[].type "longstring"
+classes[].fields[].name "artist"
+classes[].fields[].type "longstring"
+classes[].fields[].name "artistspid"
+classes[].fields[].type "longstring"
+classes[].fields[].name "title"
+classes[].fields[].type "longstring"
+classes[].fields[].name "newestedition"
+classes[].fields[].type "integer"
+classes[].fields[].name "bgnpto"
+classes[].fields[].type "longstring"
+classes[].fields[].name "year"
+classes[].fields[].type "integer"
+classes[].fields[].name "did"
+classes[].fields[].type "integer"
+classes[].fields[].name "scorekey"
+classes[].fields[].type "integer"
+classes[].fields[].name "cbid"
+classes[].fields[].type "integer"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "documentid"
+classes[].fields[].type "longstring"
+classes[].id 1606815285
+classes[].name "attributeprefetch"
+classes[].fields[].name "sales"
+classes[].fields[].type "integer"
+classes[].fields[].name "pto"
+classes[].fields[].type "integer"
+classes[].fields[].name "mid"
+classes[].fields[].type "integer"
+classes[].fields[].name "weight"
+classes[].fields[].type "float"
+classes[].fields[].name "bgnpfrom"
+classes[].fields[].type "float"
+classes[].fields[].name "newestedition"
+classes[].fields[].type "integer"
+classes[].fields[].name "year"
+classes[].fields[].type "integer"
+classes[].fields[].name "did"
+classes[].fields[].type "integer"
+classes[].fields[].name "scorekey"
+classes[].fields[].type "integer"
+classes[].fields[].name "cbid"
+classes[].fields[].type "integer"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
diff --git a/config-model/src/test/derived/newrank/summarymap.cfg b/config-model/src/test/derived/newrank/summarymap.cfg
index 1ba02ac9060..3350d892b0c 100644
--- a/config-model/src/test/derived/newrank/summarymap.cfg
+++ b/config-model/src/test/derived/newrank/summarymap.cfg
@@ -1,49 +1,49 @@
defaultoutputclass -1
-override[0].field "bgndata"
-override[0].command "dynamicteaser"
-override[0].arguments "bgndata"
-override[1].field "sales"
-override[1].command "attribute"
-override[1].arguments "sales"
-override[2].field "pto"
-override[2].command "attribute"
-override[2].arguments "pto"
-override[3].field "mid"
-override[3].command "attribute"
-override[3].arguments "mid"
-override[4].field "ew"
-override[4].command "dynamicteaser"
-override[4].arguments "ew"
-override[5].field "weight"
-override[5].command "attribute"
-override[5].arguments "weight"
-override[6].field "song"
-override[6].command "dynamicteaser"
-override[6].arguments "song"
-override[7].field "bgnpfrom"
-override[7].command "attribute"
-override[7].arguments "bgnpfrom"
-override[8].field "newestedition"
-override[8].command "attribute"
-override[8].arguments "newestedition"
-override[9].field "bgnpto"
-override[9].command "dynamicteaser"
-override[9].arguments "bgnpto"
-override[10].field "year"
-override[10].command "attribute"
-override[10].arguments "year"
-override[11].field "did"
-override[11].command "attribute"
-override[11].arguments "did"
-override[12].field "scorekey"
-override[12].command "attribute"
-override[12].arguments "scorekey"
-override[13].field "cbid"
-override[13].command "attribute"
-override[13].arguments "cbid"
-override[14].field "rankfeatures"
-override[14].command "rankfeatures"
-override[14].arguments ""
-override[15].field "summaryfeatures"
-override[15].command "summaryfeatures"
-override[15].arguments "" \ No newline at end of file
+override[].field "bgndata"
+override[].command "dynamicteaser"
+override[].arguments "bgndata"
+override[].field "sales"
+override[].command "attribute"
+override[].arguments "sales"
+override[].field "pto"
+override[].command "attribute"
+override[].arguments "pto"
+override[].field "mid"
+override[].command "attribute"
+override[].arguments "mid"
+override[].field "ew"
+override[].command "dynamicteaser"
+override[].arguments "ew"
+override[].field "weight"
+override[].command "attribute"
+override[].arguments "weight"
+override[].field "song"
+override[].command "dynamicteaser"
+override[].arguments "song"
+override[].field "bgnpfrom"
+override[].command "attribute"
+override[].arguments "bgnpfrom"
+override[].field "newestedition"
+override[].command "attribute"
+override[].arguments "newestedition"
+override[].field "bgnpto"
+override[].command "dynamicteaser"
+override[].arguments "bgnpto"
+override[].field "year"
+override[].command "attribute"
+override[].arguments "year"
+override[].field "did"
+override[].command "attribute"
+override[].arguments "did"
+override[].field "scorekey"
+override[].command "attribute"
+override[].arguments "scorekey"
+override[].field "cbid"
+override[].command "attribute"
+override[].arguments "cbid"
+override[].field "rankfeatures"
+override[].command "rankfeatures"
+override[].arguments ""
+override[].field "summaryfeatures"
+override[].command "summaryfeatures"
+override[].arguments ""
diff --git a/config-model/src/test/derived/orderilscripts/ilscripts.cfg b/config-model/src/test/derived/orderilscripts/ilscripts.cfg
index a11fbe05f5d..3dcb48e4205 100644
--- a/config-model/src/test/derived/orderilscripts/ilscripts.cfg
+++ b/config-model/src/test/derived/orderilscripts/ilscripts.cfg
@@ -1,6 +1,6 @@
maxtermoccurrences 100
fieldmatchmaxlength 1000000
-ilscript[0].doctype "orderilscripts"
-ilscript[0].docfield[0] "foo"
-ilscript[0].content[0] "clear_state | guard { input foo | summary bar; }"
-ilscript[0].content[1] "clear_state | guard { input foo | tokenize normalize stem:\"SHORTEST\" | summary foo | index foo; }"
+ilscript[].doctype "orderilscripts"
+ilscript[].docfield[0] "foo"
+ilscript[].content[0] "clear_state | guard { input foo | summary bar; }"
+ilscript[].content[1] "clear_state | guard { input foo | tokenize normalize stem:\"SHORTEST\" | summary foo | index foo; }"
diff --git a/config-model/src/test/derived/position_array/ilscripts.cfg b/config-model/src/test/derived/position_array/ilscripts.cfg
index afdd5b548cf..9b3be601c28 100644
--- a/config-model/src/test/derived/position_array/ilscripts.cfg
+++ b/config-model/src/test/derived/position_array/ilscripts.cfg
@@ -1,5 +1,5 @@
maxtermoccurrences 100
fieldmatchmaxlength 1000000
-ilscript[0].doctype "position_array"
-ilscript[0].docfield[0] "pos"
-ilscript[0].content[0] "clear_state | guard { input pos | for_each { zcurve } | attribute pos_zcurve; }"
+ilscript[].doctype "position_array"
+ilscript[].docfield[0] "pos"
+ilscript[].content[0] "clear_state | guard { input pos | for_each { zcurve } | attribute pos_zcurve; }"
diff --git a/config-model/src/test/derived/position_array/index-info.cfg b/config-model/src/test/derived/position_array/index-info.cfg
index 8ae074d337f..0230db3fa2b 100644
--- a/config-model/src/test/derived/position_array/index-info.cfg
+++ b/config-model/src/test/derived/position_array/index-info.cfg
@@ -1,39 +1,39 @@
-indexinfo[0].name "position_array"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "pos.x"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "pos.x"
-indexinfo[0].command[3].command "numerical"
-indexinfo[0].command[4].indexname "pos.y"
-indexinfo[0].command[4].command "index"
-indexinfo[0].command[5].indexname "pos.y"
-indexinfo[0].command[5].command "numerical"
-indexinfo[0].command[6].indexname "pos"
-indexinfo[0].command[6].command "default-position"
-indexinfo[0].command[7].indexname "pos"
-indexinfo[0].command[7].command "index"
-indexinfo[0].command[8].indexname "pos"
-indexinfo[0].command[8].command "multivalue"
-indexinfo[0].command[9].indexname "pos.distance"
-indexinfo[0].command[9].command "index"
-indexinfo[0].command[10].indexname "pos.distance"
-indexinfo[0].command[10].command "numerical"
-indexinfo[0].command[11].indexname "pos.position"
-indexinfo[0].command[11].command "index"
-indexinfo[0].command[12].indexname "pos.position"
-indexinfo[0].command[12].command "multivalue"
-indexinfo[0].command[13].indexname "pos_zcurve"
-indexinfo[0].command[13].command "index"
-indexinfo[0].command[14].indexname "pos_zcurve"
-indexinfo[0].command[14].command "multivalue"
-indexinfo[0].command[15].indexname "pos_zcurve"
-indexinfo[0].command[15].command "attribute"
-indexinfo[0].command[16].indexname "pos_zcurve"
-indexinfo[0].command[16].command "fast-search"
-indexinfo[0].command[17].indexname "rankfeatures"
-indexinfo[0].command[17].command "index"
-indexinfo[0].command[18].indexname "summaryfeatures"
-indexinfo[0].command[18].command "index" \ No newline at end of file
+indexinfo[].name "position_array"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "pos.x"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "pos.x"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "pos.y"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "pos.y"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "pos"
+indexinfo[].command[].command "default-position"
+indexinfo[].command[].indexname "pos"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "pos"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "pos.distance"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "pos.distance"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "pos.position"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "pos.position"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "pos_zcurve"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "pos_zcurve"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "pos_zcurve"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "pos_zcurve"
+indexinfo[].command[].command "fast-search"
+indexinfo[].command[].indexname "rankfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "summaryfeatures"
+indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/position_attribute/ilscripts.cfg b/config-model/src/test/derived/position_attribute/ilscripts.cfg
index dff9d583b3e..d4cc2cd5ec5 100644
--- a/config-model/src/test/derived/position_attribute/ilscripts.cfg
+++ b/config-model/src/test/derived/position_attribute/ilscripts.cfg
@@ -1,5 +1,5 @@
maxtermoccurrences 100
fieldmatchmaxlength 1000000
-ilscript[0].doctype "position_attribute"
-ilscript[0].docfield[0] "pos"
-ilscript[0].content[0] "clear_state | guard { input pos | zcurve | attribute pos_zcurve; }"
+ilscript[].doctype "position_attribute"
+ilscript[].docfield[0] "pos"
+ilscript[].content[0] "clear_state | guard { input pos | zcurve | attribute pos_zcurve; }"
diff --git a/config-model/src/test/derived/position_attribute/index-info.cfg b/config-model/src/test/derived/position_attribute/index-info.cfg
index 99d2c621722..db61a7fff4f 100644
--- a/config-model/src/test/derived/position_attribute/index-info.cfg
+++ b/config-model/src/test/derived/position_attribute/index-info.cfg
@@ -1,37 +1,37 @@
-indexinfo[0].name "position_attribute"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "pos.x"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "pos.x"
-indexinfo[0].command[3].command "numerical"
-indexinfo[0].command[4].indexname "pos.y"
-indexinfo[0].command[4].command "index"
-indexinfo[0].command[5].indexname "pos.y"
-indexinfo[0].command[5].command "numerical"
-indexinfo[0].command[6].indexname "pos"
-indexinfo[0].command[6].command "default-position"
-indexinfo[0].command[7].indexname "pos"
-indexinfo[0].command[7].command "index"
-indexinfo[0].command[8].indexname "pos.distance"
-indexinfo[0].command[8].command "index"
-indexinfo[0].command[9].indexname "pos.distance"
-indexinfo[0].command[9].command "numerical"
-indexinfo[0].command[10].indexname "pos.position"
-indexinfo[0].command[10].command "index"
-indexinfo[0].command[11].indexname "pos.position"
-indexinfo[0].command[11].command "multivalue"
-indexinfo[0].command[12].indexname "pos_zcurve"
-indexinfo[0].command[12].command "index"
-indexinfo[0].command[13].indexname "pos_zcurve"
-indexinfo[0].command[13].command "attribute"
-indexinfo[0].command[14].indexname "pos_zcurve"
-indexinfo[0].command[14].command "fast-search"
-indexinfo[0].command[15].indexname "pos_zcurve"
-indexinfo[0].command[15].command "numerical"
-indexinfo[0].command[16].indexname "rankfeatures"
-indexinfo[0].command[16].command "index"
-indexinfo[0].command[17].indexname "summaryfeatures"
-indexinfo[0].command[17].command "index" \ No newline at end of file
+indexinfo[].name "position_attribute"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "pos.x"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "pos.x"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "pos.y"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "pos.y"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "pos"
+indexinfo[].command[].command "default-position"
+indexinfo[].command[].indexname "pos"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "pos.distance"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "pos.distance"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "pos.position"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "pos.position"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "pos_zcurve"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "pos_zcurve"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "pos_zcurve"
+indexinfo[].command[].command "fast-search"
+indexinfo[].command[].indexname "pos_zcurve"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "rankfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "summaryfeatures"
+indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/position_extra/ilscripts.cfg b/config-model/src/test/derived/position_extra/ilscripts.cfg
index 24d80d0df9d..f7c5d1195fa 100644
--- a/config-model/src/test/derived/position_extra/ilscripts.cfg
+++ b/config-model/src/test/derived/position_extra/ilscripts.cfg
@@ -1,5 +1,5 @@
maxtermoccurrences 100
fieldmatchmaxlength 1000000
-ilscript[0].doctype "position_extra"
-ilscript[0].docfield[0] "pos_str"
-ilscript[0].content[0] "clear_state | guard { input pos_str | to_pos | zcurve | attribute pos_ext_zcurve; }"
+ilscript[].doctype "position_extra"
+ilscript[].docfield[0] "pos_str"
+ilscript[].content[0] "clear_state | guard { input pos_str | to_pos | zcurve | attribute pos_ext_zcurve; }"
diff --git a/config-model/src/test/derived/position_extra/index-info.cfg b/config-model/src/test/derived/position_extra/index-info.cfg
index 649dacc24e0..f7afda263a1 100644
--- a/config-model/src/test/derived/position_extra/index-info.cfg
+++ b/config-model/src/test/derived/position_extra/index-info.cfg
@@ -1,31 +1,31 @@
-indexinfo[0].name "position_extra"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "pos_str"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "pos_ext"
-indexinfo[0].command[3].command "default-position"
-indexinfo[0].command[4].indexname "pos_ext"
-indexinfo[0].command[4].command "index"
-indexinfo[0].command[5].indexname "pos_ext.distance"
-indexinfo[0].command[5].command "index"
-indexinfo[0].command[6].indexname "pos_ext.distance"
-indexinfo[0].command[6].command "numerical"
-indexinfo[0].command[7].indexname "pos_ext.position"
-indexinfo[0].command[7].command "index"
-indexinfo[0].command[8].indexname "pos_ext.position"
-indexinfo[0].command[8].command "multivalue"
-indexinfo[0].command[9].indexname "pos_ext_zcurve"
-indexinfo[0].command[9].command "index"
-indexinfo[0].command[10].indexname "pos_ext_zcurve"
-indexinfo[0].command[10].command "attribute"
-indexinfo[0].command[11].indexname "pos_ext_zcurve"
-indexinfo[0].command[11].command "fast-search"
-indexinfo[0].command[12].indexname "pos_ext_zcurve"
-indexinfo[0].command[12].command "numerical"
-indexinfo[0].command[13].indexname "rankfeatures"
-indexinfo[0].command[13].command "index"
-indexinfo[0].command[14].indexname "summaryfeatures"
-indexinfo[0].command[14].command "index" \ No newline at end of file
+indexinfo[].name "position_extra"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "pos_str"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "pos_ext"
+indexinfo[].command[].command "default-position"
+indexinfo[].command[].indexname "pos_ext"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "pos_ext.distance"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "pos_ext.distance"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "pos_ext.position"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "pos_ext.position"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "pos_ext_zcurve"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "pos_ext_zcurve"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "pos_ext_zcurve"
+indexinfo[].command[].command "fast-search"
+indexinfo[].command[].indexname "pos_ext_zcurve"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "rankfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "summaryfeatures"
+indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/position_nosummary/summary.cfg b/config-model/src/test/derived/position_nosummary/summary.cfg
index fbf091209b9..fad012393ef 100644
--- a/config-model/src/test/derived/position_nosummary/summary.cfg
+++ b/config-model/src/test/derived/position_nosummary/summary.cfg
@@ -1,21 +1,21 @@
defaultsummaryid 1727020212
-classes[0].id 1727020212
-classes[0].name "default"
-classes[0].fields[0].name "pos.position"
-classes[0].fields[0].type "xmlstring"
-classes[0].fields[1].name "pos.distance"
-classes[0].fields[1].type "integer"
-classes[0].fields[2].name "rankfeatures"
-classes[0].fields[2].type "featuredata"
-classes[0].fields[3].name "summaryfeatures"
-classes[0].fields[3].type "featuredata"
-classes[0].fields[4].name "documentid"
-classes[0].fields[4].type "longstring"
-classes[1].id 1530141163
-classes[1].name "attributeprefetch"
-classes[1].fields[0].name "pos_zcurve"
-classes[1].fields[0].type "int64"
-classes[1].fields[1].name "rankfeatures"
-classes[1].fields[1].type "featuredata"
-classes[1].fields[2].name "summaryfeatures"
-classes[1].fields[2].type "featuredata" \ No newline at end of file
+classes[].id 1727020212
+classes[].name "default"
+classes[].fields[].name "pos.position"
+classes[].fields[].type "xmlstring"
+classes[].fields[].name "pos.distance"
+classes[].fields[].type "integer"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "documentid"
+classes[].fields[].type "longstring"
+classes[].id 1530141163
+classes[].name "attributeprefetch"
+classes[].fields[].name "pos_zcurve"
+classes[].fields[].type "int64"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
diff --git a/config-model/src/test/derived/position_nosummary/summarymap.cfg b/config-model/src/test/derived/position_nosummary/summarymap.cfg
index 2e8ada7daa0..cc1c14a6614 100644
--- a/config-model/src/test/derived/position_nosummary/summarymap.cfg
+++ b/config-model/src/test/derived/position_nosummary/summarymap.cfg
@@ -1,16 +1,16 @@
defaultoutputclass -1
-override[0].field "pos.position"
-override[0].command "positions"
-override[0].arguments "pos_zcurve"
-override[1].field "pos.distance"
-override[1].command "absdist"
-override[1].arguments "pos_zcurve"
-override[2].field "rankfeatures"
-override[2].command "rankfeatures"
-override[2].arguments ""
-override[3].field "summaryfeatures"
-override[3].command "summaryfeatures"
-override[3].arguments ""
-override[4].field "pos_zcurve"
-override[4].command "attribute"
-override[4].arguments "pos_zcurve" \ No newline at end of file
+override[].field "pos.position"
+override[].command "positions"
+override[].arguments "pos_zcurve"
+override[].field "pos.distance"
+override[].command "absdist"
+override[].arguments "pos_zcurve"
+override[].field "rankfeatures"
+override[].command "rankfeatures"
+override[].arguments ""
+override[].field "summaryfeatures"
+override[].command "summaryfeatures"
+override[].arguments ""
+override[].field "pos_zcurve"
+override[].command "attribute"
+override[].arguments "pos_zcurve"
diff --git a/config-model/src/test/derived/position_summary/summary.cfg b/config-model/src/test/derived/position_summary/summary.cfg
index 708fbe9ca18..af801f43cc0 100644
--- a/config-model/src/test/derived/position_summary/summary.cfg
+++ b/config-model/src/test/derived/position_summary/summary.cfg
@@ -1,23 +1,23 @@
defaultsummaryid 230670304
-classes[0].id 230670304
-classes[0].name "default"
-classes[0].fields[0].name "pos"
-classes[0].fields[0].type "jsonstring"
-classes[0].fields[1].name "pos.position"
-classes[0].fields[1].type "xmlstring"
-classes[0].fields[2].name "pos.distance"
-classes[0].fields[2].type "integer"
-classes[0].fields[3].name "rankfeatures"
-classes[0].fields[3].type "featuredata"
-classes[0].fields[4].name "summaryfeatures"
-classes[0].fields[4].type "featuredata"
-classes[0].fields[5].name "documentid"
-classes[0].fields[5].type "longstring"
-classes[1].id 1530141163
-classes[1].name "attributeprefetch"
-classes[1].fields[0].name "pos_zcurve"
-classes[1].fields[0].type "int64"
-classes[1].fields[1].name "rankfeatures"
-classes[1].fields[1].type "featuredata"
-classes[1].fields[2].name "summaryfeatures"
-classes[1].fields[2].type "featuredata" \ No newline at end of file
+classes[].id 230670304
+classes[].name "default"
+classes[].fields[].name "pos"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "pos.position"
+classes[].fields[].type "xmlstring"
+classes[].fields[].name "pos.distance"
+classes[].fields[].type "integer"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "documentid"
+classes[].fields[].type "longstring"
+classes[].id 1530141163
+classes[].name "attributeprefetch"
+classes[].fields[].name "pos_zcurve"
+classes[].fields[].type "int64"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
diff --git a/config-model/src/test/derived/position_summary/summarymap.cfg b/config-model/src/test/derived/position_summary/summarymap.cfg
index caf88368044..de48a19b6db 100644
--- a/config-model/src/test/derived/position_summary/summarymap.cfg
+++ b/config-model/src/test/derived/position_summary/summarymap.cfg
@@ -1,19 +1,19 @@
defaultoutputclass -1
-override[0].field "pos"
-override[0].command "geopos"
-override[0].arguments "pos_zcurve"
-override[1].field "pos.position"
-override[1].command "positions"
-override[1].arguments "pos_zcurve"
-override[2].field "pos.distance"
-override[2].command "absdist"
-override[2].arguments "pos_zcurve"
-override[3].field "rankfeatures"
-override[3].command "rankfeatures"
-override[3].arguments ""
-override[4].field "summaryfeatures"
-override[4].command "summaryfeatures"
-override[4].arguments ""
-override[5].field "pos_zcurve"
-override[5].command "attribute"
-override[5].arguments "pos_zcurve" \ No newline at end of file
+override[].field "pos"
+override[].command "geopos"
+override[].arguments "pos_zcurve"
+override[].field "pos.position"
+override[].command "positions"
+override[].arguments "pos_zcurve"
+override[].field "pos.distance"
+override[].command "absdist"
+override[].arguments "pos_zcurve"
+override[].field "rankfeatures"
+override[].command "rankfeatures"
+override[].arguments ""
+override[].field "summaryfeatures"
+override[].command "summaryfeatures"
+override[].arguments ""
+override[].field "pos_zcurve"
+override[].command "attribute"
+override[].arguments "pos_zcurve"
diff --git a/config-model/src/test/derived/position_summary/vsmsummary.cfg b/config-model/src/test/derived/position_summary/vsmsummary.cfg
index 770a228ed52..d7d45782843 100644
--- a/config-model/src/test/derived/position_summary/vsmsummary.cfg
+++ b/config-model/src/test/derived/position_summary/vsmsummary.cfg
@@ -1,14 +1,14 @@
outputclass ""
-fieldmap[0].summary "pos"
-fieldmap[0].document[0].field "pos"
-fieldmap[0].command NONE
-fieldmap[1].summary "pos.position"
-fieldmap[1].document[0].field "pos_zcurve"
-fieldmap[1].command NONE
-fieldmap[2].summary "pos.distance"
-fieldmap[2].document[0].field "pos_zcurve"
-fieldmap[2].command NONE
-fieldmap[3].summary "rankfeatures"
-fieldmap[3].command NONE
-fieldmap[4].summary "summaryfeatures"
-fieldmap[4].command NONE \ No newline at end of file
+fieldmap[].summary "pos"
+fieldmap[].document[].field "pos"
+fieldmap[].command NONE
+fieldmap[].summary "pos.position"
+fieldmap[].document[].field "pos_zcurve"
+fieldmap[].command NONE
+fieldmap[].summary "pos.distance"
+fieldmap[].document[].field "pos_zcurve"
+fieldmap[].command NONE
+fieldmap[].summary "rankfeatures"
+fieldmap[].command NONE
+fieldmap[].summary "summaryfeatures"
+fieldmap[].command NONE
diff --git a/config-model/src/test/derived/predicate_attribute/attributes.cfg b/config-model/src/test/derived/predicate_attribute/attributes.cfg
index 2a5feee1735..4305628cf23 100644
--- a/config-model/src/test/derived/predicate_attribute/attributes.cfg
+++ b/config-model/src/test/derived/predicate_attribute/attributes.cfg
@@ -1,20 +1,20 @@
-attribute[0].name "some_predicate_field"
-attribute[0].datatype PREDICATE
-attribute[0].collectiontype SINGLE
-attribute[0].removeifzero false
-attribute[0].createifnonexistent false
-attribute[0].fastsearch false
-attribute[0].huge false
-attribute[0].sortascending true
-attribute[0].sortfunction UCA
-attribute[0].sortstrength PRIMARY
-attribute[0].sortlocale ""
-attribute[0].enablebitvectors false
-attribute[0].enableonlybitvector false
-attribute[0].fastaccess false
-attribute[0].arity 5
-attribute[0].lowerbound 3
-attribute[0].upperbound 200
-attribute[0].densepostinglistthreshold 0.2
-attribute[0].tensortype ""
-attribute[0].imported false \ No newline at end of file
+attribute[].name "some_predicate_field"
+attribute[].datatype PREDICATE
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 5
+attribute[].lowerbound 3
+attribute[].upperbound 200
+attribute[].densepostinglistthreshold 0.2
+attribute[].tensortype ""
+attribute[].imported false
diff --git a/config-model/src/test/derived/predicate_attribute/index-info.cfg b/config-model/src/test/derived/predicate_attribute/index-info.cfg
index b2c5f9c4d30..7441ca98daa 100644
--- a/config-model/src/test/derived/predicate_attribute/index-info.cfg
+++ b/config-model/src/test/derived/predicate_attribute/index-info.cfg
@@ -1,15 +1,15 @@
-indexinfo[0].name "predicate_type"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "some_predicate_field"
-indexinfo[0].command[2].command "predicate-bounds [3..200]"
-indexinfo[0].command[3].indexname "some_predicate_field"
-indexinfo[0].command[3].command "index"
-indexinfo[0].command[4].indexname "some_predicate_field"
-indexinfo[0].command[4].command "attribute"
-indexinfo[0].command[5].indexname "rankfeatures"
-indexinfo[0].command[5].command "index"
-indexinfo[0].command[6].indexname "summaryfeatures"
-indexinfo[0].command[6].command "index" \ No newline at end of file
+indexinfo[].name "predicate_type"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "some_predicate_field"
+indexinfo[].command[].command "predicate-bounds [3..200]"
+indexinfo[].command[].indexname "some_predicate_field"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "some_predicate_field"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "rankfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "summaryfeatures"
+indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/predicate_attribute/summary.cfg b/config-model/src/test/derived/predicate_attribute/summary.cfg
index e10af36caf5..6e33bd4e567 100644
--- a/config-model/src/test/derived/predicate_attribute/summary.cfg
+++ b/config-model/src/test/derived/predicate_attribute/summary.cfg
@@ -1,17 +1,17 @@
defaultsummaryid 1391971216
-classes[0].id 1391971216
-classes[0].name "default"
-classes[0].fields[0].name "some_predicate_field"
-classes[0].fields[0].type "string"
-classes[0].fields[1].name "rankfeatures"
-classes[0].fields[1].type "featuredata"
-classes[0].fields[2].name "summaryfeatures"
-classes[0].fields[2].type "featuredata"
-classes[0].fields[3].name "documentid"
-classes[0].fields[3].type "longstring"
-classes[1].id 1274088866
-classes[1].name "attributeprefetch"
-classes[1].fields[0].name "rankfeatures"
-classes[1].fields[0].type "featuredata"
-classes[1].fields[1].name "summaryfeatures"
-classes[1].fields[1].type "featuredata" \ No newline at end of file
+classes[].id 1391971216
+classes[].name "default"
+classes[].fields[].name "some_predicate_field"
+classes[].fields[].type "string"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "documentid"
+classes[].fields[].type "longstring"
+classes[].id 1274088866
+classes[].name "attributeprefetch"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
diff --git a/config-model/src/test/derived/predicate_attribute/summarymap.cfg b/config-model/src/test/derived/predicate_attribute/summarymap.cfg
index 42b6e811ee6..8956a146b74 100644
--- a/config-model/src/test/derived/predicate_attribute/summarymap.cfg
+++ b/config-model/src/test/derived/predicate_attribute/summarymap.cfg
@@ -1,7 +1,7 @@
defaultoutputclass -1
-override[0].field "rankfeatures"
-override[0].command "rankfeatures"
-override[0].arguments ""
-override[1].field "summaryfeatures"
-override[1].command "summaryfeatures"
-override[1].arguments "" \ No newline at end of file
+override[].field "rankfeatures"
+override[].command "rankfeatures"
+override[].arguments ""
+override[].field "summaryfeatures"
+override[].command "summaryfeatures"
+override[].arguments ""
diff --git a/config-model/src/test/derived/prefixexactattribute/attributes.cfg b/config-model/src/test/derived/prefixexactattribute/attributes.cfg
index 180b2f4f840..a266c9bab7c 100644
--- a/config-model/src/test/derived/prefixexactattribute/attributes.cfg
+++ b/config-model/src/test/derived/prefixexactattribute/attributes.cfg
@@ -1,40 +1,40 @@
-attribute[0].name "attributefield1"
-attribute[0].datatype STRING
-attribute[0].collectiontype SINGLE
-attribute[0].removeifzero false
-attribute[0].createifnonexistent false
-attribute[0].fastsearch false
-attribute[0].huge false
-attribute[0].sortascending true
-attribute[0].sortfunction UCA
-attribute[0].sortstrength PRIMARY
-attribute[0].sortlocale ""
-attribute[0].enablebitvectors false
-attribute[0].enableonlybitvector false
-attribute[0].fastaccess false
-attribute[0].arity 8
-attribute[0].lowerbound -9223372036854775808
-attribute[0].upperbound 9223372036854775807
-attribute[0].densepostinglistthreshold 0.4
-attribute[0].tensortype ""
-attribute[0].imported false
-attribute[1].name "attributefield2"
-attribute[1].datatype STRING
-attribute[1].collectiontype SINGLE
-attribute[1].removeifzero false
-attribute[1].createifnonexistent false
-attribute[1].fastsearch false
-attribute[1].huge false
-attribute[1].sortascending true
-attribute[1].sortfunction UCA
-attribute[1].sortstrength PRIMARY
-attribute[1].sortlocale ""
-attribute[1].enablebitvectors false
-attribute[1].enableonlybitvector false
-attribute[1].fastaccess false
-attribute[1].arity 8
-attribute[1].lowerbound -9223372036854775808
-attribute[1].upperbound 9223372036854775807
-attribute[1].densepostinglistthreshold 0.4
-attribute[1].tensortype ""
-attribute[1].imported false \ No newline at end of file
+attribute[].name "attributefield1"
+attribute[].datatype STRING
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "attributefield2"
+attribute[].datatype STRING
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
diff --git a/config-model/src/test/derived/prefixexactattribute/documentmanager.cfg b/config-model/src/test/derived/prefixexactattribute/documentmanager.cfg
index 41e39ac52df..aa374bd18ce 100644
--- a/config-model/src/test/derived/prefixexactattribute/documentmanager.cfg
+++ b/config-model/src/test/derived/prefixexactattribute/documentmanager.cfg
@@ -1,61 +1,61 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
-datatype[1].id -739138930
-datatype[1].structtype[0].name "prefixexactattribute.header"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].compresstype NONE
-datatype[1].structtype[0].compresslevel 0
-datatype[1].structtype[0].compressthreshold 95
-datatype[1].structtype[0].compressminsize 800
-datatype[1].structtype[0].field[0].name "indexfield0"
-datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
-datatype[1].structtype[0].field[1].name "attributefield1"
-datatype[1].structtype[0].field[1].datatype 2
-datatype[1].structtype[0].field[1].detailedtype ""
-datatype[1].structtype[0].field[2].name "attributefield2"
-datatype[1].structtype[0].field[2].datatype 2
-datatype[1].structtype[0].field[2].detailedtype ""
-datatype[1].structtype[0].field[3].name "indexfield1"
-datatype[1].structtype[0].field[3].datatype 2
-datatype[1].structtype[0].field[3].detailedtype ""
-datatype[1].structtype[0].field[4].name "indexfield2"
-datatype[1].structtype[0].field[4].datatype 2
-datatype[1].structtype[0].field[4].detailedtype ""
-datatype[1].structtype[0].field[5].name "rankfeatures"
-datatype[1].structtype[0].field[5].datatype 2
-datatype[1].structtype[0].field[5].detailedtype ""
-datatype[1].structtype[0].field[6].name "summaryfeatures"
-datatype[1].structtype[0].field[6].datatype 2
-datatype[1].structtype[0].field[6].detailedtype ""
-datatype[2].id -480519133
-datatype[2].structtype[0].name "prefixexactattribute.body"
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].compresstype NONE
-datatype[2].structtype[0].compresslevel 0
-datatype[2].structtype[0].compressthreshold 95
-datatype[2].structtype[0].compressminsize 800
-datatype[3].id -1812793455
-datatype[3].documenttype[0].name "prefixexactattribute"
-datatype[3].documenttype[0].version 0
-datatype[3].documenttype[0].inherits[0].name "document"
-datatype[3].documenttype[0].inherits[0].version 0
-datatype[3].documenttype[0].headerstruct -739138930
-datatype[3].documenttype[0].bodystruct -480519133
-datatype[3].documenttype[0].fieldsets{[document]}.fields[0] "attributefield1"
-datatype[3].documenttype[0].fieldsets{[document]}.fields[1] "attributefield2"
-datatype[3].documenttype[0].fieldsets{[document]}.fields[2] "indexfield0"
-datatype[3].documenttype[0].fieldsets{[document]}.fields[3] "indexfield1"
-datatype[3].documenttype[0].fieldsets{[document]}.fields[4] "indexfield2"
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -739138930
+datatype[].structtype[].name "prefixexactattribute.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "indexfield0"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "attributefield1"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "attributefield2"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "indexfield1"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "indexfield2"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -480519133
+datatype[].structtype[].name "prefixexactattribute.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id -1812793455
+datatype[].documenttype[].name "prefixexactattribute"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct -739138930
+datatype[].documenttype[].bodystruct -480519133
+datatype[].documenttype[].fieldsets{[document]}.fields[0] "attributefield1"
+datatype[].documenttype[].fieldsets{[document]}.fields[1] "attributefield2"
+datatype[].documenttype[].fieldsets{[document]}.fields[2] "indexfield0"
+datatype[].documenttype[].fieldsets{[document]}.fields[3] "indexfield1"
+datatype[].documenttype[].fieldsets{[document]}.fields[4] "indexfield2"
diff --git a/config-model/src/test/derived/prefixexactattribute/ilscripts.cfg b/config-model/src/test/derived/prefixexactattribute/ilscripts.cfg
index eb7dadf8c1a..1d3a25c2dde 100644
--- a/config-model/src/test/derived/prefixexactattribute/ilscripts.cfg
+++ b/config-model/src/test/derived/prefixexactattribute/ilscripts.cfg
@@ -1,13 +1,13 @@
maxtermoccurrences 100
fieldmatchmaxlength 1000000
-ilscript[0].doctype "prefixexactattribute"
-ilscript[0].docfield[0] "indexfield0"
-ilscript[0].docfield[1] "attributefield1"
-ilscript[0].docfield[2] "attributefield2"
-ilscript[0].docfield[3] "indexfield1"
-ilscript[0].docfield[4] "indexfield2"
-ilscript[0].content[0] "clear_state | guard { input indexfield0 | tokenize normalize stem:\"SHORTEST\" max-length:79 | index indexfield0; }"
-ilscript[0].content[1] "clear_state | guard { input attributefield1 | attribute attributefield1; }"
-ilscript[0].content[2] "clear_state | guard { input attributefield2 | attribute attributefield2; }"
-ilscript[0].content[3] "clear_state | guard { input indexfield1 | exact | index indexfield1; }"
-ilscript[0].content[4] "clear_state | guard { input indexfield2 | exact | index indexfield2; }"
+ilscript[].doctype "prefixexactattribute"
+ilscript[].docfield[0] "indexfield0"
+ilscript[].docfield[1] "attributefield1"
+ilscript[].docfield[2] "attributefield2"
+ilscript[].docfield[3] "indexfield1"
+ilscript[].docfield[4] "indexfield2"
+ilscript[].content[0] "clear_state | guard { input indexfield0 | tokenize normalize stem:\"SHORTEST\" max-length:79 | index indexfield0; }"
+ilscript[].content[1] "clear_state | guard { input attributefield1 | attribute attributefield1; }"
+ilscript[].content[2] "clear_state | guard { input attributefield2 | attribute attributefield2; }"
+ilscript[].content[3] "clear_state | guard { input indexfield1 | exact | index indexfield1; }"
+ilscript[].content[4] "clear_state | guard { input indexfield2 | exact | index indexfield2; }"
diff --git a/config-model/src/test/derived/prefixexactattribute/index-info.cfg b/config-model/src/test/derived/prefixexactattribute/index-info.cfg
index f6a6b7ab32d..6429d34c5f9 100644
--- a/config-model/src/test/derived/prefixexactattribute/index-info.cfg
+++ b/config-model/src/test/derived/prefixexactattribute/index-info.cfg
@@ -1,43 +1,43 @@
-indexinfo[0].name "prefixexactattribute"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "indexfield0"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "indexfield0"
-indexinfo[0].command[3].command "lowercase"
-indexinfo[0].command[4].indexname "indexfield0"
-indexinfo[0].command[4].command "stem:SHORTEST"
-indexinfo[0].command[5].indexname "indexfield0"
-indexinfo[0].command[5].command "normalize"
-indexinfo[0].command[6].indexname "indexfield0"
-indexinfo[0].command[6].command "plain-tokens"
-indexinfo[0].command[7].indexname "attributefield1"
-indexinfo[0].command[7].command "index"
-indexinfo[0].command[8].indexname "attributefield1"
-indexinfo[0].command[8].command "attribute"
-indexinfo[0].command[9].indexname "attributefield1"
-indexinfo[0].command[9].command "exact @"
-indexinfo[0].command[10].indexname "attributefield2"
-indexinfo[0].command[10].command "index"
-indexinfo[0].command[11].indexname "attributefield2"
-indexinfo[0].command[11].command "attribute"
-indexinfo[0].command[12].indexname "attributefield2"
-indexinfo[0].command[12].command "exact @"
-indexinfo[0].command[13].indexname "indexfield1"
-indexinfo[0].command[13].command "index"
-indexinfo[0].command[14].indexname "indexfield1"
-indexinfo[0].command[14].command "lowercase"
-indexinfo[0].command[15].indexname "indexfield1"
-indexinfo[0].command[15].command "exact @"
-indexinfo[0].command[16].indexname "indexfield2"
-indexinfo[0].command[16].command "index"
-indexinfo[0].command[17].indexname "indexfield2"
-indexinfo[0].command[17].command "lowercase"
-indexinfo[0].command[18].indexname "indexfield2"
-indexinfo[0].command[18].command "exact @"
-indexinfo[0].command[19].indexname "rankfeatures"
-indexinfo[0].command[19].command "index"
-indexinfo[0].command[20].indexname "summaryfeatures"
-indexinfo[0].command[20].command "index" \ No newline at end of file
+indexinfo[].name "prefixexactattribute"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "indexfield0"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "indexfield0"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "indexfield0"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "indexfield0"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "indexfield0"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "attributefield1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "attributefield1"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "attributefield1"
+indexinfo[].command[].command "exact @"
+indexinfo[].command[].indexname "attributefield2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "attributefield2"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "attributefield2"
+indexinfo[].command[].command "exact @"
+indexinfo[].command[].indexname "indexfield1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "indexfield1"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "indexfield1"
+indexinfo[].command[].command "exact @"
+indexinfo[].command[].indexname "indexfield2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "indexfield2"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "indexfield2"
+indexinfo[].command[].command "exact @"
+indexinfo[].command[].indexname "rankfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "summaryfeatures"
+indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/prefixexactattribute/vsmfields.cfg b/config-model/src/test/derived/prefixexactattribute/vsmfields.cfg
index 598dfc0b6b1..29bcde9faad 100644
--- a/config-model/src/test/derived/prefixexactattribute/vsmfields.cfg
+++ b/config-model/src/test/derived/prefixexactattribute/vsmfields.cfg
@@ -1,38 +1,38 @@
documentverificationlevel 0
searchall 1
-fieldspec[0].name "indexfield0"
-fieldspec[0].searchmethod AUTOUTF8
-fieldspec[0].arg1 "prefix"
-fieldspec[0].maxlength 79
-fieldspec[0].fieldtype INDEX
-fieldspec[1].name "attributefield1"
-fieldspec[1].searchmethod AUTOUTF8
-fieldspec[1].arg1 "exact"
-fieldspec[1].maxlength 1048576
-fieldspec[1].fieldtype ATTRIBUTE
-fieldspec[2].name "attributefield2"
-fieldspec[2].searchmethod AUTOUTF8
-fieldspec[2].arg1 "exact"
-fieldspec[2].maxlength 1048576
-fieldspec[2].fieldtype ATTRIBUTE
-fieldspec[3].name "indexfield1"
-fieldspec[3].searchmethod AUTOUTF8
-fieldspec[3].arg1 "exact"
-fieldspec[3].maxlength 1048576
-fieldspec[3].fieldtype INDEX
-fieldspec[4].name "indexfield2"
-fieldspec[4].searchmethod AUTOUTF8
-fieldspec[4].arg1 "exact"
-fieldspec[4].maxlength 1048576
-fieldspec[4].fieldtype INDEX
-documenttype[0].name "prefixexactattribute"
-documenttype[0].index[0].name "indexfield0"
-documenttype[0].index[0].field[0].name "indexfield0"
-documenttype[0].index[1].name "attributefield1"
-documenttype[0].index[1].field[0].name "attributefield1"
-documenttype[0].index[2].name "attributefield2"
-documenttype[0].index[2].field[0].name "attributefield2"
-documenttype[0].index[3].name "indexfield1"
-documenttype[0].index[3].field[0].name "indexfield1"
-documenttype[0].index[4].name "indexfield2"
-documenttype[0].index[4].field[0].name "indexfield2" \ No newline at end of file
+fieldspec[].name "indexfield0"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].maxlength 79
+fieldspec[].fieldtype INDEX
+fieldspec[].name "attributefield1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "exact"
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype ATTRIBUTE
+fieldspec[].name "attributefield2"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "exact"
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype ATTRIBUTE
+fieldspec[].name "indexfield1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "exact"
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "indexfield2"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "exact"
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+documenttype[].name "prefixexactattribute"
+documenttype[].index[].name "indexfield0"
+documenttype[].index[].field[].name "indexfield0"
+documenttype[].index[].name "attributefield1"
+documenttype[].index[].field[].name "attributefield1"
+documenttype[].index[].name "attributefield2"
+documenttype[].index[].field[].name "attributefield2"
+documenttype[].index[].name "indexfield1"
+documenttype[].index[].field[].name "indexfield1"
+documenttype[].index[].name "indexfield2"
+documenttype[].index[].field[].name "indexfield2"
diff --git a/config-model/src/test/derived/rankexpression/rank-profiles.cfg b/config-model/src/test/derived/rankexpression/rank-profiles.cfg
index f5652c31d2a..9629ad863d4 100644
--- a/config-model/src/test/derived/rankexpression/rank-profiles.cfg
+++ b/config-model/src/test/derived/rankexpression/rank-profiles.cfg
@@ -1,296 +1,296 @@
-rankprofile[0].name "default"
-rankprofile[0].fef.property[0].name "foo"
-rankprofile[0].fef.property[0].value "bar, baz"
-rankprofile[0].fef.property[1].name "foo"
-rankprofile[0].fef.property[1].value "foobar"
-rankprofile[0].fef.property[2].name "qux"
-rankprofile[0].fef.property[2].value "quux"
-rankprofile[0].fef.property[3].name "foo.bar"
-rankprofile[0].fef.property[3].value "foo.bar"
-rankprofile[0].fef.property[4].name "foo.bar.baz"
-rankprofile[0].fef.property[4].value "123"
-rankprofile[0].fef.property[5].name "foo(bar).baz.2"
-rankprofile[0].fef.property[5].value "123.4"
-rankprofile[0].fef.property[6].name "foo(bar).baz.qux"
-rankprofile[0].fef.property[6].value "foo(bar)"
-rankprofile[0].fef.property[7].name "nud"
-rankprofile[0].fef.property[7].value "ity"
-rankprofile[0].fef.property[8].name "vespa.rank.firstphase"
-rankprofile[0].fef.property[8].value "classicRank"
-rankprofile[0].fef.property[9].name "vespa.rank.secondphase"
-rankprofile[0].fef.property[9].value "rankingExpression(secondphase)"
-rankprofile[0].fef.property[10].name "rankingExpression(secondphase).rankingScript"
-rankprofile[0].fef.property[10].value "4"
-rankprofile[0].fef.property[11].name "vespa.dump.feature"
-rankprofile[0].fef.property[11].value "attribute(foo1).out"
-rankprofile[0].fef.property[12].name "vespa.dump.feature"
-rankprofile[0].fef.property[12].value "attribute(bar1)"
-rankprofile[0].fef.property[13].name "vespa.dump.feature"
-rankprofile[0].fef.property[13].value "attribute(foo2).out"
-rankprofile[0].fef.property[14].name "vespa.dump.feature"
-rankprofile[0].fef.property[14].value "attribute(bar2).out"
-rankprofile[0].fef.property[15].name "vespa.dump.feature"
-rankprofile[0].fef.property[15].value "attribute(foo3).out"
-rankprofile[0].fef.property[16].name "vespa.dump.feature"
-rankprofile[0].fef.property[16].value "attribute(bar3).out"
-rankprofile[0].fef.property[17].name "vespa.dump.feature"
-rankprofile[0].fef.property[17].value "attribute(foo4).out"
-rankprofile[0].fef.property[18].name "vespa.dump.feature"
-rankprofile[0].fef.property[18].value "attribute(bar4).out"
-rankprofile[0].fef.property[19].name "vespa.hitcollector.heapsize"
-rankprofile[0].fef.property[19].value "10"
-rankprofile[0].fef.property[20].name "vespa.hitcollector.arraysize"
-rankprofile[0].fef.property[20].value "20"
-rankprofile[0].fef.property[21].name "vespa.hitcollector.rankscoredroplimit"
-rankprofile[0].fef.property[21].value "-0.5"
-rankprofile[0].fef.property[22].name "vespa.dump.ignoredefaultfeatures"
-rankprofile[0].fef.property[22].value "true"
-rankprofile[1].name "unranked"
-rankprofile[1].fef.property[0].name "vespa.rank.firstphase"
-rankprofile[1].fef.property[0].value "value(0)"
-rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize"
-rankprofile[1].fef.property[1].value "0"
-rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize"
-rankprofile[1].fef.property[2].value "0"
-rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures"
-rankprofile[1].fef.property[3].value "true"
-rankprofile[2].name "static"
-rankprofile[2].fef.property[0].name "vespa.rank.firstphase"
-rankprofile[2].fef.property[0].value "attribute"
-rankprofile[2].fef.property[1].name "vespa.rank.secondphase"
-rankprofile[2].fef.property[1].value "rankingExpression(secondphase)"
-rankprofile[2].fef.property[2].name "rankingExpression(secondphase).rankingScript"
-rankprofile[2].fef.property[2].value "10 + feature(arg1).out.out"
-rankprofile[2].fef.property[3].name "vespa.summary.feature"
-rankprofile[2].fef.property[3].value "attribute(foo1).out"
-rankprofile[2].fef.property[4].name "vespa.summary.feature"
-rankprofile[2].fef.property[4].value "attribute(bar1)"
-rankprofile[2].fef.property[5].name "vespa.summary.feature"
-rankprofile[2].fef.property[5].value "attribute(foo2).out"
-rankprofile[2].fef.property[6].name "vespa.summary.feature"
-rankprofile[2].fef.property[6].value "attribute(bar2).out"
-rankprofile[2].fef.property[7].name "vespa.summary.feature"
-rankprofile[2].fef.property[7].value "attribute(foo3).out"
-rankprofile[2].fef.property[8].name "vespa.summary.feature"
-rankprofile[2].fef.property[8].value "attribute(bar3).out"
-rankprofile[2].fef.property[9].name "vespa.summary.feature"
-rankprofile[2].fef.property[9].value "attribute(foo4).out"
-rankprofile[2].fef.property[10].name "vespa.summary.feature"
-rankprofile[2].fef.property[10].value "attribute(bar4).out"
-rankprofile[3].name "overflow"
-rankprofile[3].fef.property[0].name "vespa.rank.firstphase"
-rankprofile[3].fef.property[0].value "rankingExpression(firstphase)"
-rankprofile[3].fef.property[1].name "rankingExpression(firstphase).rankingScript"
-rankprofile[3].fef.property[1].value "feature1(argument1,argument2,argument3,argument4).output + feature2(argument1,argument2,argument3,argument4).output + feature3(argument1,argument2,argument3,argument4).output + feature4(argument1,argument2,argument3,argument4).output + feature5(argument1,argument2,argument3,argument4).output + feature6(argument1,argument2,argument3,argument4).output + feature7(argument1,argument2,argument3,argument4).output + feature8(argument1,argument2,argument3,argument4).output + feature9(argument1,argument2,argument3,argument4).output + feature10(argument1,argument2,argument3,argument4).output + feature11(argument1,argument2,argument3,argument4).output + feature12(argument1,argument2,argument3,argument4).output + feature13(argument1,argument2,argument3,argument4).output + feature14(argument1,argument2,argument3,argument4).output + feature15(argument1,argument2,argument3,argument4).output + feature16(argument1,argument2,argument3,argument4).output + feature17(argument1,argument2,argument3,argument4).output + feature18(argument1,argument2,argument3,argument4).output + feature19(argument1,argument2,argument3,argument4).output + feature20(argument1,argument2,argument3,argument4).output + feature21(argument1,argument2,argument3,argument4).output + feature22(argument1,argument2,argument3,argument4).output + feature23(argument1,argument2,argument3,argument4).output + feature24(argument1,argument2,argument3,argument4).output + feature25(argument1,argument2,argument3,argument4).output + feature26(argument1,argument2,argument3,argument4).output + feature27(argument1,argument2,argument3,argument4).output + feature28(argument1,argument2,argument3,argument4).output + feature29(argument1,argument2,argument3,argument4).output + feature30(argument1,argument2,argument3,argument4).output + feature31(argument1,argument2,argument3,argument4).output + feature32(argument1,argument2,argument3,argument4).output + feature33(argument1,argument2,argument3,argument4).output + feature34(argument1,argument2,argument3,argument4).output + feature35(argument1,argument2,argument3,argument4).output + feature36(argument1,argument2,argument3,argument4).output + feature37(argument1,argument2,argument3,argument4).output + feature38(argument1,argument2,argument3,argument4).output + feature39(argument1,argument2,argument3,argument4).output + feature40(argument1,argument2,argument3,argument4).output + feature41(argument1,argument2,argument3,argument4).output + feature42(argument1,argument2,argument3,argument4).output + feature43(argument1,argument2,argument3,argument4).output + feature44(argument1,argument2,argument3,argument4).output + feature45(argument1,argument2,argument3,argument4).output + feature46(argument1,argument2,argument3,argument4).output + feature47(argument1,argument2,argument3,argument4).output + feature48(argument1,argument2,argument3,argument4).output + feature49(argument1,argument2,argument3,argument4).output + feature50(argument1,argument2,argument3,argument4).output + feature51(argument1,argument2,argument3,argument4).output + feature52(argument1,argument2,argument3,argument4).output + feature53(argument1,argument2,argument3,argument4).output + feature54(argument1,argument2,argument3,argument4).output + feature55(argument1,argument2,argument3,argument4).output + feature56(argument1,argument2,argument3,argument4).output + feature57(argument1,argument2,argument3,argument4).output + feature58(argument1,argument2,argument3,argument4).output + feature59(argument1,argument2,argument3,argument4).output + feature60(argument1,argument2,argument3,argument4).output + feature61(argument1,argument2,argument3,argument4).output + feature62(argument1,argument2,argument3,argument4).output + feature63(argument1,argument2,argument3,argument4).output + feature64(argument1,argument2,argument3,argument4).output + feature65(argument1,argument2,argument3,argument4).output + feature66(argument1,argument2,argument3,argument4).output + feature67(argument1,argument2,argument3,argument4).output + feature68(argument1,argument2,argument3,argument4).output + feature69(argument1,argument2,argument3,argument4).output + feature70(argument1,argument2,argument3,argument4).output + feature71(argument1,argument2,argument3,argument4).output + feature72(argument1,argument2,argument3,argument4).output + feature73(argument1,argument2,argument3,argument4).output + feature74(argument1,argument2,argument3,argument4).output + feature75(argument1,argument2,argument3,argument4).output + feature76(argument1,argument2,argument3,argument4).output + feature77(argument1,argument2,argument3,argument4).output + feature78(argument1,argument2,argument3,argument4).output + feature79(argument1,argument2,argument3,argument4).output + feature80(argument1,argument2,argument3,argument4).output + feature81(argument1,argument2,argument3,argument4).output + feature82(argument1,argument2,argument3,argument4).output + feature83(argument1,argument2,argument3,argument4).output + feature84(argument1,argument2,argument3,argument4).output + feature85(argument1,argument2,argument3,argument4).output + feature86(argument1,argument2,argument3,argument4).output + feature87(argument1,argument2,argument3,argument4).output + feature88(argument1,argument2,argument3,argument4).output + feature89(argument1,argument2,argument3,argument4).output + feature90(argument1,argument2,argument3,argument4).output + feature91(argument1,argument2,argument3,argument4).output + feature92(argument1,argument2,argument3,argument4).output + feature93(argument1,argument2,argument3,argument4).output + feature94(argument1,argument2,argument3,argument4).output + feature95(argument1,argument2,argument3,argument4).output + feature96(argument1,argument2,argument3,argument4).output + feature97(argument1,argument2,argument3,argument4).output + feature98(argument1,argument2,argument3,argument4).output + feature99(argument1,argument2,argument3,argument4).output + feature100(argument1,argument2,argument3,argument4).output + feature101(argument1,argument2,argument3,argument4).output + feature102(argument1,argument2,argument3,argument4).output + feature103(argument1,argument2,argument3,argument4).output + feature104(argument1,argument2,argument3,argument4).output + feature105(argument1,argument2,argument3,argument4).output + feature106(argument1,argument2,argument3,argument4).output + feature107(argument1,argument2,argument3,argument4).output + feature108(argument1,argument2,argument3,argument4).output + feature109(argument1,argument2,argument3,argument4).output + feature110(argument1,argument2,argument3,argument4).output + feature111(argument1,argument2,argument3,argument4).output + feature112(argument1,argument2,argument3,argument4).output + feature113(argument1,argument2,argument3,argument4).output + feature114(argument1,argument2,argument3,argument4).output + feature115(argument1,argument2,argument3,argument4).output + feature116(argument1,argument2,argument3,argument4).output + feature117(argument1,argument2,argument3,argument4).output + feature118(argument1,argument2,argument3,argument4).output + feature119(argument1,argument2,argument3,argument4).output + feature120(argument1,argument2,argument3,argument4).output + feature121(argument1,argument2,argument3,argument4).output + feature122(argument1,argument2,argument3,argument4).output + feature123(argument1,argument2,argument3,argument4).output + feature124(argument1,argument2,argument3,argument4).output + feature125(argument1,argument2,argument3,argument4).output + feature126(argument1,argument2,argument3,argument4).output + feature127(argument1,argument2,argument3,argument4).output + feature128(argument1,argument2,argument3,argument4).output + feature129(argument1,argument2,argument3,argument4).output + feature130(argument1,argument2,argument3,argument4).output + feature131(argument1,argument2,argument3,argument4).output + feature132(argument1,argument2,argument3,argument4).output + feature133(argument1,argument2,argument3,argument4).output + feature134(argument1,argument2,argument3,argument4).output + feature135(argument1,argument2,argument3,argument4).output + feature136(argument1,argument2,argument3,argument4).output + feature137(argument1,argument2,argument3,argument4).output + feature138(argument1,argument2,argument3,argument4).output + feature139(argument1,argument2,argument3,argument4).output + feature140(argument1,argument2,argument3,argument4).output + feature141(argument1,argument2,argument3,argument4).output + feature142(argument1,argument2,argument3,argument4).output + feature143(argument1,argument2,argument3,argument4).output + feature144(argument1,argument2,argument3,argument4).output + feature145(argument1,argument2,argument3,argument4).output + feature146(argument1,argument2,argument3,argument4).output + feature147(argument1,argument2,argument3,argument4).output + feature148(argument1,argument2,argument3,argument4).output + feature149(argument1,argument2,argument3,argument4).output + feature150(argument1,argument2,argument3,argument4).output + feature151(argument1,argument2,argument3,argument4).output + feature152(argument1,argument2,argument3,argument4).output + feature153(argument1,argument2,argument3,argument4).output + feature154(argument1,argument2,argument3,argument4).output + feature155(argument1,argument2,argument3,argument4).output + feature156(argument1,argument2,argument3,argument4).output + feature157(argument1,argument2,argument3,argument4).output + feature158(argument1,argument2,argument3,argument4).output + feature159(argument1,argument2,argument3,argument4).output + feature160(argument1,argument2,argument3,argument4).output + feature161(argument1,argument2,argument3,argument4).output + feature162(argument1,argument2,argument3,argument4).output + feature163(argument1,argument2,argument3,argument4).output + feature164(argument1,argument2,argument3,argument4).output + feature165(argument1,argument2,argument3,argument4).output + feature166(argument1,argument2,argument3,argument4).output + feature167(argument1,argument2,argument3,argument4).output + feature168(argument1,argument2,argument3,argument4).output + feature169(argument1,argument2,argument3,argument4).output + feature170(argument1,argument2,argument3,argument4).output + feature171(argument1,argument2,argument3,argument4).output + feature172(argument1,argument2,argument3,argument4).output + feature173(argument1,argument2,argument3,argument4).output + feature174(argument1,argument2,argument3,argument4).output + feature175(argument1,argument2,argument3,argument4).output + feature176(argument1,argument2,argument3,argument4).output + feature177(argument1,argument2,argument3,argument4).output + feature178(argument1,argument2,argument3,argument4).output + feature179(argument1,argument2,argument3,argument4).output + feature180(argument1,argument2,argument3,argument4).output + feature181(argument1,argument2,argument3,argument4).output + feature182(argument1,argument2,argument3,argument4).output + feature183(argument1,argument2,argument3,argument4).output + feature184(argument1,argument2,argument3,argument4).output + feature185(argument1,argument2,argument3,argument4).output + feature186(argument1,argument2,argument3,argument4).output + feature187(argument1,argument2,argument3,argument4).output + feature188(argument1,argument2,argument3,argument4).output + feature189(argument1,argument2,argument3,argument4).output + feature190(argument1,argument2,argument3,argument4).output + feature191(argument1,argument2,argument3,argument4).output + feature192(argument1,argument2,argument3,argument4).output + feature193(argument1,argument2,argument3,argument4).output + feature194(argument1,argument2,argument3,argument4).output + feature195(argument1,argument2,argument3,argument4).output + feature196(argument1,argument2,argument3,argument4).output + feature197(argument1,argument2,argument3,argument4).output + feature198(argument1,argument2,argument3,argument4).output + feature199(argument1,argument2,argument3,argument4).output + feature200(argument1,argument2,argument3,argument4).output + feature201(argument1,argument2,argument3,argument4).output + feature202(argument1,argument2,argument3,argument4).output + feature203(argument1,argument2,argument3,argument4).output + feature204(argument1,argument2,argument3,argument4).output + feature205(argument1,argument2,argument3,argument4).output + feature206(argument1,argument2,argument3,argument4).output + feature207(argument1,argument2,argument3,argument4).output + feature208(argument1,argument2,argument3,argument4).output + feature209(argument1,argument2,argument3,argument4).output + feature210(argument1,argument2,argument3,argument4).output + feature211(argument1,argument2,argument3,argument4).output + feature212(argument1,argument2,argument3,argument4).output + feature213(argument1,argument2,argument3,argument4).output + feature214(argument1,argument2,argument3,argument4).output + feature215(argument1,argument2,argument3,argument4).output + feature216(argument1,argument2,argument3,argument4).output + feature217(argument1,argument2,argument3,argument4).output + feature218(argument1,argument2,argument3,argument4).output + feature219(argument1,argument2,argument3,argument4).output + feature220(argument1,argument2,argument3,argument4).output + feature221(argument1,argument2,argument3,argument4).output + feature222(argument1,argument2,argument3,argument4).output + feature223(argument1,argument2,argument3,argument4).output + feature224(argument1,argument2,argument3,argument4).output + feature225(argument1,argument2,argument3,argument4).output + feature226(argument1,argument2,argument3,argument4).output + feature227(argument1,argument2,argument3,argument4).output + feature228(argument1,argument2,argument3,argument4).output + feature229(argument1,argument2,argument3,argument4).output + feature230(argument1,argument2,argument3,argument4).output + feature231(argument1,argument2,argument3,argument4).output + feature232(argument1,argument2,argument3,argument4).output + feature233(argument1,argument2,argument3,argument4).output + feature234(argument1,argument2,argument3,argument4).output + feature235(argument1,argument2,argument3,argument4).output + feature236(argument1,argument2,argument3,argument4).output + feature237(argument1,argument2,argument3,argument4).output + feature238(argument1,argument2,argument3,argument4).output + feature239(argument1,argument2,argument3,argument4).output + feature240(argument1,argument2,argument3,argument4).output + feature241(argument1,argument2,argument3,argument4).output + feature242(argument1,argument2,argument3,argument4).output + feature243(argument1,argument2,argument3,argument4).output + feature244(argument1,argument2,argument3,argument4).output + feature245(argument1,argument2,argument3,argument4).output + feature246(argument1,argument2,argument3,argument4).output + feature247(argument1,argument2,argument3,argument4).output + feature248(argument1,argument2,argument3,argument4).output + feature249(argument1,argument2,argument3,argument4).output + feature250(argument1,argument2,argument3,argument4).output + feature251(argument1,argument2,argument3,argument4).output + feature252(argument1,argument2,argument3,argument4).output + feature253(argument1,argument2,argument3,argument4).output + feature254(argument1,argument2,argument3,argument4).output + feature255(argument1,argument2,argument3,argument4).output + feature256(argument1,argument2,argument3,argument4).output + feature257(argument1,argument2,argument3,argument4).output + feature258(argument1,argument2,argument3,argument4).output + feature259(argument1,argument2,argument3,argument4).output + feature260(argument1,argument2,argument3,argument4).output + feature261(argument1,argument2,argument3,argument4).output + feature262(argument1,argument2,argument3,argument4).output + feature263(argument1,argument2,argument3,argument4).output + feature264(argument1,argument2,argument3,argument4).output + feature265(argument1,argument2,argument3,argument4).output + feature266(argument1,argument2,argument3,argument4).output + feature267(argument1,argument2,argument3,argument4).output + feature268(argument1,argument2,argument3,argument4).output + feature269(argument1,argument2,argument3,argument4).output + feature270(argument1,argument2,argument3,argument4).output + feature271(argument1,argument2,argument3,argument4).output + feature272(argument1,argument2,argument3,argument4).output + feature273(argument1,argument2,argument3,argument4).output + feature274(argument1,argument2,argument3,argument4).output + feature275(argument1,argument2,argument3,argument4).output + feature276(argument1,argument2,argument3,argument4).output + feature277(argument1,argument2,argument3,argument4).output + feature278(argument1,argument2,argument3,argument4).output + feature279(argument1,argument2,argument3,argument4).output + feature280(argument1,argument2,argument3,argument4).output + feature281(argument1,argument2,argument3,argument4).output + feature282(argument1,argument2,argument3,argument4).output + feature283(argument1,argument2,argument3,argument4).output + feature284(argument1,argument2,argument3,argument4).output + feature285(argument1,argument2,argument3,argument4).output + feature286(argument1,argument2,argument3,argument4).output + feature287(argument1,argument2,argument3,argument4).output + feature288(argument1,argument2,argument3,argument4).output + feature289(argument1,argument2,argument3,argument4).output + feature290(argument1,argument2,argument3,argument4).output + feature291(argument1,argument2,argument3,argument4).output + feature292(argument1,argument2,argument3,argument4).output + feature293(argument1,argument2,argument3,argument4).output + feature294(argument1,argument2,argument3,argument4).output + feature295(argument1,argument2,argument3,argument4).output + feature296(argument1,argument2,argument3,argument4).output + feature297(argument1,argument2,argument3,argument4).output + feature298(argument1,argument2,argument3,argument4).output + feature299(argument1,argument2,argument3,argument4).output + feature300(argument1,argument2,argument3,argument4).output"
-rankprofile[3].fef.property[2].name "vespa.rank.secondphase"
-rankprofile[3].fef.property[2].value "rankingExpression(secondphase)"
-rankprofile[3].fef.property[3].name "rankingExpression(secondphase).rankingScript"
-rankprofile[3].fef.property[3].value "exp(0) + mysum(attribute(foo),\"attribute( bar )\",\"attribute( \\\"baz\\\" )\")"
-rankprofile[3].fef.property[4].name "vespa.hitcollector.heapsize"
-rankprofile[3].fef.property[4].value "101"
-rankprofile[3].fef.property[5].name "vespa.hitcollector.arraysize"
-rankprofile[3].fef.property[5].value "201"
-rankprofile[3].fef.property[6].name "vespa.hitcollector.rankscoredroplimit"
-rankprofile[3].fef.property[6].value "501.5"
-rankprofile[4].name "duplicates"
-rankprofile[4].fef.property[0].name "fieldMatch(a).proximityLimit"
-rankprofile[4].fef.property[0].value "4"
-rankprofile[4].fef.property[1].name "fieldMatch(a).proximityTable"
-rankprofile[4].fef.property[1].value "0.2"
-rankprofile[4].fef.property[2].name "fieldMatch(a).proximityTable"
-rankprofile[4].fef.property[2].value "0.4"
-rankprofile[4].fef.property[3].name "fieldMatch(a).proximityTable"
-rankprofile[4].fef.property[3].value "0.6"
-rankprofile[4].fef.property[4].name "fieldMatch(a).proximityTable"
-rankprofile[4].fef.property[4].value "0.8"
-rankprofile[4].fef.property[5].name "fieldMatch(a).proximityTable"
-rankprofile[4].fef.property[5].value "1"
-rankprofile[4].fef.property[6].name "fieldMatch(a).proximityTable"
-rankprofile[4].fef.property[6].value "0.8"
-rankprofile[4].fef.property[7].name "fieldMatch(a).proximityTable"
-rankprofile[4].fef.property[7].value "0.6"
-rankprofile[4].fef.property[8].name "fieldMatch(a).proximityTable"
-rankprofile[4].fef.property[8].value "0.4"
-rankprofile[4].fef.property[9].name "fieldMatch(a).proximityTable"
-rankprofile[4].fef.property[9].value "0.2"
-rankprofile[5].name "whitespace1"
-rankprofile[5].fef.property[0].name "vespa.rank.firstphase"
-rankprofile[5].fef.property[0].value "rankingExpression(firstphase)"
-rankprofile[5].fef.property[1].name "rankingExpression(firstphase).rankingScript"
-rankprofile[5].fef.property[1].value "1"
-rankprofile[6].name "whitespace2"
-rankprofile[6].fef.property[0].name "vespa.rank.firstphase"
-rankprofile[6].fef.property[0].value "rankingExpression(firstphase)"
-rankprofile[6].fef.property[1].name "rankingExpression(firstphase).rankingScript"
-rankprofile[6].fef.property[1].value "1"
-rankprofile[7].name "macros"
-rankprofile[7].fef.property[0].name "rankingExpression(fourtimessum).rankingScript"
-rankprofile[7].fef.property[0].value "4 * (var1 + var2)"
-rankprofile[7].fef.property[1].name "rankingExpression(myfeature).rankingScript"
-rankprofile[7].fef.property[1].value "70 * fieldMatch(title).completeness * pow(0 - fieldMatch(title).earliness,2) + 30 * pow(0 - fieldMatch(description).earliness,2)"
-rankprofile[7].fef.property[2].name "rankingExpression(fourtimessum@5cf279212355b980.67f1e87166cfef86).rankingScript"
-rankprofile[7].fef.property[2].value "4 * (match + rankBoost)"
-rankprofile[7].fef.property[3].name "vespa.rank.firstphase"
-rankprofile[7].fef.property[3].value "rankingExpression(firstphase)"
-rankprofile[7].fef.property[4].name "rankingExpression(firstphase).rankingScript"
-rankprofile[7].fef.property[4].value "match + fieldMatch(title) + rankingExpression(myfeature)"
-rankprofile[7].fef.property[5].name "vespa.rank.secondphase"
-rankprofile[7].fef.property[5].value "rankingExpression(fourtimessum@5cf279212355b980.67f1e87166cfef86)"
-rankprofile[7].fef.property[6].name "vespa.summary.feature"
-rankprofile[7].fef.property[6].value "fieldMatch(title)"
-rankprofile[8].name "macros2"
-rankprofile[8].fef.property[0].name "foo"
-rankprofile[8].fef.property[0].value "some, list"
-rankprofile[8].fef.property[1].name "rankingExpression(fourtimessum).rankingScript"
-rankprofile[8].fef.property[1].value "4 * (var1 + var2)"
-rankprofile[8].fef.property[2].name "rankingExpression(myfeature).rankingScript"
-rankprofile[8].fef.property[2].value "70 * fieldMatch(title).completeness * pow(0 - fieldMatch(title).earliness,2) + 30 * pow(0 - fieldMatch(description).earliness,2)"
-rankprofile[8].fef.property[3].name "rankingExpression(mysummaryfeature).rankingScript"
-rankprofile[8].fef.property[3].value "70 * fieldMatch(title).completeness"
-rankprofile[8].fef.property[4].name "rankingExpression(mysummaryfeature2).rankingScript"
-rankprofile[8].fef.property[4].value "71 * fieldMatch(title).completeness"
-rankprofile[8].fef.property[5].name "rankingExpression(fourtimessum@2b1138e8965e7ff5.67f1e87166cfef86).rankingScript"
-rankprofile[8].fef.property[5].value "4 * (match + match)"
-rankprofile[8].fef.property[6].name "vespa.rank.firstphase"
-rankprofile[8].fef.property[6].value "classicRank"
-rankprofile[8].fef.property[7].name "vespa.rank.secondphase"
-rankprofile[8].fef.property[7].value "rankingExpression(secondphase)"
-rankprofile[8].fef.property[8].name "rankingExpression(secondphase).rankingScript"
-rankprofile[8].fef.property[8].value "rankingExpression(fourtimessum@2b1138e8965e7ff5.67f1e87166cfef86) + rankingExpression(mysummaryfeature) + rankingExpression(myfeature)"
-rankprofile[8].fef.property[9].name "vespa.summary.feature"
-rankprofile[8].fef.property[9].value "rankingExpression(mysummaryfeature2)"
-rankprofile[8].fef.property[10].name "vespa.summary.feature"
-rankprofile[8].fef.property[10].value "rankingExpression(mysummaryfeature)"
-rankprofile[9].name "macros3"
-rankprofile[9].fef.property[0].name "rankingExpression(onlyusedinsummaryfeature).rankingScript"
-rankprofile[9].fef.property[0].value "5"
-rankprofile[9].fef.property[1].name "vespa.summary.feature"
-rankprofile[9].fef.property[1].value "rankingExpression(matches(title,rankingExpression(onlyusedinsummaryfeature)))"
-rankprofile[10].name "macros3-inherited"
-rankprofile[10].fef.property[0].name "rankingExpression(onlyusedinsummaryfeature).rankingScript"
-rankprofile[10].fef.property[0].value "5"
-rankprofile[10].fef.property[1].name "vespa.summary.feature"
-rankprofile[10].fef.property[1].value "rankingExpression(matches(title,rankingExpression(onlyusedinsummaryfeature)))"
-rankprofile[11].name "macros-inherited"
-rankprofile[11].fef.property[0].name "foo"
-rankprofile[11].fef.property[0].value "some, list"
-rankprofile[11].fef.property[1].name "rankingExpression(fourtimessum).rankingScript"
-rankprofile[11].fef.property[1].value "4 * (var1 + var2)"
-rankprofile[11].fef.property[2].name "rankingExpression(myfeature).rankingScript"
-rankprofile[11].fef.property[2].value "70 * fieldMatch(title).completeness * pow(0 - fieldMatch(title).earliness,2) + 30 * pow(0 - fieldMatch(description).earliness,2)"
-rankprofile[11].fef.property[3].name "rankingExpression(mysummaryfeature).rankingScript"
-rankprofile[11].fef.property[3].value "80 * fieldMatch(title).completeness"
-rankprofile[11].fef.property[4].name "rankingExpression(mysummaryfeature2).rankingScript"
-rankprofile[11].fef.property[4].value "71 * fieldMatch(title).completeness"
-rankprofile[11].fef.property[5].name "rankingExpression(fourtimessum@2b1138e8965e7ff5.67f1e87166cfef86).rankingScript"
-rankprofile[11].fef.property[5].value "4 * (match + match)"
-rankprofile[11].fef.property[6].name "vespa.rank.firstphase"
-rankprofile[11].fef.property[6].value "rankingExpression(firstphase)"
-rankprofile[11].fef.property[7].name "rankingExpression(firstphase).rankingScript"
-rankprofile[11].fef.property[7].value "20000 * rankingExpression(myfeature) + rankingExpression(mysummaryfeature)"
-rankprofile[11].fef.property[8].name "vespa.rank.secondphase"
-rankprofile[11].fef.property[8].value "rankingExpression(secondphase)"
-rankprofile[11].fef.property[9].name "rankingExpression(secondphase).rankingScript"
-rankprofile[11].fef.property[9].value "rankingExpression(fourtimessum@2b1138e8965e7ff5.67f1e87166cfef86) + rankingExpression(mysummaryfeature) + rankingExpression(myfeature)"
-rankprofile[11].fef.property[10].name "vespa.summary.feature"
-rankprofile[11].fef.property[10].value "rankingExpression(mysummaryfeature2)"
-rankprofile[11].fef.property[11].name "vespa.summary.feature"
-rankprofile[11].fef.property[11].value "rankingExpression(mysummaryfeature)"
-rankprofile[12].name "macros-inherited2"
-rankprofile[12].fef.property[0].name "foo"
-rankprofile[12].fef.property[0].value "some, list"
-rankprofile[12].fef.property[1].name "rankingExpression(fourtimessum).rankingScript"
-rankprofile[12].fef.property[1].value "4 * (var1 + var2)"
-rankprofile[12].fef.property[2].name "rankingExpression(myfeature).rankingScript"
-rankprofile[12].fef.property[2].value "70 * fieldMatch(title).completeness * pow(0 - fieldMatch(title).earliness,2) + 30 * pow(0 - fieldMatch(description).earliness,2)"
-rankprofile[12].fef.property[3].name "rankingExpression(mysummaryfeature).rankingScript"
-rankprofile[12].fef.property[3].value "80 * fieldMatch(title).completeness"
-rankprofile[12].fef.property[4].name "rankingExpression(mysummaryfeature2).rankingScript"
-rankprofile[12].fef.property[4].value "71 * fieldMatch(title).completeness"
-rankprofile[12].fef.property[5].name "rankingExpression(fourtimessum@2b1138e8965e7ff5.67f1e87166cfef86).rankingScript"
-rankprofile[12].fef.property[5].value "4 * (match + match)"
-rankprofile[12].fef.property[6].name "vespa.rank.firstphase"
-rankprofile[12].fef.property[6].value "rankingExpression(firstphase)"
-rankprofile[12].fef.property[7].name "rankingExpression(firstphase).rankingScript"
-rankprofile[12].fef.property[7].value "30000 * rankingExpression(mysummaryfeature) + rankingExpression(myfeature)"
-rankprofile[12].fef.property[8].name "vespa.rank.secondphase"
-rankprofile[12].fef.property[8].value "rankingExpression(secondphase)"
-rankprofile[12].fef.property[9].name "rankingExpression(secondphase).rankingScript"
-rankprofile[12].fef.property[9].value "rankingExpression(fourtimessum@2b1138e8965e7ff5.67f1e87166cfef86) + rankingExpression(mysummaryfeature) + rankingExpression(myfeature)"
-rankprofile[12].fef.property[10].name "vespa.summary.feature"
-rankprofile[12].fef.property[10].value "rankingExpression(mysummaryfeature2)"
-rankprofile[12].fef.property[11].name "vespa.summary.feature"
-rankprofile[12].fef.property[11].value "rankingExpression(mysummaryfeature)"
-rankprofile[13].name "macros-inherited3"
-rankprofile[13].fef.property[0].name "foo"
-rankprofile[13].fef.property[0].value "some, list"
-rankprofile[13].fef.property[1].name "rankingExpression(fourtimessum).rankingScript"
-rankprofile[13].fef.property[1].value "4 * (var1 + var2)"
-rankprofile[13].fef.property[2].name "rankingExpression(myfeature).rankingScript"
-rankprofile[13].fef.property[2].value "700 * fieldMatch(title).completeness"
-rankprofile[13].fef.property[3].name "rankingExpression(mysummaryfeature).rankingScript"
-rankprofile[13].fef.property[3].value "80 * fieldMatch(title).completeness"
-rankprofile[13].fef.property[4].name "rankingExpression(mysummaryfeature2).rankingScript"
-rankprofile[13].fef.property[4].value "71 * fieldMatch(title).completeness"
-rankprofile[13].fef.property[5].name "vespa.rank.firstphase"
-rankprofile[13].fef.property[5].value "rankingExpression(firstphase)"
-rankprofile[13].fef.property[6].name "rankingExpression(firstphase).rankingScript"
-rankprofile[13].fef.property[6].value "30000 * rankingExpression(mysummaryfeature) + rankingExpression(myfeature)"
-rankprofile[13].fef.property[7].name "vespa.rank.secondphase"
-rankprofile[13].fef.property[7].value "rankingExpression(secondphase)"
-rankprofile[13].fef.property[8].name "rankingExpression(secondphase).rankingScript"
-rankprofile[13].fef.property[8].value "40000 * rankingExpression(mysummaryfeature) + rankingExpression(myfeature)"
-rankprofile[13].fef.property[9].name "vespa.summary.feature"
-rankprofile[13].fef.property[9].value "rankingExpression(mysummaryfeature2)"
-rankprofile[13].fef.property[10].name "vespa.summary.feature"
-rankprofile[13].fef.property[10].value "rankingExpression(mysummaryfeature)"
-rankprofile[14].name "macros-refering-macros"
-rankprofile[14].fef.property[0].name "rankingExpression(m1).rankingScript"
-rankprofile[14].fef.property[0].value "700 * fieldMatch(title).completeness"
-rankprofile[14].fef.property[1].name "rankingExpression(m2).rankingScript"
-rankprofile[14].fef.property[1].value "rankingExpression(m1) * 67"
-rankprofile[14].fef.property[2].name "rankingExpression(m4).rankingScript"
-rankprofile[14].fef.property[2].value "703 * fieldMatch(fromfile).completeness"
-rankprofile[14].fef.property[3].name "vespa.rank.secondphase"
-rankprofile[14].fef.property[3].value "rankingExpression(secondphase)"
-rankprofile[14].fef.property[4].name "rankingExpression(secondphase).rankingScript"
-rankprofile[14].fef.property[4].value "40000 * rankingExpression(m2)"
-rankprofile[15].name "macros-refering-macros-inherited"
-rankprofile[15].fef.property[0].name "rankingExpression(m1).rankingScript"
-rankprofile[15].fef.property[0].value "700 * fieldMatch(title).completeness"
-rankprofile[15].fef.property[1].name "rankingExpression(m2).rankingScript"
-rankprofile[15].fef.property[1].value "rankingExpression(m1) * 67"
-rankprofile[15].fef.property[2].name "rankingExpression(m4).rankingScript"
-rankprofile[15].fef.property[2].value "701 * fieldMatch(title).completeness"
-rankprofile[15].fef.property[3].name "rankingExpression(m3).rankingScript"
-rankprofile[15].fef.property[3].value "if (isNan(attribute(nrtgmp)) == 1, 0.0, rankingExpression(m2))"
-rankprofile[15].fef.property[4].name "vespa.rank.secondphase"
-rankprofile[15].fef.property[4].value "rankingExpression(secondphase)"
-rankprofile[15].fef.property[5].name "rankingExpression(secondphase).rankingScript"
-rankprofile[15].fef.property[5].value "3000 * rankingExpression(m2)"
-rankprofile[16].name "macros-refering-macros-inherited2"
-rankprofile[16].fef.property[0].name "rankingExpression(m1).rankingScript"
-rankprofile[16].fef.property[0].value "700 * fieldMatch(title).completeness"
-rankprofile[16].fef.property[1].name "rankingExpression(m2).rankingScript"
-rankprofile[16].fef.property[1].value "rankingExpression(m1) * 67"
-rankprofile[16].fef.property[2].name "rankingExpression(m4).rankingScript"
-rankprofile[16].fef.property[2].value "703 * fieldMatch(fromfile).completeness"
-rankprofile[16].fef.property[3].name "vespa.rank.secondphase"
-rankprofile[16].fef.property[3].value "rankingExpression(secondphase)"
-rankprofile[16].fef.property[4].name "rankingExpression(secondphase).rankingScript"
-rankprofile[16].fef.property[4].value "3002 * rankingExpression(m2)"
-rankprofile[17].name "macros-refering-macros-inherited-two-levels"
-rankprofile[17].fef.property[0].name "rankingExpression(m1).rankingScript"
-rankprofile[17].fef.property[0].value "700 * fieldMatch(title).completeness"
-rankprofile[17].fef.property[1].name "rankingExpression(m2).rankingScript"
-rankprofile[17].fef.property[1].value "rankingExpression(m1) * 67"
-rankprofile[17].fef.property[2].name "rankingExpression(m4).rankingScript"
-rankprofile[17].fef.property[2].value "701 * fieldMatch(title).completeness"
-rankprofile[17].fef.property[3].name "rankingExpression(m3).rankingScript"
-rankprofile[17].fef.property[3].value "if (isNan(attribute(nrtgmp)) == 1, 0.0, rankingExpression(m2))"
-rankprofile[17].fef.property[4].name "rankingExpression(m5).rankingScript"
-rankprofile[17].fef.property[4].value "if (isNan(attribute(glmpfw)) == 1, rankingExpression(m1), rankingExpression(m4))"
-rankprofile[17].fef.property[5].name "vespa.rank.secondphase"
-rankprofile[17].fef.property[5].value "rankingExpression(secondphase)"
-rankprofile[17].fef.property[6].name "rankingExpression(secondphase).rankingScript"
-rankprofile[17].fef.property[6].value "3000 * rankingExpression(m2)" \ No newline at end of file
+rankprofile[].name "default"
+rankprofile[].fef.property[].name "foo"
+rankprofile[].fef.property[].value "bar, baz"
+rankprofile[].fef.property[].name "foo"
+rankprofile[].fef.property[].value "foobar"
+rankprofile[].fef.property[].name "qux"
+rankprofile[].fef.property[].value "quux"
+rankprofile[].fef.property[].name "foo.bar"
+rankprofile[].fef.property[].value "foo.bar"
+rankprofile[].fef.property[].name "foo.bar.baz"
+rankprofile[].fef.property[].value "123"
+rankprofile[].fef.property[].name "foo(bar).baz.2"
+rankprofile[].fef.property[].value "123.4"
+rankprofile[].fef.property[].name "foo(bar).baz.qux"
+rankprofile[].fef.property[].value "foo(bar)"
+rankprofile[].fef.property[].name "nud"
+rankprofile[].fef.property[].value "ity"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "classicRank"
+rankprofile[].fef.property[].name "vespa.rank.secondphase"
+rankprofile[].fef.property[].value "rankingExpression(secondphase)"
+rankprofile[].fef.property[].name "rankingExpression(secondphase).rankingScript"
+rankprofile[].fef.property[].value "4"
+rankprofile[].fef.property[].name "vespa.dump.feature"
+rankprofile[].fef.property[].value "attribute(foo1).out"
+rankprofile[].fef.property[].name "vespa.dump.feature"
+rankprofile[].fef.property[].value "attribute(bar1)"
+rankprofile[].fef.property[].name "vespa.dump.feature"
+rankprofile[].fef.property[].value "attribute(foo2).out"
+rankprofile[].fef.property[].name "vespa.dump.feature"
+rankprofile[].fef.property[].value "attribute(bar2).out"
+rankprofile[].fef.property[].name "vespa.dump.feature"
+rankprofile[].fef.property[].value "attribute(foo3).out"
+rankprofile[].fef.property[].name "vespa.dump.feature"
+rankprofile[].fef.property[].value "attribute(bar3).out"
+rankprofile[].fef.property[].name "vespa.dump.feature"
+rankprofile[].fef.property[].value "attribute(foo4).out"
+rankprofile[].fef.property[].name "vespa.dump.feature"
+rankprofile[].fef.property[].value "attribute(bar4).out"
+rankprofile[].fef.property[].name "vespa.hitcollector.heapsize"
+rankprofile[].fef.property[].value "10"
+rankprofile[].fef.property[].name "vespa.hitcollector.arraysize"
+rankprofile[].fef.property[].value "20"
+rankprofile[].fef.property[].name "vespa.hitcollector.rankscoredroplimit"
+rankprofile[].fef.property[].value "-0.5"
+rankprofile[].fef.property[].name "vespa.dump.ignoredefaultfeatures"
+rankprofile[].fef.property[].value "true"
+rankprofile[].name "unranked"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "value(0)"
+rankprofile[].fef.property[].name "vespa.hitcollector.heapsize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.hitcollector.arraysize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.dump.ignoredefaultfeatures"
+rankprofile[].fef.property[].value "true"
+rankprofile[].name "static"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "attribute"
+rankprofile[].fef.property[].name "vespa.rank.secondphase"
+rankprofile[].fef.property[].value "rankingExpression(secondphase)"
+rankprofile[].fef.property[].name "rankingExpression(secondphase).rankingScript"
+rankprofile[].fef.property[].value "10 + feature(arg1).out.out"
+rankprofile[].fef.property[].name "vespa.summary.feature"
+rankprofile[].fef.property[].value "attribute(foo1).out"
+rankprofile[].fef.property[].name "vespa.summary.feature"
+rankprofile[].fef.property[].value "attribute(bar1)"
+rankprofile[].fef.property[].name "vespa.summary.feature"
+rankprofile[].fef.property[].value "attribute(foo2).out"
+rankprofile[].fef.property[].name "vespa.summary.feature"
+rankprofile[].fef.property[].value "attribute(bar2).out"
+rankprofile[].fef.property[].name "vespa.summary.feature"
+rankprofile[].fef.property[].value "attribute(foo3).out"
+rankprofile[].fef.property[].name "vespa.summary.feature"
+rankprofile[].fef.property[].value "attribute(bar3).out"
+rankprofile[].fef.property[].name "vespa.summary.feature"
+rankprofile[].fef.property[].value "attribute(foo4).out"
+rankprofile[].fef.property[].name "vespa.summary.feature"
+rankprofile[].fef.property[].value "attribute(bar4).out"
+rankprofile[].name "overflow"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "rankingExpression(firstphase)"
+rankprofile[].fef.property[].name "rankingExpression(firstphase).rankingScript"
+rankprofile[].fef.property[].value "feature1(argument1,argument2,argument3,argument4).output + feature2(argument1,argument2,argument3,argument4).output + feature3(argument1,argument2,argument3,argument4).output + feature4(argument1,argument2,argument3,argument4).output + feature5(argument1,argument2,argument3,argument4).output + feature6(argument1,argument2,argument3,argument4).output + feature7(argument1,argument2,argument3,argument4).output + feature8(argument1,argument2,argument3,argument4).output + feature9(argument1,argument2,argument3,argument4).output + feature10(argument1,argument2,argument3,argument4).output + feature11(argument1,argument2,argument3,argument4).output + feature12(argument1,argument2,argument3,argument4).output + feature13(argument1,argument2,argument3,argument4).output + feature14(argument1,argument2,argument3,argument4).output + feature15(argument1,argument2,argument3,argument4).output + feature16(argument1,argument2,argument3,argument4).output + feature17(argument1,argument2,argument3,argument4).output + feature18(argument1,argument2,argument3,argument4).output + feature19(argument1,argument2,argument3,argument4).output + feature20(argument1,argument2,argument3,argument4).output + feature21(argument1,argument2,argument3,argument4).output + feature22(argument1,argument2,argument3,argument4).output + feature23(argument1,argument2,argument3,argument4).output + feature24(argument1,argument2,argument3,argument4).output + feature25(argument1,argument2,argument3,argument4).output + feature26(argument1,argument2,argument3,argument4).output + feature27(argument1,argument2,argument3,argument4).output + feature28(argument1,argument2,argument3,argument4).output + feature29(argument1,argument2,argument3,argument4).output + feature30(argument1,argument2,argument3,argument4).output + feature31(argument1,argument2,argument3,argument4).output + feature32(argument1,argument2,argument3,argument4).output + feature33(argument1,argument2,argument3,argument4).output + feature34(argument1,argument2,argument3,argument4).output + feature35(argument1,argument2,argument3,argument4).output + feature36(argument1,argument2,argument3,argument4).output + feature37(argument1,argument2,argument3,argument4).output + feature38(argument1,argument2,argument3,argument4).output + feature39(argument1,argument2,argument3,argument4).output + feature40(argument1,argument2,argument3,argument4).output + feature41(argument1,argument2,argument3,argument4).output + feature42(argument1,argument2,argument3,argument4).output + feature43(argument1,argument2,argument3,argument4).output + feature44(argument1,argument2,argument3,argument4).output + feature45(argument1,argument2,argument3,argument4).output + feature46(argument1,argument2,argument3,argument4).output + feature47(argument1,argument2,argument3,argument4).output + feature48(argument1,argument2,argument3,argument4).output + feature49(argument1,argument2,argument3,argument4).output + feature50(argument1,argument2,argument3,argument4).output + feature51(argument1,argument2,argument3,argument4).output + feature52(argument1,argument2,argument3,argument4).output + feature53(argument1,argument2,argument3,argument4).output + feature54(argument1,argument2,argument3,argument4).output + feature55(argument1,argument2,argument3,argument4).output + feature56(argument1,argument2,argument3,argument4).output + feature57(argument1,argument2,argument3,argument4).output + feature58(argument1,argument2,argument3,argument4).output + feature59(argument1,argument2,argument3,argument4).output + feature60(argument1,argument2,argument3,argument4).output + feature61(argument1,argument2,argument3,argument4).output + feature62(argument1,argument2,argument3,argument4).output + feature63(argument1,argument2,argument3,argument4).output + feature64(argument1,argument2,argument3,argument4).output + feature65(argument1,argument2,argument3,argument4).output + feature66(argument1,argument2,argument3,argument4).output + feature67(argument1,argument2,argument3,argument4).output + feature68(argument1,argument2,argument3,argument4).output + feature69(argument1,argument2,argument3,argument4).output + feature70(argument1,argument2,argument3,argument4).output + feature71(argument1,argument2,argument3,argument4).output + feature72(argument1,argument2,argument3,argument4).output + feature73(argument1,argument2,argument3,argument4).output + feature74(argument1,argument2,argument3,argument4).output + feature75(argument1,argument2,argument3,argument4).output + feature76(argument1,argument2,argument3,argument4).output + feature77(argument1,argument2,argument3,argument4).output + feature78(argument1,argument2,argument3,argument4).output + feature79(argument1,argument2,argument3,argument4).output + feature80(argument1,argument2,argument3,argument4).output + feature81(argument1,argument2,argument3,argument4).output + feature82(argument1,argument2,argument3,argument4).output + feature83(argument1,argument2,argument3,argument4).output + feature84(argument1,argument2,argument3,argument4).output + feature85(argument1,argument2,argument3,argument4).output + feature86(argument1,argument2,argument3,argument4).output + feature87(argument1,argument2,argument3,argument4).output + feature88(argument1,argument2,argument3,argument4).output + feature89(argument1,argument2,argument3,argument4).output + feature90(argument1,argument2,argument3,argument4).output + feature91(argument1,argument2,argument3,argument4).output + feature92(argument1,argument2,argument3,argument4).output + feature93(argument1,argument2,argument3,argument4).output + feature94(argument1,argument2,argument3,argument4).output + feature95(argument1,argument2,argument3,argument4).output + feature96(argument1,argument2,argument3,argument4).output + feature97(argument1,argument2,argument3,argument4).output + feature98(argument1,argument2,argument3,argument4).output + feature99(argument1,argument2,argument3,argument4).output + feature100(argument1,argument2,argument3,argument4).output + feature101(argument1,argument2,argument3,argument4).output + feature102(argument1,argument2,argument3,argument4).output + feature103(argument1,argument2,argument3,argument4).output + feature104(argument1,argument2,argument3,argument4).output + feature105(argument1,argument2,argument3,argument4).output + feature106(argument1,argument2,argument3,argument4).output + feature107(argument1,argument2,argument3,argument4).output + feature108(argument1,argument2,argument3,argument4).output + feature109(argument1,argument2,argument3,argument4).output + feature110(argument1,argument2,argument3,argument4).output + feature111(argument1,argument2,argument3,argument4).output + feature112(argument1,argument2,argument3,argument4).output + feature113(argument1,argument2,argument3,argument4).output + feature114(argument1,argument2,argument3,argument4).output + feature115(argument1,argument2,argument3,argument4).output + feature116(argument1,argument2,argument3,argument4).output + feature117(argument1,argument2,argument3,argument4).output + feature118(argument1,argument2,argument3,argument4).output + feature119(argument1,argument2,argument3,argument4).output + feature120(argument1,argument2,argument3,argument4).output + feature121(argument1,argument2,argument3,argument4).output + feature122(argument1,argument2,argument3,argument4).output + feature123(argument1,argument2,argument3,argument4).output + feature124(argument1,argument2,argument3,argument4).output + feature125(argument1,argument2,argument3,argument4).output + feature126(argument1,argument2,argument3,argument4).output + feature127(argument1,argument2,argument3,argument4).output + feature128(argument1,argument2,argument3,argument4).output + feature129(argument1,argument2,argument3,argument4).output + feature130(argument1,argument2,argument3,argument4).output + feature131(argument1,argument2,argument3,argument4).output + feature132(argument1,argument2,argument3,argument4).output + feature133(argument1,argument2,argument3,argument4).output + feature134(argument1,argument2,argument3,argument4).output + feature135(argument1,argument2,argument3,argument4).output + feature136(argument1,argument2,argument3,argument4).output + feature137(argument1,argument2,argument3,argument4).output + feature138(argument1,argument2,argument3,argument4).output + feature139(argument1,argument2,argument3,argument4).output + feature140(argument1,argument2,argument3,argument4).output + feature141(argument1,argument2,argument3,argument4).output + feature142(argument1,argument2,argument3,argument4).output + feature143(argument1,argument2,argument3,argument4).output + feature144(argument1,argument2,argument3,argument4).output + feature145(argument1,argument2,argument3,argument4).output + feature146(argument1,argument2,argument3,argument4).output + feature147(argument1,argument2,argument3,argument4).output + feature148(argument1,argument2,argument3,argument4).output + feature149(argument1,argument2,argument3,argument4).output + feature150(argument1,argument2,argument3,argument4).output + feature151(argument1,argument2,argument3,argument4).output + feature152(argument1,argument2,argument3,argument4).output + feature153(argument1,argument2,argument3,argument4).output + feature154(argument1,argument2,argument3,argument4).output + feature155(argument1,argument2,argument3,argument4).output + feature156(argument1,argument2,argument3,argument4).output + feature157(argument1,argument2,argument3,argument4).output + feature158(argument1,argument2,argument3,argument4).output + feature159(argument1,argument2,argument3,argument4).output + feature160(argument1,argument2,argument3,argument4).output + feature161(argument1,argument2,argument3,argument4).output + feature162(argument1,argument2,argument3,argument4).output + feature163(argument1,argument2,argument3,argument4).output + feature164(argument1,argument2,argument3,argument4).output + feature165(argument1,argument2,argument3,argument4).output + feature166(argument1,argument2,argument3,argument4).output + feature167(argument1,argument2,argument3,argument4).output + feature168(argument1,argument2,argument3,argument4).output + feature169(argument1,argument2,argument3,argument4).output + feature170(argument1,argument2,argument3,argument4).output + feature171(argument1,argument2,argument3,argument4).output + feature172(argument1,argument2,argument3,argument4).output + feature173(argument1,argument2,argument3,argument4).output + feature174(argument1,argument2,argument3,argument4).output + feature175(argument1,argument2,argument3,argument4).output + feature176(argument1,argument2,argument3,argument4).output + feature177(argument1,argument2,argument3,argument4).output + feature178(argument1,argument2,argument3,argument4).output + feature179(argument1,argument2,argument3,argument4).output + feature180(argument1,argument2,argument3,argument4).output + feature181(argument1,argument2,argument3,argument4).output + feature182(argument1,argument2,argument3,argument4).output + feature183(argument1,argument2,argument3,argument4).output + feature184(argument1,argument2,argument3,argument4).output + feature185(argument1,argument2,argument3,argument4).output + feature186(argument1,argument2,argument3,argument4).output + feature187(argument1,argument2,argument3,argument4).output + feature188(argument1,argument2,argument3,argument4).output + feature189(argument1,argument2,argument3,argument4).output + feature190(argument1,argument2,argument3,argument4).output + feature191(argument1,argument2,argument3,argument4).output + feature192(argument1,argument2,argument3,argument4).output + feature193(argument1,argument2,argument3,argument4).output + feature194(argument1,argument2,argument3,argument4).output + feature195(argument1,argument2,argument3,argument4).output + feature196(argument1,argument2,argument3,argument4).output + feature197(argument1,argument2,argument3,argument4).output + feature198(argument1,argument2,argument3,argument4).output + feature199(argument1,argument2,argument3,argument4).output + feature200(argument1,argument2,argument3,argument4).output + feature201(argument1,argument2,argument3,argument4).output + feature202(argument1,argument2,argument3,argument4).output + feature203(argument1,argument2,argument3,argument4).output + feature204(argument1,argument2,argument3,argument4).output + feature205(argument1,argument2,argument3,argument4).output + feature206(argument1,argument2,argument3,argument4).output + feature207(argument1,argument2,argument3,argument4).output + feature208(argument1,argument2,argument3,argument4).output + feature209(argument1,argument2,argument3,argument4).output + feature210(argument1,argument2,argument3,argument4).output + feature211(argument1,argument2,argument3,argument4).output + feature212(argument1,argument2,argument3,argument4).output + feature213(argument1,argument2,argument3,argument4).output + feature214(argument1,argument2,argument3,argument4).output + feature215(argument1,argument2,argument3,argument4).output + feature216(argument1,argument2,argument3,argument4).output + feature217(argument1,argument2,argument3,argument4).output + feature218(argument1,argument2,argument3,argument4).output + feature219(argument1,argument2,argument3,argument4).output + feature220(argument1,argument2,argument3,argument4).output + feature221(argument1,argument2,argument3,argument4).output + feature222(argument1,argument2,argument3,argument4).output + feature223(argument1,argument2,argument3,argument4).output + feature224(argument1,argument2,argument3,argument4).output + feature225(argument1,argument2,argument3,argument4).output + feature226(argument1,argument2,argument3,argument4).output + feature227(argument1,argument2,argument3,argument4).output + feature228(argument1,argument2,argument3,argument4).output + feature229(argument1,argument2,argument3,argument4).output + feature230(argument1,argument2,argument3,argument4).output + feature231(argument1,argument2,argument3,argument4).output + feature232(argument1,argument2,argument3,argument4).output + feature233(argument1,argument2,argument3,argument4).output + feature234(argument1,argument2,argument3,argument4).output + feature235(argument1,argument2,argument3,argument4).output + feature236(argument1,argument2,argument3,argument4).output + feature237(argument1,argument2,argument3,argument4).output + feature238(argument1,argument2,argument3,argument4).output + feature239(argument1,argument2,argument3,argument4).output + feature240(argument1,argument2,argument3,argument4).output + feature241(argument1,argument2,argument3,argument4).output + feature242(argument1,argument2,argument3,argument4).output + feature243(argument1,argument2,argument3,argument4).output + feature244(argument1,argument2,argument3,argument4).output + feature245(argument1,argument2,argument3,argument4).output + feature246(argument1,argument2,argument3,argument4).output + feature247(argument1,argument2,argument3,argument4).output + feature248(argument1,argument2,argument3,argument4).output + feature249(argument1,argument2,argument3,argument4).output + feature250(argument1,argument2,argument3,argument4).output + feature251(argument1,argument2,argument3,argument4).output + feature252(argument1,argument2,argument3,argument4).output + feature253(argument1,argument2,argument3,argument4).output + feature254(argument1,argument2,argument3,argument4).output + feature255(argument1,argument2,argument3,argument4).output + feature256(argument1,argument2,argument3,argument4).output + feature257(argument1,argument2,argument3,argument4).output + feature258(argument1,argument2,argument3,argument4).output + feature259(argument1,argument2,argument3,argument4).output + feature260(argument1,argument2,argument3,argument4).output + feature261(argument1,argument2,argument3,argument4).output + feature262(argument1,argument2,argument3,argument4).output + feature263(argument1,argument2,argument3,argument4).output + feature264(argument1,argument2,argument3,argument4).output + feature265(argument1,argument2,argument3,argument4).output + feature266(argument1,argument2,argument3,argument4).output + feature267(argument1,argument2,argument3,argument4).output + feature268(argument1,argument2,argument3,argument4).output + feature269(argument1,argument2,argument3,argument4).output + feature270(argument1,argument2,argument3,argument4).output + feature271(argument1,argument2,argument3,argument4).output + feature272(argument1,argument2,argument3,argument4).output + feature273(argument1,argument2,argument3,argument4).output + feature274(argument1,argument2,argument3,argument4).output + feature275(argument1,argument2,argument3,argument4).output + feature276(argument1,argument2,argument3,argument4).output + feature277(argument1,argument2,argument3,argument4).output + feature278(argument1,argument2,argument3,argument4).output + feature279(argument1,argument2,argument3,argument4).output + feature280(argument1,argument2,argument3,argument4).output + feature281(argument1,argument2,argument3,argument4).output + feature282(argument1,argument2,argument3,argument4).output + feature283(argument1,argument2,argument3,argument4).output + feature284(argument1,argument2,argument3,argument4).output + feature285(argument1,argument2,argument3,argument4).output + feature286(argument1,argument2,argument3,argument4).output + feature287(argument1,argument2,argument3,argument4).output + feature288(argument1,argument2,argument3,argument4).output + feature289(argument1,argument2,argument3,argument4).output + feature290(argument1,argument2,argument3,argument4).output + feature291(argument1,argument2,argument3,argument4).output + feature292(argument1,argument2,argument3,argument4).output + feature293(argument1,argument2,argument3,argument4).output + feature294(argument1,argument2,argument3,argument4).output + feature295(argument1,argument2,argument3,argument4).output + feature296(argument1,argument2,argument3,argument4).output + feature297(argument1,argument2,argument3,argument4).output + feature298(argument1,argument2,argument3,argument4).output + feature299(argument1,argument2,argument3,argument4).output + feature300(argument1,argument2,argument3,argument4).output"
+rankprofile[].fef.property[].name "vespa.rank.secondphase"
+rankprofile[].fef.property[].value "rankingExpression(secondphase)"
+rankprofile[].fef.property[].name "rankingExpression(secondphase).rankingScript"
+rankprofile[].fef.property[].value "exp(0) + mysum(attribute(foo),\"attribute( bar )\",\"attribute( \\\"baz\\\" )\")"
+rankprofile[].fef.property[].name "vespa.hitcollector.heapsize"
+rankprofile[].fef.property[].value "101"
+rankprofile[].fef.property[].name "vespa.hitcollector.arraysize"
+rankprofile[].fef.property[].value "201"
+rankprofile[].fef.property[].name "vespa.hitcollector.rankscoredroplimit"
+rankprofile[].fef.property[].value "501.5"
+rankprofile[].name "duplicates"
+rankprofile[].fef.property[].name "fieldMatch(a).proximityLimit"
+rankprofile[].fef.property[].value "4"
+rankprofile[].fef.property[].name "fieldMatch(a).proximityTable"
+rankprofile[].fef.property[].value "0.2"
+rankprofile[].fef.property[].name "fieldMatch(a).proximityTable"
+rankprofile[].fef.property[].value "0.4"
+rankprofile[].fef.property[].name "fieldMatch(a).proximityTable"
+rankprofile[].fef.property[].value "0.6"
+rankprofile[].fef.property[].name "fieldMatch(a).proximityTable"
+rankprofile[].fef.property[].value "0.8"
+rankprofile[].fef.property[].name "fieldMatch(a).proximityTable"
+rankprofile[].fef.property[].value "1"
+rankprofile[].fef.property[].name "fieldMatch(a).proximityTable"
+rankprofile[].fef.property[].value "0.8"
+rankprofile[].fef.property[].name "fieldMatch(a).proximityTable"
+rankprofile[].fef.property[].value "0.6"
+rankprofile[].fef.property[].name "fieldMatch(a).proximityTable"
+rankprofile[].fef.property[].value "0.4"
+rankprofile[].fef.property[].name "fieldMatch(a).proximityTable"
+rankprofile[].fef.property[].value "0.2"
+rankprofile[].name "whitespace1"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "rankingExpression(firstphase)"
+rankprofile[].fef.property[].name "rankingExpression(firstphase).rankingScript"
+rankprofile[].fef.property[].value "1"
+rankprofile[].name "whitespace2"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "rankingExpression(firstphase)"
+rankprofile[].fef.property[].name "rankingExpression(firstphase).rankingScript"
+rankprofile[].fef.property[].value "1"
+rankprofile[].name "macros"
+rankprofile[].fef.property[].name "rankingExpression(fourtimessum).rankingScript"
+rankprofile[].fef.property[].value "4 * (var1 + var2)"
+rankprofile[].fef.property[].name "rankingExpression(myfeature).rankingScript"
+rankprofile[].fef.property[].value "70 * fieldMatch(title).completeness * pow(0 - fieldMatch(title).earliness,2) + 30 * pow(0 - fieldMatch(description).earliness,2)"
+rankprofile[].fef.property[].name "rankingExpression(fourtimessum@5cf279212355b980.67f1e87166cfef86).rankingScript"
+rankprofile[].fef.property[].value "4 * (match + rankBoost)"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "rankingExpression(firstphase)"
+rankprofile[].fef.property[].name "rankingExpression(firstphase).rankingScript"
+rankprofile[].fef.property[].value "match + fieldMatch(title) + rankingExpression(myfeature)"
+rankprofile[].fef.property[].name "vespa.rank.secondphase"
+rankprofile[].fef.property[].value "rankingExpression(fourtimessum@5cf279212355b980.67f1e87166cfef86)"
+rankprofile[].fef.property[].name "vespa.summary.feature"
+rankprofile[].fef.property[].value "fieldMatch(title)"
+rankprofile[].name "macros2"
+rankprofile[].fef.property[].name "foo"
+rankprofile[].fef.property[].value "some, list"
+rankprofile[].fef.property[].name "rankingExpression(fourtimessum).rankingScript"
+rankprofile[].fef.property[].value "4 * (var1 + var2)"
+rankprofile[].fef.property[].name "rankingExpression(myfeature).rankingScript"
+rankprofile[].fef.property[].value "70 * fieldMatch(title).completeness * pow(0 - fieldMatch(title).earliness,2) + 30 * pow(0 - fieldMatch(description).earliness,2)"
+rankprofile[].fef.property[].name "rankingExpression(mysummaryfeature).rankingScript"
+rankprofile[].fef.property[].value "70 * fieldMatch(title).completeness"
+rankprofile[].fef.property[].name "rankingExpression(mysummaryfeature2).rankingScript"
+rankprofile[].fef.property[].value "71 * fieldMatch(title).completeness"
+rankprofile[].fef.property[].name "rankingExpression(fourtimessum@2b1138e8965e7ff5.67f1e87166cfef86).rankingScript"
+rankprofile[].fef.property[].value "4 * (match + match)"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "classicRank"
+rankprofile[].fef.property[].name "vespa.rank.secondphase"
+rankprofile[].fef.property[].value "rankingExpression(secondphase)"
+rankprofile[].fef.property[].name "rankingExpression(secondphase).rankingScript"
+rankprofile[].fef.property[].value "rankingExpression(fourtimessum@2b1138e8965e7ff5.67f1e87166cfef86) + rankingExpression(mysummaryfeature) + rankingExpression(myfeature)"
+rankprofile[].fef.property[].name "vespa.summary.feature"
+rankprofile[].fef.property[].value "rankingExpression(mysummaryfeature2)"
+rankprofile[].fef.property[].name "vespa.summary.feature"
+rankprofile[].fef.property[].value "rankingExpression(mysummaryfeature)"
+rankprofile[].name "macros3"
+rankprofile[].fef.property[].name "rankingExpression(onlyusedinsummaryfeature).rankingScript"
+rankprofile[].fef.property[].value "5"
+rankprofile[].fef.property[].name "vespa.summary.feature"
+rankprofile[].fef.property[].value "rankingExpression(matches(title,rankingExpression(onlyusedinsummaryfeature)))"
+rankprofile[].name "macros3-inherited"
+rankprofile[].fef.property[].name "rankingExpression(onlyusedinsummaryfeature).rankingScript"
+rankprofile[].fef.property[].value "5"
+rankprofile[].fef.property[].name "vespa.summary.feature"
+rankprofile[].fef.property[].value "rankingExpression(matches(title,rankingExpression(onlyusedinsummaryfeature)))"
+rankprofile[].name "macros-inherited"
+rankprofile[].fef.property[].name "foo"
+rankprofile[].fef.property[].value "some, list"
+rankprofile[].fef.property[].name "rankingExpression(fourtimessum).rankingScript"
+rankprofile[].fef.property[].value "4 * (var1 + var2)"
+rankprofile[].fef.property[].name "rankingExpression(myfeature).rankingScript"
+rankprofile[].fef.property[].value "70 * fieldMatch(title).completeness * pow(0 - fieldMatch(title).earliness,2) + 30 * pow(0 - fieldMatch(description).earliness,2)"
+rankprofile[].fef.property[].name "rankingExpression(mysummaryfeature).rankingScript"
+rankprofile[].fef.property[].value "80 * fieldMatch(title).completeness"
+rankprofile[].fef.property[].name "rankingExpression(mysummaryfeature2).rankingScript"
+rankprofile[].fef.property[].value "71 * fieldMatch(title).completeness"
+rankprofile[].fef.property[].name "rankingExpression(fourtimessum@2b1138e8965e7ff5.67f1e87166cfef86).rankingScript"
+rankprofile[].fef.property[].value "4 * (match + match)"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "rankingExpression(firstphase)"
+rankprofile[].fef.property[].name "rankingExpression(firstphase).rankingScript"
+rankprofile[].fef.property[].value "20000 * rankingExpression(myfeature) + rankingExpression(mysummaryfeature)"
+rankprofile[].fef.property[].name "vespa.rank.secondphase"
+rankprofile[].fef.property[].value "rankingExpression(secondphase)"
+rankprofile[].fef.property[].name "rankingExpression(secondphase).rankingScript"
+rankprofile[].fef.property[].value "rankingExpression(fourtimessum@2b1138e8965e7ff5.67f1e87166cfef86) + rankingExpression(mysummaryfeature) + rankingExpression(myfeature)"
+rankprofile[].fef.property[].name "vespa.summary.feature"
+rankprofile[].fef.property[].value "rankingExpression(mysummaryfeature2)"
+rankprofile[].fef.property[].name "vespa.summary.feature"
+rankprofile[].fef.property[].value "rankingExpression(mysummaryfeature)"
+rankprofile[].name "macros-inherited2"
+rankprofile[].fef.property[].name "foo"
+rankprofile[].fef.property[].value "some, list"
+rankprofile[].fef.property[].name "rankingExpression(fourtimessum).rankingScript"
+rankprofile[].fef.property[].value "4 * (var1 + var2)"
+rankprofile[].fef.property[].name "rankingExpression(myfeature).rankingScript"
+rankprofile[].fef.property[].value "70 * fieldMatch(title).completeness * pow(0 - fieldMatch(title).earliness,2) + 30 * pow(0 - fieldMatch(description).earliness,2)"
+rankprofile[].fef.property[].name "rankingExpression(mysummaryfeature).rankingScript"
+rankprofile[].fef.property[].value "80 * fieldMatch(title).completeness"
+rankprofile[].fef.property[].name "rankingExpression(mysummaryfeature2).rankingScript"
+rankprofile[].fef.property[].value "71 * fieldMatch(title).completeness"
+rankprofile[].fef.property[].name "rankingExpression(fourtimessum@2b1138e8965e7ff5.67f1e87166cfef86).rankingScript"
+rankprofile[].fef.property[].value "4 * (match + match)"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "rankingExpression(firstphase)"
+rankprofile[].fef.property[].name "rankingExpression(firstphase).rankingScript"
+rankprofile[].fef.property[].value "30000 * rankingExpression(mysummaryfeature) + rankingExpression(myfeature)"
+rankprofile[].fef.property[].name "vespa.rank.secondphase"
+rankprofile[].fef.property[].value "rankingExpression(secondphase)"
+rankprofile[].fef.property[].name "rankingExpression(secondphase).rankingScript"
+rankprofile[].fef.property[].value "rankingExpression(fourtimessum@2b1138e8965e7ff5.67f1e87166cfef86) + rankingExpression(mysummaryfeature) + rankingExpression(myfeature)"
+rankprofile[].fef.property[].name "vespa.summary.feature"
+rankprofile[].fef.property[].value "rankingExpression(mysummaryfeature2)"
+rankprofile[].fef.property[].name "vespa.summary.feature"
+rankprofile[].fef.property[].value "rankingExpression(mysummaryfeature)"
+rankprofile[].name "macros-inherited3"
+rankprofile[].fef.property[].name "foo"
+rankprofile[].fef.property[].value "some, list"
+rankprofile[].fef.property[].name "rankingExpression(fourtimessum).rankingScript"
+rankprofile[].fef.property[].value "4 * (var1 + var2)"
+rankprofile[].fef.property[].name "rankingExpression(myfeature).rankingScript"
+rankprofile[].fef.property[].value "700 * fieldMatch(title).completeness"
+rankprofile[].fef.property[].name "rankingExpression(mysummaryfeature).rankingScript"
+rankprofile[].fef.property[].value "80 * fieldMatch(title).completeness"
+rankprofile[].fef.property[].name "rankingExpression(mysummaryfeature2).rankingScript"
+rankprofile[].fef.property[].value "71 * fieldMatch(title).completeness"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "rankingExpression(firstphase)"
+rankprofile[].fef.property[].name "rankingExpression(firstphase).rankingScript"
+rankprofile[].fef.property[].value "30000 * rankingExpression(mysummaryfeature) + rankingExpression(myfeature)"
+rankprofile[].fef.property[].name "vespa.rank.secondphase"
+rankprofile[].fef.property[].value "rankingExpression(secondphase)"
+rankprofile[].fef.property[].name "rankingExpression(secondphase).rankingScript"
+rankprofile[].fef.property[].value "40000 * rankingExpression(mysummaryfeature) + rankingExpression(myfeature)"
+rankprofile[].fef.property[].name "vespa.summary.feature"
+rankprofile[].fef.property[].value "rankingExpression(mysummaryfeature2)"
+rankprofile[].fef.property[].name "vespa.summary.feature"
+rankprofile[].fef.property[].value "rankingExpression(mysummaryfeature)"
+rankprofile[].name "macros-refering-macros"
+rankprofile[].fef.property[].name "rankingExpression(m1).rankingScript"
+rankprofile[].fef.property[].value "700 * fieldMatch(title).completeness"
+rankprofile[].fef.property[].name "rankingExpression(m2).rankingScript"
+rankprofile[].fef.property[].value "rankingExpression(m1) * 67"
+rankprofile[].fef.property[].name "rankingExpression(m4).rankingScript"
+rankprofile[].fef.property[].value "703 * fieldMatch(fromfile).completeness"
+rankprofile[].fef.property[].name "vespa.rank.secondphase"
+rankprofile[].fef.property[].value "rankingExpression(secondphase)"
+rankprofile[].fef.property[].name "rankingExpression(secondphase).rankingScript"
+rankprofile[].fef.property[].value "40000 * rankingExpression(m2)"
+rankprofile[].name "macros-refering-macros-inherited"
+rankprofile[].fef.property[].name "rankingExpression(m1).rankingScript"
+rankprofile[].fef.property[].value "700 * fieldMatch(title).completeness"
+rankprofile[].fef.property[].name "rankingExpression(m2).rankingScript"
+rankprofile[].fef.property[].value "rankingExpression(m1) * 67"
+rankprofile[].fef.property[].name "rankingExpression(m4).rankingScript"
+rankprofile[].fef.property[].value "701 * fieldMatch(title).completeness"
+rankprofile[].fef.property[].name "rankingExpression(m3).rankingScript"
+rankprofile[].fef.property[].value "if (isNan(attribute(nrtgmp)) == 1, 0.0, rankingExpression(m2))"
+rankprofile[].fef.property[].name "vespa.rank.secondphase"
+rankprofile[].fef.property[].value "rankingExpression(secondphase)"
+rankprofile[].fef.property[].name "rankingExpression(secondphase).rankingScript"
+rankprofile[].fef.property[].value "3000 * rankingExpression(m2)"
+rankprofile[].name "macros-refering-macros-inherited2"
+rankprofile[].fef.property[].name "rankingExpression(m1).rankingScript"
+rankprofile[].fef.property[].value "700 * fieldMatch(title).completeness"
+rankprofile[].fef.property[].name "rankingExpression(m2).rankingScript"
+rankprofile[].fef.property[].value "rankingExpression(m1) * 67"
+rankprofile[].fef.property[].name "rankingExpression(m4).rankingScript"
+rankprofile[].fef.property[].value "703 * fieldMatch(fromfile).completeness"
+rankprofile[].fef.property[].name "vespa.rank.secondphase"
+rankprofile[].fef.property[].value "rankingExpression(secondphase)"
+rankprofile[].fef.property[].name "rankingExpression(secondphase).rankingScript"
+rankprofile[].fef.property[].value "3002 * rankingExpression(m2)"
+rankprofile[].name "macros-refering-macros-inherited-two-levels"
+rankprofile[].fef.property[].name "rankingExpression(m1).rankingScript"
+rankprofile[].fef.property[].value "700 * fieldMatch(title).completeness"
+rankprofile[].fef.property[].name "rankingExpression(m2).rankingScript"
+rankprofile[].fef.property[].value "rankingExpression(m1) * 67"
+rankprofile[].fef.property[].name "rankingExpression(m4).rankingScript"
+rankprofile[].fef.property[].value "701 * fieldMatch(title).completeness"
+rankprofile[].fef.property[].name "rankingExpression(m3).rankingScript"
+rankprofile[].fef.property[].value "if (isNan(attribute(nrtgmp)) == 1, 0.0, rankingExpression(m2))"
+rankprofile[].fef.property[].name "rankingExpression(m5).rankingScript"
+rankprofile[].fef.property[].value "if (isNan(attribute(glmpfw)) == 1, rankingExpression(m1), rankingExpression(m4))"
+rankprofile[].fef.property[].name "vespa.rank.secondphase"
+rankprofile[].fef.property[].value "rankingExpression(secondphase)"
+rankprofile[].fef.property[].name "rankingExpression(secondphase).rankingScript"
+rankprofile[].fef.property[].value "3000 * rankingExpression(m2)"
diff --git a/config-model/src/test/derived/rankexpression/summary.cfg b/config-model/src/test/derived/rankexpression/summary.cfg
index 9752a9f55e3..f8b56baf8f2 100644
--- a/config-model/src/test/derived/rankexpression/summary.cfg
+++ b/config-model/src/test/derived/rankexpression/summary.cfg
@@ -1,23 +1,23 @@
defaultsummaryid 1753207254
-classes[0].id 1753207254
-classes[0].name "default"
-classes[0].fields[0].name "artist"
-classes[0].fields[0].type "longstring"
-classes[0].fields[1].name "title"
-classes[0].fields[1].type "longstring"
-classes[0].fields[2].name "surl"
-classes[0].fields[2].type "longstring"
-classes[0].fields[3].name "year"
-classes[0].fields[3].type "integer"
-classes[0].fields[4].name "rankfeatures"
-classes[0].fields[4].type "featuredata"
-classes[0].fields[5].name "summaryfeatures"
-classes[0].fields[5].type "featuredata"
-classes[0].fields[6].name "documentid"
-classes[0].fields[6].type "longstring"
-classes[1].id 1736696699
-classes[1].name "attributeprefetch"
-classes[1].fields[0].name "year"
+classes[].id 1753207254
+classes[].name "default"
+classes[].fields[].name "artist"
+classes[].fields[].type "longstring"
+classes[].fields[].name "title"
+classes[].fields[].type "longstring"
+classes[].fields[].name "surl"
+classes[].fields[].type "longstring"
+classes[].fields[].name "year"
+classes[].fields[].type "integer"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "documentid"
+classes[].fields[].type "longstring"
+classes[].id 1736696699
+classes[].name "attributeprefetch"
+classes[].fields[].name "year"
classes[].fields[].type "integer"
classes[].fields[].name "foo1"
classes[].fields[].type "integer"
@@ -34,8 +34,8 @@ classes[].fields[].type "integer"
classes[].fields[].name "bar3"
classes[].fields[].type "integer"
classes[].fields[].name "bar4"
-classes[1].fields[0].type "integer"
-classes[1].fields[1].name "rankfeatures"
-classes[1].fields[1].type "featuredata"
-classes[1].fields[2].name "summaryfeatures"
-classes[1].fields[2].type "featuredata" \ No newline at end of file
+classes[].fields[].type "integer"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
diff --git a/config-model/src/test/derived/rankexpression/summarymap.cfg b/config-model/src/test/derived/rankexpression/summarymap.cfg
index 21e6cdf346f..e8d9bd08ca7 100644
--- a/config-model/src/test/derived/rankexpression/summarymap.cfg
+++ b/config-model/src/test/derived/rankexpression/summarymap.cfg
@@ -1,13 +1,13 @@
defaultoutputclass -1
-override[0].field "year"
-override[0].command "attribute"
-override[0].arguments "year"
-override[1].field "rankfeatures"
-override[1].command "rankfeatures"
-override[1].arguments ""
-override[2].field "summaryfeatures"
-override[2].command "summaryfeatures"
-override[2].arguments ""
+override[].field "year"
+override[].command "attribute"
+override[].arguments "year"
+override[].field "rankfeatures"
+override[].command "rankfeatures"
+override[].arguments ""
+override[].field "summaryfeatures"
+override[].command "summaryfeatures"
+override[].arguments ""
override[].field "foo1"
override[].command "attribute"
override[].arguments "foo1"
@@ -31,4 +31,4 @@ override[].command "attribute"
override[].arguments "bar3"
override[].field "bar4"
override[].command "attribute"
-override[].arguments "bar4" \ No newline at end of file
+override[].arguments "bar4"
diff --git a/config-model/src/test/derived/rankprofiles/rank-profiles.cfg b/config-model/src/test/derived/rankprofiles/rank-profiles.cfg
index 3bbe0978541..7de1d9c5a46 100644
--- a/config-model/src/test/derived/rankprofiles/rank-profiles.cfg
+++ b/config-model/src/test/derived/rankprofiles/rank-profiles.cfg
@@ -1,98 +1,98 @@
-rankprofile[0].name "default"
-rankprofile[1].name "unranked"
-rankprofile[1].fef.property[0].name "vespa.rank.firstphase"
-rankprofile[1].fef.property[0].value "value(0)"
-rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize"
-rankprofile[1].fef.property[1].value "0"
-rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize"
-rankprofile[1].fef.property[2].value "0"
-rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures"
-rankprofile[1].fef.property[3].value "true"
-rankprofile[2].name "other1"
-rankprofile[2].fef.property[0].name "nativeFieldMatch.firstOccurrenceTable.field1"
-rankprofile[2].fef.property[0].value "linear(0,0)"
-rankprofile[2].fef.property[1].name "nativeFieldMatch.occurrenceCountTable.field1"
-rankprofile[2].fef.property[1].value "linear(0,0)"
-rankprofile[2].fef.property[2].name "nativeProximity.proximityTable.field1"
-rankprofile[2].fef.property[2].value "linear(0,0)"
-rankprofile[2].fef.property[3].name "nativeProximity.reverseProximityTable.field1"
-rankprofile[2].fef.property[3].value "linear(0,0)"
-rankprofile[2].fef.property[4].name "vespa.isfilterfield.field1"
-rankprofile[2].fef.property[4].value "true"
-rankprofile[3].name "other2"
-rankprofile[3].fef.property[0].name "nativeFieldMatch.firstOccurrenceTable.field1"
-rankprofile[3].fef.property[0].value "linear(0,0)"
-rankprofile[3].fef.property[1].name "nativeFieldMatch.occurrenceCountTable.field1"
-rankprofile[3].fef.property[1].value "linear(0,0)"
-rankprofile[3].fef.property[2].name "nativeProximity.proximityTable.field1"
-rankprofile[3].fef.property[2].value "linear(0,0)"
-rankprofile[3].fef.property[3].name "nativeProximity.reverseProximityTable.field1"
-rankprofile[3].fef.property[3].value "linear(0,0)"
-rankprofile[3].fef.property[4].name "vespa.isfilterfield.field1"
-rankprofile[3].fef.property[4].value "true"
-rankprofile[4].name "other3"
-rankprofile[5].name "four"
-rankprofile[5].fef.property[0].name "vespa.matchphase.degradation.attribute"
-rankprofile[5].fef.property[0].value "field2"
-rankprofile[5].fef.property[1].name "vespa.matchphase.degradation.ascendingorder"
-rankprofile[5].fef.property[1].value "true"
-rankprofile[5].fef.property[2].name "vespa.matchphase.degradation.maxhits"
-rankprofile[5].fef.property[2].value "12345"
-rankprofile[5].fef.property[3].name "vespa.matchphase.degradation.maxfiltercoverage"
-rankprofile[5].fef.property[3].value "0.2"
-rankprofile[5].fef.property[4].name "vespa.matchphase.degradation.samplepercentage"
-rankprofile[5].fef.property[4].value "0.2"
-rankprofile[5].fef.property[5].name "vespa.matchphase.degradation.postfiltermultiplier"
-rankprofile[5].fef.property[5].value "1.0"
-rankprofile[6].name "five"
-rankprofile[6].fef.property[0].name "vespa.matchphase.degradation.attribute"
-rankprofile[6].fef.property[0].value "field2"
-rankprofile[6].fef.property[1].name "vespa.matchphase.degradation.ascendingorder"
-rankprofile[6].fef.property[1].value "false"
-rankprofile[6].fef.property[2].name "vespa.matchphase.degradation.maxhits"
-rankprofile[6].fef.property[2].value "54321"
-rankprofile[6].fef.property[3].name "vespa.matchphase.degradation.maxfiltercoverage"
-rankprofile[6].fef.property[3].value "0.2"
-rankprofile[6].fef.property[4].name "vespa.matchphase.degradation.samplepercentage"
-rankprofile[6].fef.property[4].value "0.2"
-rankprofile[6].fef.property[5].name "vespa.matchphase.degradation.postfiltermultiplier"
-rankprofile[6].fef.property[5].value "1.0"
-rankprofile[7].name "six"
-rankprofile[7].fef.property[0].name "vespa.matchphase.degradation.attribute"
-rankprofile[7].fef.property[0].value "field3"
-rankprofile[7].fef.property[1].name "vespa.matchphase.degradation.ascendingorder"
-rankprofile[7].fef.property[1].value "false"
-rankprofile[7].fef.property[2].name "vespa.matchphase.degradation.maxhits"
-rankprofile[7].fef.property[2].value "666"
-rankprofile[7].fef.property[3].name "vespa.matchphase.degradation.maxfiltercoverage"
-rankprofile[7].fef.property[3].value "0.2"
-rankprofile[7].fef.property[4].name "vespa.matchphase.degradation.samplepercentage"
-rankprofile[7].fef.property[4].value "0.2"
-rankprofile[7].fef.property[5].name "vespa.matchphase.degradation.postfiltermultiplier"
-rankprofile[7].fef.property[5].value "1.0"
-rankprofile[8].name "seven"
-rankprofile[8].fef.property[0].name "vespa.matchphase.degradation.attribute"
-rankprofile[8].fef.property[0].value "field3"
-rankprofile[8].fef.property[1].name "vespa.matchphase.degradation.ascendingorder"
-rankprofile[8].fef.property[1].value "false"
-rankprofile[8].fef.property[2].name "vespa.matchphase.degradation.maxhits"
-rankprofile[8].fef.property[2].value "800"
-rankprofile[8].fef.property[3].name "vespa.matchphase.degradation.maxfiltercoverage"
-rankprofile[8].fef.property[3].value "0.2"
-rankprofile[8].fef.property[4].name "vespa.matchphase.degradation.samplepercentage"
-rankprofile[8].fef.property[4].value "0.7"
-rankprofile[8].fef.property[5].name "vespa.matchphase.degradation.postfiltermultiplier"
-rankprofile[8].fef.property[5].value "3.4"
-rankprofile[9].name "eight"
-rankprofile[9].fef.property[0].name "vespa.matchphase.degradation.attribute"
-rankprofile[9].fef.property[0].value "field3"
-rankprofile[9].fef.property[1].name "vespa.matchphase.degradation.ascendingorder"
-rankprofile[9].fef.property[1].value "false"
-rankprofile[9].fef.property[2].name "vespa.matchphase.degradation.maxhits"
-rankprofile[9].fef.property[2].value "800"
-rankprofile[9].fef.property[3].name "vespa.matchphase.degradation.maxfiltercoverage"
-rankprofile[9].fef.property[3].value "0.2"
-rankprofile[9].fef.property[4].name "vespa.matchphase.degradation.samplepercentage"
-rankprofile[9].fef.property[4].value "0.7"
-rankprofile[9].fef.property[5].name "vespa.matchphase.degradation.postfiltermultiplier"
-rankprofile[9].fef.property[5].value "3.4" \ No newline at end of file
+rankprofile[].name "default"
+rankprofile[].name "unranked"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "value(0)"
+rankprofile[].fef.property[].name "vespa.hitcollector.heapsize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.hitcollector.arraysize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.dump.ignoredefaultfeatures"
+rankprofile[].fef.property[].value "true"
+rankprofile[].name "other1"
+rankprofile[].fef.property[].name "nativeFieldMatch.firstOccurrenceTable.field1"
+rankprofile[].fef.property[].value "linear(0,0)"
+rankprofile[].fef.property[].name "nativeFieldMatch.occurrenceCountTable.field1"
+rankprofile[].fef.property[].value "linear(0,0)"
+rankprofile[].fef.property[].name "nativeProximity.proximityTable.field1"
+rankprofile[].fef.property[].value "linear(0,0)"
+rankprofile[].fef.property[].name "nativeProximity.reverseProximityTable.field1"
+rankprofile[].fef.property[].value "linear(0,0)"
+rankprofile[].fef.property[].name "vespa.isfilterfield.field1"
+rankprofile[].fef.property[].value "true"
+rankprofile[].name "other2"
+rankprofile[].fef.property[].name "nativeFieldMatch.firstOccurrenceTable.field1"
+rankprofile[].fef.property[].value "linear(0,0)"
+rankprofile[].fef.property[].name "nativeFieldMatch.occurrenceCountTable.field1"
+rankprofile[].fef.property[].value "linear(0,0)"
+rankprofile[].fef.property[].name "nativeProximity.proximityTable.field1"
+rankprofile[].fef.property[].value "linear(0,0)"
+rankprofile[].fef.property[].name "nativeProximity.reverseProximityTable.field1"
+rankprofile[].fef.property[].value "linear(0,0)"
+rankprofile[].fef.property[].name "vespa.isfilterfield.field1"
+rankprofile[].fef.property[].value "true"
+rankprofile[].name "other3"
+rankprofile[].name "four"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.attribute"
+rankprofile[].fef.property[].value "field2"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.ascendingorder"
+rankprofile[].fef.property[].value "true"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.maxhits"
+rankprofile[].fef.property[].value "12345"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.maxfiltercoverage"
+rankprofile[].fef.property[].value "0.2"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.samplepercentage"
+rankprofile[].fef.property[].value "0.2"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.postfiltermultiplier"
+rankprofile[].fef.property[].value "1.0"
+rankprofile[].name "five"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.attribute"
+rankprofile[].fef.property[].value "field2"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.ascendingorder"
+rankprofile[].fef.property[].value "false"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.maxhits"
+rankprofile[].fef.property[].value "54321"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.maxfiltercoverage"
+rankprofile[].fef.property[].value "0.2"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.samplepercentage"
+rankprofile[].fef.property[].value "0.2"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.postfiltermultiplier"
+rankprofile[].fef.property[].value "1.0"
+rankprofile[].name "six"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.attribute"
+rankprofile[].fef.property[].value "field3"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.ascendingorder"
+rankprofile[].fef.property[].value "false"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.maxhits"
+rankprofile[].fef.property[].value "666"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.maxfiltercoverage"
+rankprofile[].fef.property[].value "0.2"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.samplepercentage"
+rankprofile[].fef.property[].value "0.2"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.postfiltermultiplier"
+rankprofile[].fef.property[].value "1.0"
+rankprofile[].name "seven"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.attribute"
+rankprofile[].fef.property[].value "field3"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.ascendingorder"
+rankprofile[].fef.property[].value "false"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.maxhits"
+rankprofile[].fef.property[].value "800"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.maxfiltercoverage"
+rankprofile[].fef.property[].value "0.2"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.samplepercentage"
+rankprofile[].fef.property[].value "0.7"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.postfiltermultiplier"
+rankprofile[].fef.property[].value "3.4"
+rankprofile[].name "eight"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.attribute"
+rankprofile[].fef.property[].value "field3"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.ascendingorder"
+rankprofile[].fef.property[].value "false"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.maxhits"
+rankprofile[].fef.property[].value "800"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.maxfiltercoverage"
+rankprofile[].fef.property[].value "0.2"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.samplepercentage"
+rankprofile[].fef.property[].value "0.7"
+rankprofile[].fef.property[].name "vespa.matchphase.degradation.postfiltermultiplier"
+rankprofile[].fef.property[].value "3.4"
diff --git a/config-model/src/test/derived/rankproperties/rank-profiles.cfg b/config-model/src/test/derived/rankproperties/rank-profiles.cfg
index 147153c2f62..47a0438a323 100644
--- a/config-model/src/test/derived/rankproperties/rank-profiles.cfg
+++ b/config-model/src/test/derived/rankproperties/rank-profiles.cfg
@@ -1,48 +1,48 @@
-rankprofile[0].name "default"
-rankprofile[0].fef.property[0].name "$test"
-rankprofile[0].fef.property[0].value "foo"
-rankprofile[0].fef.property[1].name "vespa.rank.firstphase"
-rankprofile[0].fef.property[1].value "nativeFieldMatch"
-rankprofile[0].fef.property[2].name "vespa.rank.secondphase"
-rankprofile[0].fef.property[2].value "match"
-rankprofile[0].fef.property[3].name "vespa.fieldweight.tag"
-rankprofile[0].fef.property[3].value "33"
-rankprofile[0].fef.property[4].name "vespa.fieldweight.title"
-rankprofile[0].fef.property[4].value "50"
-rankprofile[0].fef.property[5].name "vespa.fieldweight.description"
-rankprofile[0].fef.property[5].value "10"
-rankprofile[1].name "unranked"
-rankprofile[1].fef.property[0].name "vespa.rank.firstphase"
-rankprofile[1].fef.property[0].value "value(0)"
-rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize"
-rankprofile[1].fef.property[1].value "0"
-rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize"
-rankprofile[1].fef.property[2].value "0"
-rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures"
-rankprofile[1].fef.property[3].value "true"
-rankprofile[2].name "child"
-rankprofile[2].fef.property[0].name "$test"
-rankprofile[2].fef.property[0].value "foo"
-rankprofile[2].fef.property[1].name "vespa.rank.firstphase"
-rankprofile[2].fef.property[1].value "nativeFieldMatch"
-rankprofile[2].fef.property[2].name "vespa.rank.secondphase"
-rankprofile[2].fef.property[2].value "match"
-rankprofile[2].fef.property[3].name "vespa.fieldweight.title"
-rankprofile[2].fef.property[3].value "15"
-rankprofile[2].fef.property[4].name "vespa.fieldweight.tag"
-rankprofile[2].fef.property[4].value "33"
-rankprofile[2].fef.property[5].name "vespa.fieldweight.description"
-rankprofile[2].fef.property[5].value "10"
-rankprofile[3].name "standalone"
-rankprofile[3].fef.property[0].name "vespa.rank.firstphase"
-rankprofile[3].fef.property[0].value "rankingExpression(firstphase)"
-rankprofile[3].fef.property[1].name "rankingExpression(firstphase).rankingScript"
-rankprofile[3].fef.property[1].value "match + fieldMatch(title)"
-rankprofile[3].fef.property[2].name "vespa.rank.secondphase"
-rankprofile[3].fef.property[2].value "rankingExpression(secondphase)"
-rankprofile[3].fef.property[3].name "rankingExpression(secondphase).rankingScript"
-rankprofile[3].fef.property[3].value "match + nativeFieldMatch"
-rankprofile[3].fef.property[4].name "vespa.fieldweight.description"
-rankprofile[3].fef.property[4].value "35"
-rankprofile[3].fef.property[5].name "vespa.fieldweight.tag"
-rankprofile[3].fef.property[5].value "88" \ No newline at end of file
+rankprofile[].name "default"
+rankprofile[].fef.property[].name "$test"
+rankprofile[].fef.property[].value "foo"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "nativeFieldMatch"
+rankprofile[].fef.property[].name "vespa.rank.secondphase"
+rankprofile[].fef.property[].value "match"
+rankprofile[].fef.property[].name "vespa.fieldweight.tag"
+rankprofile[].fef.property[].value "33"
+rankprofile[].fef.property[].name "vespa.fieldweight.title"
+rankprofile[].fef.property[].value "50"
+rankprofile[].fef.property[].name "vespa.fieldweight.description"
+rankprofile[].fef.property[].value "10"
+rankprofile[].name "unranked"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "value(0)"
+rankprofile[].fef.property[].name "vespa.hitcollector.heapsize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.hitcollector.arraysize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.dump.ignoredefaultfeatures"
+rankprofile[].fef.property[].value "true"
+rankprofile[].name "child"
+rankprofile[].fef.property[].name "$test"
+rankprofile[].fef.property[].value "foo"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "nativeFieldMatch"
+rankprofile[].fef.property[].name "vespa.rank.secondphase"
+rankprofile[].fef.property[].value "match"
+rankprofile[].fef.property[].name "vespa.fieldweight.title"
+rankprofile[].fef.property[].value "15"
+rankprofile[].fef.property[].name "vespa.fieldweight.tag"
+rankprofile[].fef.property[].value "33"
+rankprofile[].fef.property[].name "vespa.fieldweight.description"
+rankprofile[].fef.property[].value "10"
+rankprofile[].name "standalone"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "rankingExpression(firstphase)"
+rankprofile[].fef.property[].name "rankingExpression(firstphase).rankingScript"
+rankprofile[].fef.property[].value "match + fieldMatch(title)"
+rankprofile[].fef.property[].name "vespa.rank.secondphase"
+rankprofile[].fef.property[].value "rankingExpression(secondphase)"
+rankprofile[].fef.property[].name "rankingExpression(secondphase).rankingScript"
+rankprofile[].fef.property[].value "match + nativeFieldMatch"
+rankprofile[].fef.property[].name "vespa.fieldweight.description"
+rankprofile[].fef.property[].value "35"
+rankprofile[].fef.property[].name "vespa.fieldweight.tag"
+rankprofile[].fef.property[].value "88"
diff --git a/config-model/src/test/derived/ranktypes/documentmanager.cfg b/config-model/src/test/derived/ranktypes/documentmanager.cfg
index 50be09891e5..62c3dff3df2 100644
--- a/config-model/src/test/derived/ranktypes/documentmanager.cfg
+++ b/config-model/src/test/derived/ranktypes/documentmanager.cfg
@@ -1,60 +1,60 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
-datatype[1].id -471393776
-datatype[1].structtype[0].name "ranktypes.header"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].compresstype NONE
-datatype[1].structtype[0].compresslevel 0
-datatype[1].structtype[0].compressthreshold 95
-datatype[1].structtype[0].compressminsize 800
-datatype[1].structtype[0].field[0].name "title"
-datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
-datatype[1].structtype[0].field[1].name "descr"
-datatype[1].structtype[0].field[1].datatype 2
-datatype[1].structtype[0].field[1].detailedtype ""
-datatype[1].structtype[0].field[2].name "keywords"
-datatype[1].structtype[0].field[2].datatype 2
-datatype[1].structtype[0].field[2].detailedtype ""
-datatype[1].structtype[0].field[3].name "identity"
-datatype[1].structtype[0].field[3].datatype 2
-datatype[1].structtype[0].field[3].detailedtype ""
-datatype[1].structtype[0].field[4].name "identity_literal"
-datatype[1].structtype[0].field[4].datatype 2
-datatype[1].structtype[0].field[4].detailedtype ""
-datatype[1].structtype[0].field[5].name "rankfeatures"
-datatype[1].structtype[0].field[5].datatype 2
-datatype[1].structtype[0].field[5].detailedtype ""
-datatype[1].structtype[0].field[6].name "summaryfeatures"
-datatype[1].structtype[0].field[6].datatype 2
-datatype[1].structtype[0].field[6].detailedtype ""
-datatype[2].id 1374506021
-datatype[2].structtype[0].name "ranktypes.body"
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].compresstype NONE
-datatype[2].structtype[0].compresslevel 0
-datatype[2].structtype[0].compressthreshold 95
-datatype[2].structtype[0].compressminsize 800
-datatype[3].id -883421617
-datatype[3].documenttype[0].name "ranktypes"
-datatype[3].documenttype[0].version 0
-datatype[3].documenttype[0].inherits[0].name "document"
-datatype[3].documenttype[0].inherits[0].version 0
-datatype[3].documenttype[0].headerstruct -471393776
-datatype[3].documenttype[0].bodystruct 1374506021
-datatype[3].documenttype[0].fieldsets{[document]}.fields[0] "descr"
-datatype[3].documenttype[0].fieldsets{[document]}.fields[1] "identity"
-datatype[3].documenttype[0].fieldsets{[document]}.fields[2] "keywords"
-datatype[3].documenttype[0].fieldsets{[document]}.fields[3] "title"
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -471393776
+datatype[].structtype[].name "ranktypes.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "title"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "descr"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "keywords"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "identity"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "identity_literal"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 1374506021
+datatype[].structtype[].name "ranktypes.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id -883421617
+datatype[].documenttype[].name "ranktypes"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct -471393776
+datatype[].documenttype[].bodystruct 1374506021
+datatype[].documenttype[].fieldsets{[document]}.fields[0] "descr"
+datatype[].documenttype[].fieldsets{[document]}.fields[1] "identity"
+datatype[].documenttype[].fieldsets{[document]}.fields[2] "keywords"
+datatype[].documenttype[].fieldsets{[document]}.fields[3] "title"
diff --git a/config-model/src/test/derived/ranktypes/ilscripts.cfg b/config-model/src/test/derived/ranktypes/ilscripts.cfg
index ee191aafe90..a8c039d5b6e 100644
--- a/config-model/src/test/derived/ranktypes/ilscripts.cfg
+++ b/config-model/src/test/derived/ranktypes/ilscripts.cfg
@@ -1,12 +1,12 @@
maxtermoccurrences 100
fieldmatchmaxlength 1000000
-ilscript[0].doctype "ranktypes"
-ilscript[0].docfield[0] "title"
-ilscript[0].docfield[1] "descr"
-ilscript[0].docfield[2] "keywords"
-ilscript[0].docfield[3] "identity"
-ilscript[0].content[0] "clear_state | guard { input identity | tokenize | index identity_literal; }"
-ilscript[0].content[1] "clear_state | guard { input title | tokenize normalize stem:\"SHORTEST\" | summary title | index title; }"
-ilscript[0].content[2] "clear_state | guard { input descr | tokenize normalize stem:\"SHORTEST\" | summary descr | index descr; }"
-ilscript[0].content[3] "clear_state | guard { input keywords | tokenize normalize stem:\"SHORTEST\" | index keywords; }"
-ilscript[0].content[4] "clear_state | guard { input identity | tokenize normalize stem:\"SHORTEST\" | index identity; }"
+ilscript[].doctype "ranktypes"
+ilscript[].docfield[0] "title"
+ilscript[].docfield[1] "descr"
+ilscript[].docfield[2] "keywords"
+ilscript[].docfield[3] "identity"
+ilscript[].content[0] "clear_state | guard { input identity | tokenize | index identity_literal; }"
+ilscript[].content[1] "clear_state | guard { input title | tokenize normalize stem:\"SHORTEST\" | summary title | index title; }"
+ilscript[].content[2] "clear_state | guard { input descr | tokenize normalize stem:\"SHORTEST\" | summary descr | index descr; }"
+ilscript[].content[3] "clear_state | guard { input keywords | tokenize normalize stem:\"SHORTEST\" | index keywords; }"
+ilscript[].content[4] "clear_state | guard { input identity | tokenize normalize stem:\"SHORTEST\" | index identity; }"
diff --git a/config-model/src/test/derived/ranktypes/index-info.cfg b/config-model/src/test/derived/ranktypes/index-info.cfg
index d3cbc4597ff..3d4ee9e9239 100644
--- a/config-model/src/test/derived/ranktypes/index-info.cfg
+++ b/config-model/src/test/derived/ranktypes/index-info.cfg
@@ -1,57 +1,57 @@
-indexinfo[0].name "ranktypes"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "title"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "title"
-indexinfo[0].command[3].command "lowercase"
-indexinfo[0].command[4].indexname "title"
-indexinfo[0].command[4].command "stem:SHORTEST"
-indexinfo[0].command[5].indexname "title"
-indexinfo[0].command[5].command "normalize"
-indexinfo[0].command[6].indexname "title"
-indexinfo[0].command[6].command "plain-tokens"
-indexinfo[0].command[7].indexname "descr"
-indexinfo[0].command[7].command "index"
-indexinfo[0].command[8].indexname "descr"
-indexinfo[0].command[8].command "lowercase"
-indexinfo[0].command[9].indexname "descr"
-indexinfo[0].command[9].command "stem:SHORTEST"
-indexinfo[0].command[10].indexname "descr"
-indexinfo[0].command[10].command "normalize"
-indexinfo[0].command[11].indexname "descr"
-indexinfo[0].command[11].command "plain-tokens"
-indexinfo[0].command[12].indexname "keywords"
-indexinfo[0].command[12].command "index"
-indexinfo[0].command[13].indexname "keywords"
-indexinfo[0].command[13].command "lowercase"
-indexinfo[0].command[14].indexname "keywords"
-indexinfo[0].command[14].command "stem:SHORTEST"
-indexinfo[0].command[15].indexname "keywords"
-indexinfo[0].command[15].command "normalize"
-indexinfo[0].command[16].indexname "keywords"
-indexinfo[0].command[16].command "plain-tokens"
-indexinfo[0].command[17].indexname "identity"
-indexinfo[0].command[17].command "index"
-indexinfo[0].command[18].indexname "identity"
-indexinfo[0].command[18].command "lowercase"
-indexinfo[0].command[19].indexname "identity"
-indexinfo[0].command[19].command "stem:SHORTEST"
-indexinfo[0].command[20].indexname "identity"
-indexinfo[0].command[20].command "normalize"
-indexinfo[0].command[21].indexname "identity"
-indexinfo[0].command[21].command "plain-tokens"
-indexinfo[0].command[22].indexname "identity"
-indexinfo[0].command[22].command "literal-boost"
-indexinfo[0].command[23].indexname "identity_literal"
-indexinfo[0].command[23].command "index"
-indexinfo[0].command[24].indexname "identity_literal"
-indexinfo[0].command[24].command "lowercase"
-indexinfo[0].command[25].indexname "identity_literal"
-indexinfo[0].command[25].command "plain-tokens"
-indexinfo[0].command[26].indexname "rankfeatures"
-indexinfo[0].command[26].command "index"
-indexinfo[0].command[27].indexname "summaryfeatures"
-indexinfo[0].command[27].command "index" \ No newline at end of file
+indexinfo[].name "ranktypes"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "descr"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "descr"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "descr"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "descr"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "descr"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "keywords"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "keywords"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "keywords"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "keywords"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "keywords"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "identity"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "identity"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "identity"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "identity"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "identity"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "identity"
+indexinfo[].command[].command "literal-boost"
+indexinfo[].command[].indexname "identity_literal"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "identity_literal"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "identity_literal"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "rankfeatures"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "summaryfeatures"
+indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/ranktypes/rank-profiles.cfg b/config-model/src/test/derived/ranktypes/rank-profiles.cfg
index aee11c0bbef..c9162db27a8 100644
--- a/config-model/src/test/derived/ranktypes/rank-profiles.cfg
+++ b/config-model/src/test/derived/ranktypes/rank-profiles.cfg
@@ -1,79 +1,79 @@
-rankprofile[0].name "default"
-rankprofile[0].fef.property[0].name "nativeFieldMatch.firstOccurrenceTable.identity_literal"
-rankprofile[0].fef.property[0].value "linear(0,0)"
-rankprofile[0].fef.property[1].name "nativeFieldMatch.occurrenceCountTable.identity_literal"
-rankprofile[0].fef.property[1].value "linear(0,0)"
-rankprofile[0].fef.property[2].name "nativeProximity.proximityTable.identity_literal"
-rankprofile[0].fef.property[2].value "linear(0,0)"
-rankprofile[0].fef.property[3].name "nativeProximity.reverseProximityTable.identity_literal"
-rankprofile[0].fef.property[3].value "linear(0,0)"
-rankprofile[0].fef.property[4].name "nativeFieldMatch.firstOccurrenceTable.title"
-rankprofile[0].fef.property[4].value "expdecay(100,12.50)"
-rankprofile[0].fef.property[5].name "nativeFieldMatch.occurrenceCountTable.title"
-rankprofile[0].fef.property[5].value "loggrowth(1500,4000,19)"
-rankprofile[0].fef.property[6].name "nativeProximity.proximityTable.title"
-rankprofile[0].fef.property[6].value "expdecay(5000,3)"
-rankprofile[0].fef.property[7].name "nativeProximity.reverseProximityTable.title"
-rankprofile[0].fef.property[7].value "expdecay(3000,3)"
-rankprofile[0].fef.property[8].name "nativeFieldMatch.firstOccurrenceTable.descr"
-rankprofile[0].fef.property[8].value "expdecay(8000,12.50)"
-rankprofile[0].fef.property[9].name "nativeFieldMatch.occurrenceCountTable.descr"
-rankprofile[0].fef.property[9].value "loggrowth(1500,4000,19)"
-rankprofile[0].fef.property[10].name "nativeProximity.proximityTable.descr"
-rankprofile[0].fef.property[10].value "expdecay(500,3)"
-rankprofile[0].fef.property[11].name "nativeProximity.reverseProximityTable.descr"
-rankprofile[0].fef.property[11].value "expdecay(400,3)"
-rankprofile[0].fef.property[12].name "nativeFieldMatch.firstOccurrenceTable.keywords"
-rankprofile[0].fef.property[12].value "expdecay(8000,12.50)"
-rankprofile[0].fef.property[13].name "nativeFieldMatch.occurrenceCountTable.keywords"
-rankprofile[0].fef.property[13].value "loggrowth(1500,4000,19)"
-rankprofile[0].fef.property[14].name "nativeProximity.proximityTable.keywords"
-rankprofile[0].fef.property[14].value "expdecay(500,3)"
-rankprofile[0].fef.property[15].name "nativeProximity.reverseProximityTable.keywords"
-rankprofile[0].fef.property[15].value "expdecay(400,3)"
-rankprofile[0].fef.property[16].name "vespa.fieldweight.identity_literal"
-rankprofile[0].fef.property[16].value "200"
-rankprofile[1].name "unranked"
-rankprofile[1].fef.property[0].name "vespa.rank.firstphase"
-rankprofile[1].fef.property[0].value "value(0)"
-rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize"
-rankprofile[1].fef.property[1].value "0"
-rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize"
-rankprofile[1].fef.property[2].value "0"
-rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures"
-rankprofile[1].fef.property[3].value "true"
-rankprofile[2].name "override"
-rankprofile[2].fef.property[0].name "nativeFieldMatch.firstOccurrenceTable.descr"
-rankprofile[2].fef.property[0].value "expdecay(100,12.50)"
-rankprofile[2].fef.property[1].name "nativeFieldMatch.occurrenceCountTable.descr"
-rankprofile[2].fef.property[1].value "loggrowth(1500,4000,19)"
-rankprofile[2].fef.property[2].name "nativeProximity.proximityTable.descr"
-rankprofile[2].fef.property[2].value "expdecay(5000,3)"
-rankprofile[2].fef.property[3].name "nativeProximity.reverseProximityTable.descr"
-rankprofile[2].fef.property[3].value "expdecay(3000,3)"
-rankprofile[2].fef.property[4].name "nativeFieldMatch.firstOccurrenceTable.identity_literal"
-rankprofile[2].fef.property[4].value "linear(0,0)"
-rankprofile[2].fef.property[5].name "nativeFieldMatch.occurrenceCountTable.identity_literal"
-rankprofile[2].fef.property[5].value "linear(0,0)"
-rankprofile[2].fef.property[6].name "nativeProximity.proximityTable.identity_literal"
-rankprofile[2].fef.property[6].value "linear(0,0)"
-rankprofile[2].fef.property[7].name "nativeProximity.reverseProximityTable.identity_literal"
-rankprofile[2].fef.property[7].value "linear(0,0)"
-rankprofile[2].fef.property[8].name "nativeFieldMatch.firstOccurrenceTable.title"
-rankprofile[2].fef.property[8].value "expdecay(100,12.50)"
-rankprofile[2].fef.property[9].name "nativeFieldMatch.occurrenceCountTable.title"
-rankprofile[2].fef.property[9].value "loggrowth(1500,4000,19)"
-rankprofile[2].fef.property[10].name "nativeProximity.proximityTable.title"
-rankprofile[2].fef.property[10].value "expdecay(5000,3)"
-rankprofile[2].fef.property[11].name "nativeProximity.reverseProximityTable.title"
-rankprofile[2].fef.property[11].value "expdecay(3000,3)"
-rankprofile[2].fef.property[12].name "nativeFieldMatch.firstOccurrenceTable.keywords"
-rankprofile[2].fef.property[12].value "expdecay(8000,12.50)"
-rankprofile[2].fef.property[13].name "nativeFieldMatch.occurrenceCountTable.keywords"
-rankprofile[2].fef.property[13].value "loggrowth(1500,4000,19)"
-rankprofile[2].fef.property[14].name "nativeProximity.proximityTable.keywords"
-rankprofile[2].fef.property[14].value "expdecay(500,3)"
-rankprofile[2].fef.property[15].name "nativeProximity.reverseProximityTable.keywords"
-rankprofile[2].fef.property[15].value "expdecay(400,3)"
-rankprofile[2].fef.property[16].name "vespa.fieldweight.identity_literal"
-rankprofile[2].fef.property[16].value "200" \ No newline at end of file
+rankprofile[].name "default"
+rankprofile[].fef.property[].name "nativeFieldMatch.firstOccurrenceTable.identity_literal"
+rankprofile[].fef.property[].value "linear(0,0)"
+rankprofile[].fef.property[].name "nativeFieldMatch.occurrenceCountTable.identity_literal"
+rankprofile[].fef.property[].value "linear(0,0)"
+rankprofile[].fef.property[].name "nativeProximity.proximityTable.identity_literal"
+rankprofile[].fef.property[].value "linear(0,0)"
+rankprofile[].fef.property[].name "nativeProximity.reverseProximityTable.identity_literal"
+rankprofile[].fef.property[].value "linear(0,0)"
+rankprofile[].fef.property[].name "nativeFieldMatch.firstOccurrenceTable.title"
+rankprofile[].fef.property[].value "expdecay(100,12.50)"
+rankprofile[].fef.property[].name "nativeFieldMatch.occurrenceCountTable.title"
+rankprofile[].fef.property[].value "loggrowth(1500,4000,19)"
+rankprofile[].fef.property[].name "nativeProximity.proximityTable.title"
+rankprofile[].fef.property[].value "expdecay(5000,3)"
+rankprofile[].fef.property[].name "nativeProximity.reverseProximityTable.title"
+rankprofile[].fef.property[].value "expdecay(3000,3)"
+rankprofile[].fef.property[].name "nativeFieldMatch.firstOccurrenceTable.descr"
+rankprofile[].fef.property[].value "expdecay(8000,12.50)"
+rankprofile[].fef.property[].name "nativeFieldMatch.occurrenceCountTable.descr"
+rankprofile[].fef.property[].value "loggrowth(1500,4000,19)"
+rankprofile[].fef.property[].name "nativeProximity.proximityTable.descr"
+rankprofile[].fef.property[].value "expdecay(500,3)"
+rankprofile[].fef.property[].name "nativeProximity.reverseProximityTable.descr"
+rankprofile[].fef.property[].value "expdecay(400,3)"
+rankprofile[].fef.property[].name "nativeFieldMatch.firstOccurrenceTable.keywords"
+rankprofile[].fef.property[].value "expdecay(8000,12.50)"
+rankprofile[].fef.property[].name "nativeFieldMatch.occurrenceCountTable.keywords"
+rankprofile[].fef.property[].value "loggrowth(1500,4000,19)"
+rankprofile[].fef.property[].name "nativeProximity.proximityTable.keywords"
+rankprofile[].fef.property[].value "expdecay(500,3)"
+rankprofile[].fef.property[].name "nativeProximity.reverseProximityTable.keywords"
+rankprofile[].fef.property[].value "expdecay(400,3)"
+rankprofile[].fef.property[].name "vespa.fieldweight.identity_literal"
+rankprofile[].fef.property[].value "200"
+rankprofile[].name "unranked"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "value(0)"
+rankprofile[].fef.property[].name "vespa.hitcollector.heapsize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.hitcollector.arraysize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.dump.ignoredefaultfeatures"
+rankprofile[].fef.property[].value "true"
+rankprofile[].name "override"
+rankprofile[].fef.property[].name "nativeFieldMatch.firstOccurrenceTable.descr"
+rankprofile[].fef.property[].value "expdecay(100,12.50)"
+rankprofile[].fef.property[].name "nativeFieldMatch.occurrenceCountTable.descr"
+rankprofile[].fef.property[].value "loggrowth(1500,4000,19)"
+rankprofile[].fef.property[].name "nativeProximity.proximityTable.descr"
+rankprofile[].fef.property[].value "expdecay(5000,3)"
+rankprofile[].fef.property[].name "nativeProximity.reverseProximityTable.descr"
+rankprofile[].fef.property[].value "expdecay(3000,3)"
+rankprofile[].fef.property[].name "nativeFieldMatch.firstOccurrenceTable.identity_literal"
+rankprofile[].fef.property[].value "linear(0,0)"
+rankprofile[].fef.property[].name "nativeFieldMatch.occurrenceCountTable.identity_literal"
+rankprofile[].fef.property[].value "linear(0,0)"
+rankprofile[].fef.property[].name "nativeProximity.proximityTable.identity_literal"
+rankprofile[].fef.property[].value "linear(0,0)"
+rankprofile[].fef.property[].name "nativeProximity.reverseProximityTable.identity_literal"
+rankprofile[].fef.property[].value "linear(0,0)"
+rankprofile[].fef.property[].name "nativeFieldMatch.firstOccurrenceTable.title"
+rankprofile[].fef.property[].value "expdecay(100,12.50)"
+rankprofile[].fef.property[].name "nativeFieldMatch.occurrenceCountTable.title"
+rankprofile[].fef.property[].value "loggrowth(1500,4000,19)"
+rankprofile[].fef.property[].name "nativeProximity.proximityTable.title"
+rankprofile[].fef.property[].value "expdecay(5000,3)"
+rankprofile[].fef.property[].name "nativeProximity.reverseProximityTable.title"
+rankprofile[].fef.property[].value "expdecay(3000,3)"
+rankprofile[].fef.property[].name "nativeFieldMatch.firstOccurrenceTable.keywords"
+rankprofile[].fef.property[].value "expdecay(8000,12.50)"
+rankprofile[].fef.property[].name "nativeFieldMatch.occurrenceCountTable.keywords"
+rankprofile[].fef.property[].value "loggrowth(1500,4000,19)"
+rankprofile[].fef.property[].name "nativeProximity.proximityTable.keywords"
+rankprofile[].fef.property[].value "expdecay(500,3)"
+rankprofile[].fef.property[].name "nativeProximity.reverseProximityTable.keywords"
+rankprofile[].fef.property[].value "expdecay(400,3)"
+rankprofile[].fef.property[].name "vespa.fieldweight.identity_literal"
+rankprofile[].fef.property[].value "200"
diff --git a/config-model/src/test/derived/ranktypes/summary.cfg b/config-model/src/test/derived/ranktypes/summary.cfg
index aaf8398b303..9644eb878ea 100644
--- a/config-model/src/test/derived/ranktypes/summary.cfg
+++ b/config-model/src/test/derived/ranktypes/summary.cfg
@@ -1,13 +1,13 @@
defaultsummaryid 1567556360
-classes[0].id 1567556360
-classes[0].name "default"
-classes[0].fields[0].name "title"
-classes[0].fields[0].type "longstring"
-classes[0].fields[1].name "descr"
-classes[0].fields[1].type "longstring"
-classes[0].fields[2].name "rankfeatures"
-classes[0].fields[2].type "featuredata"
-classes[0].fields[3].name "summaryfeatures"
-classes[0].fields[3].type "featuredata"
-classes[0].fields[4].name "documentid"
-classes[0].fields[4].type "longstring" \ No newline at end of file
+classes[].id 1567556360
+classes[].name "default"
+classes[].fields[].name "title"
+classes[].fields[].type "longstring"
+classes[].fields[].name "descr"
+classes[].fields[].type "longstring"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "documentid"
+classes[].fields[].type "longstring"
diff --git a/config-model/src/test/derived/ranktypes/summarymap.cfg b/config-model/src/test/derived/ranktypes/summarymap.cfg
index 42b6e811ee6..8956a146b74 100644
--- a/config-model/src/test/derived/ranktypes/summarymap.cfg
+++ b/config-model/src/test/derived/ranktypes/summarymap.cfg
@@ -1,7 +1,7 @@
defaultoutputclass -1
-override[0].field "rankfeatures"
-override[0].command "rankfeatures"
-override[0].arguments ""
-override[1].field "summaryfeatures"
-override[1].command "summaryfeatures"
-override[1].arguments "" \ No newline at end of file
+override[].field "rankfeatures"
+override[].command "rankfeatures"
+override[].arguments ""
+override[].field "summaryfeatures"
+override[].command "summaryfeatures"
+override[].arguments ""
diff --git a/config-model/src/test/derived/sorting/attributes.cfg b/config-model/src/test/derived/sorting/attributes.cfg
index f970a9e3f61..ade23456260 100644
--- a/config-model/src/test/derived/sorting/attributes.cfg
+++ b/config-model/src/test/derived/sorting/attributes.cfg
@@ -1,60 +1,60 @@
-attribute[0].name "syntaxcheck"
-attribute[0].datatype STRING
-attribute[0].collectiontype SINGLE
-attribute[0].removeifzero false
-attribute[0].createifnonexistent false
-attribute[0].fastsearch false
-attribute[0].huge false
-attribute[0].sortascending false
-attribute[0].sortfunction LOWERCASE
-attribute[0].sortstrength IDENTICAL
-attribute[0].sortlocale "en_US"
-attribute[0].enablebitvectors false
-attribute[0].enableonlybitvector false
-attribute[0].fastaccess false
-attribute[0].arity 8
-attribute[0].lowerbound -9223372036854775808
-attribute[0].upperbound 9223372036854775807
-attribute[0].densepostinglistthreshold 0.4
-attribute[0].tensortype ""
-attribute[0].imported false
-attribute[1].name "syntaxcheck2"
-attribute[1].datatype STRING
-attribute[1].collectiontype SINGLE
-attribute[1].removeifzero false
-attribute[1].createifnonexistent false
-attribute[1].fastsearch false
-attribute[1].huge false
-attribute[1].sortascending false
-attribute[1].sortfunction LOWERCASE
-attribute[1].sortstrength IDENTICAL
-attribute[1].sortlocale "en_US"
-attribute[1].enablebitvectors false
-attribute[1].enableonlybitvector false
-attribute[1].fastaccess false
-attribute[1].arity 8
-attribute[1].lowerbound -9223372036854775808
-attribute[1].upperbound 9223372036854775807
-attribute[1].densepostinglistthreshold 0.4
-attribute[1].tensortype ""
-attribute[1].imported false
-attribute[2].name "infieldonly"
-attribute[2].datatype STRING
-attribute[2].collectiontype SINGLE
-attribute[2].removeifzero false
-attribute[2].createifnonexistent false
-attribute[2].fastsearch false
-attribute[2].huge false
-attribute[2].sortascending false
-attribute[2].sortfunction LOWERCASE
-attribute[2].sortstrength SECONDARY
-attribute[2].sortlocale "en_US"
-attribute[2].enablebitvectors false
-attribute[2].enableonlybitvector false
-attribute[2].fastaccess false
-attribute[2].arity 8
-attribute[2].lowerbound -9223372036854775808
-attribute[2].upperbound 9223372036854775807
-attribute[2].densepostinglistthreshold 0.4
-attribute[2].tensortype ""
-attribute[2].imported false \ No newline at end of file
+attribute[].name "syntaxcheck"
+attribute[].datatype STRING
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending false
+attribute[].sortfunction LOWERCASE
+attribute[].sortstrength IDENTICAL
+attribute[].sortlocale "en_US"
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "syntaxcheck2"
+attribute[].datatype STRING
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending false
+attribute[].sortfunction LOWERCASE
+attribute[].sortstrength IDENTICAL
+attribute[].sortlocale "en_US"
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "infieldonly"
+attribute[].datatype STRING
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending false
+attribute[].sortfunction LOWERCASE
+attribute[].sortstrength SECONDARY
+attribute[].sortlocale "en_US"
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
diff --git a/config-model/src/test/derived/streamingjuniper/vsmsummary.cfg b/config-model/src/test/derived/streamingjuniper/vsmsummary.cfg
index 939f3453e3b..7ddb3fe2dcd 100644
--- a/config-model/src/test/derived/streamingjuniper/vsmsummary.cfg
+++ b/config-model/src/test/derived/streamingjuniper/vsmsummary.cfg
@@ -1,11 +1,11 @@
outputclass ""
-fieldmap[0].summary "f1"
-fieldmap[0].document[0].field "f1"
-fieldmap[0].command FLATTENJUNIPER
-fieldmap[1].summary "f2"
-fieldmap[1].document[0].field "f2"
-fieldmap[1].command FLATTENJUNIPER
-fieldmap[2].summary "rankfeatures"
-fieldmap[2].command NONE
-fieldmap[3].summary "summaryfeatures"
-fieldmap[3].command NONE \ No newline at end of file
+fieldmap[].summary "f1"
+fieldmap[].document[].field "f1"
+fieldmap[].command FLATTENJUNIPER
+fieldmap[].summary "f2"
+fieldmap[].document[].field "f2"
+fieldmap[].command FLATTENJUNIPER
+fieldmap[].summary "rankfeatures"
+fieldmap[].command NONE
+fieldmap[].summary "summaryfeatures"
+fieldmap[].command NONE
diff --git a/config-model/src/test/derived/streamingstruct/documentmanager.cfg b/config-model/src/test/derived/streamingstruct/documentmanager.cfg
index 42826c5be33..a80c2ad56ac 100644
--- a/config-model/src/test/derived/streamingstruct/documentmanager.cfg
+++ b/config-model/src/test/derived/streamingstruct/documentmanager.cfg
@@ -1,158 +1,158 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
-datatype[1].id 105061838
-datatype[1].structtype[0].name "ns1"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].compresstype NONE
-datatype[1].structtype[0].compresslevel 0
-datatype[1].structtype[0].compressthreshold 95
-datatype[1].structtype[0].compressminsize 800
-datatype[1].structtype[0].field[0].name "nf1"
-datatype[1].structtype[0].field[0].datatype 3474528
-datatype[1].structtype[0].field[0].detailedtype ""
-datatype[1].structtype[0].field[1].name "nf1s"
-datatype[1].structtype[0].field[1].datatype 3474528
-datatype[1].structtype[0].field[1].detailedtype ""
-datatype[1].structtype[0].field[2].name "nf2"
-datatype[1].structtype[0].field[2].datatype 2
-datatype[1].structtype[0].field[2].detailedtype ""
-datatype[2].id 3474528
-datatype[2].structtype[0].name "s1"
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].compresstype NONE
-datatype[2].structtype[0].compresslevel 0
-datatype[2].structtype[0].compressthreshold 95
-datatype[2].structtype[0].compressminsize 800
-datatype[2].structtype[0].field[0].name "f1"
-datatype[2].structtype[0].field[0].datatype 2
-datatype[2].structtype[0].field[0].detailedtype ""
-datatype[2].structtype[0].field[1].name "f1s"
-datatype[2].structtype[0].field[1].datatype 2
-datatype[2].structtype[0].field[1].detailedtype ""
-datatype[2].structtype[0].field[2].name "f2"
-datatype[2].structtype[0].field[2].datatype 0
-datatype[2].structtype[0].field[2].detailedtype ""
-datatype[2].structtype[0].field[3].name "f3"
-datatype[2].structtype[0].field[3].datatype 5
-datatype[2].structtype[0].field[3].detailedtype ""
-datatype[3].id -1497802371
-datatype[3].maptype[0].keytype 4
-datatype[3].maptype[0].valtype 2
-datatype[4].id -1425630723
-datatype[4].arraytype[0].datatype 3474528
-datatype[5].id 731395686
-datatype[5].structtype[0].name "streamingstruct.header"
-datatype[5].structtype[0].version 0
-datatype[5].structtype[0].compresstype NONE
-datatype[5].structtype[0].compresslevel 0
-datatype[5].structtype[0].compressthreshold 95
-datatype[5].structtype[0].compressminsize 800
-datatype[5].structtype[0].field[0].name "coupleof"
-datatype[5].structtype[0].field[0].datatype 2
-datatype[5].structtype[0].field[0].detailedtype ""
-datatype[5].structtype[0].field[1].name "normalfields"
-datatype[5].structtype[0].field[1].datatype 2
-datatype[5].structtype[0].field[1].detailedtype ""
-datatype[5].structtype[0].field[2].name "a"
-datatype[5].structtype[0].field[2].datatype 3474528
-datatype[5].structtype[0].field[2].detailedtype ""
-datatype[5].structtype[0].field[3].name "m"
-datatype[5].structtype[0].field[3].datatype -1497802371
-datatype[5].structtype[0].field[3].detailedtype ""
-datatype[5].structtype[0].field[4].name "b"
-datatype[5].structtype[0].field[4].datatype 3474528
-datatype[5].structtype[0].field[4].detailedtype ""
-datatype[5].structtype[0].field[5].name "c"
-datatype[5].structtype[0].field[5].datatype 3474528
-datatype[5].structtype[0].field[5].detailedtype ""
-datatype[5].structtype[0].field[6].name "c2"
-datatype[5].structtype[0].field[6].datatype 3474528
-datatype[5].structtype[0].field[6].detailedtype ""
-datatype[5].structtype[0].field[7].name "c3"
-datatype[5].structtype[0].field[7].datatype 3474528
-datatype[5].structtype[0].field[7].detailedtype ""
-datatype[5].structtype[0].field[8].name "n"
-datatype[5].structtype[0].field[8].datatype 105061838
-datatype[5].structtype[0].field[8].detailedtype ""
-datatype[5].structtype[0].field[9].name "array1"
-datatype[5].structtype[0].field[9].datatype -1425630723
-datatype[5].structtype[0].field[9].detailedtype ""
-datatype[5].structtype[0].field[10].name "array2"
-datatype[5].structtype[0].field[10].datatype -1425630723
-datatype[5].structtype[0].field[10].detailedtype ""
-datatype[5].structtype[0].field[11].name "array3"
-datatype[5].structtype[0].field[11].datatype -1425630723
-datatype[5].structtype[0].field[11].detailedtype ""
-datatype[5].structtype[0].field[12].name "subject"
-datatype[5].structtype[0].field[12].datatype 3474528
-datatype[5].structtype[0].field[12].detailedtype ""
-datatype[5].structtype[0].field[13].name "d"
-datatype[5].structtype[0].field[13].datatype 3474528
-datatype[5].structtype[0].field[13].detailedtype ""
-datatype[5].structtype[0].field[14].name "e"
-datatype[5].structtype[0].field[14].datatype 3474528
-datatype[5].structtype[0].field[14].detailedtype ""
-datatype[5].structtype[0].field[15].name "f"
-datatype[5].structtype[0].field[15].datatype 3474528
-datatype[5].structtype[0].field[15].detailedtype ""
-datatype[5].structtype[0].field[16].name "g"
-datatype[5].structtype[0].field[16].datatype 2
-datatype[5].structtype[0].field[16].detailedtype ""
-datatype[5].structtype[0].field[17].name "anothersummaryfield"
-datatype[5].structtype[0].field[17].datatype 2
-datatype[5].structtype[0].field[17].detailedtype ""
-datatype[5].structtype[0].field[18].name "rankfeatures"
-datatype[5].structtype[0].field[18].datatype 2
-datatype[5].structtype[0].field[18].detailedtype ""
-datatype[5].structtype[0].field[19].name "summaryfeatures"
-datatype[5].structtype[0].field[19].datatype 2
-datatype[5].structtype[0].field[19].detailedtype ""
-datatype[5].structtype[0].field[20].name "snippet"
-datatype[5].structtype[0].field[20].datatype 2
-datatype[5].structtype[0].field[20].detailedtype ""
-datatype[5].structtype[0].field[21].name "snippet2"
-datatype[5].structtype[0].field[21].datatype 2
-datatype[5].structtype[0].field[21].detailedtype ""
-datatype[6].id 1858438651
-datatype[6].structtype[0].name "streamingstruct.body"
-datatype[6].structtype[0].version 0
-datatype[6].structtype[0].compresstype NONE
-datatype[6].structtype[0].compresslevel 0
-datatype[6].structtype[0].compressthreshold 95
-datatype[6].structtype[0].compressminsize 800
-datatype[7].id 1433175737
-datatype[7].documenttype[0].name "streamingstruct"
-datatype[7].documenttype[0].version 0
-datatype[7].documenttype[0].inherits[0].name "document"
-datatype[7].documenttype[0].inherits[0].version 0
-datatype[7].documenttype[0].headerstruct 731395686
-datatype[7].documenttype[0].bodystruct 1858438651
-datatype[7].documenttype[0].fieldsets{[document]}.fields[0] "a"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[1] "array1"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[2] "array2"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[3] "array3"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[4] "b"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[5] "c"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[6] "c2"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[7] "c3"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[8] "coupleof"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[9] "d"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[10] "e"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[11] "f"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[12] "g"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[13] "m"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[14] "n"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[15] "normalfields"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[16] "subject"
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 105061838
+datatype[].structtype[].name "ns1"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "nf1"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "nf1s"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "nf2"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 3474528
+datatype[].structtype[].name "s1"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "f1"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "f1s"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "f2"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "f3"
+datatype[].structtype[].field[].datatype 5
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -1497802371
+datatype[].maptype[].keytype 4
+datatype[].maptype[].valtype 2
+datatype[].id -1425630723
+datatype[].arraytype[].datatype 3474528
+datatype[].id 731395686
+datatype[].structtype[].name "streamingstruct.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "coupleof"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "normalfields"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "a"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "m"
+datatype[].structtype[].field[].datatype -1497802371
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "b"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "c"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "c2"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "c3"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "n"
+datatype[].structtype[].field[].datatype 105061838
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "array1"
+datatype[].structtype[].field[].datatype -1425630723
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "array2"
+datatype[].structtype[].field[].datatype -1425630723
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "array3"
+datatype[].structtype[].field[].datatype -1425630723
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "subject"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "d"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "e"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "f"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "g"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "anothersummaryfield"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "snippet"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "snippet2"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 1858438651
+datatype[].structtype[].name "streamingstruct.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id 1433175737
+datatype[].documenttype[].name "streamingstruct"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 731395686
+datatype[].documenttype[].bodystruct 1858438651
+datatype[].documenttype[].fieldsets{[document]}.fields[0] "a"
+datatype[].documenttype[].fieldsets{[document]}.fields[1] "array1"
+datatype[].documenttype[].fieldsets{[document]}.fields[2] "array2"
+datatype[].documenttype[].fieldsets{[document]}.fields[3] "array3"
+datatype[].documenttype[].fieldsets{[document]}.fields[4] "b"
+datatype[].documenttype[].fieldsets{[document]}.fields[5] "c"
+datatype[].documenttype[].fieldsets{[document]}.fields[6] "c2"
+datatype[].documenttype[].fieldsets{[document]}.fields[7] "c3"
+datatype[].documenttype[].fieldsets{[document]}.fields[8] "coupleof"
+datatype[].documenttype[].fieldsets{[document]}.fields[9] "d"
+datatype[].documenttype[].fieldsets{[document]}.fields[10] "e"
+datatype[].documenttype[].fieldsets{[document]}.fields[11] "f"
+datatype[].documenttype[].fieldsets{[document]}.fields[12] "g"
+datatype[].documenttype[].fieldsets{[document]}.fields[13] "m"
+datatype[].documenttype[].fieldsets{[document]}.fields[14] "n"
+datatype[].documenttype[].fieldsets{[document]}.fields[15] "normalfields"
+datatype[].documenttype[].fieldsets{[document]}.fields[16] "subject"
diff --git a/config-model/src/test/derived/streamingstruct/onlydoc/documentmanager.cfg b/config-model/src/test/derived/streamingstruct/onlydoc/documentmanager.cfg
index d379d862626..1a1cf522fdd 100644
--- a/config-model/src/test/derived/streamingstruct/onlydoc/documentmanager.cfg
+++ b/config-model/src/test/derived/streamingstruct/onlydoc/documentmanager.cfg
@@ -1,126 +1,126 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
-datatype[1].id 105061838
-datatype[1].structtype[0].name "ns1"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].compresstype NONE
-datatype[1].structtype[0].compresslevel 0
-datatype[1].structtype[0].compressthreshold 95
-datatype[1].structtype[0].compressminsize 800
-datatype[1].structtype[0].field[0].name "nf1"
-datatype[1].structtype[0].field[0].datatype 3474528
-datatype[1].structtype[0].field[0].detailedtype ""
-datatype[1].structtype[0].field[1].name "nf1s"
-datatype[1].structtype[0].field[1].datatype 3474528
-datatype[1].structtype[0].field[1].detailedtype ""
-datatype[1].structtype[0].field[2].name "nf2"
-datatype[1].structtype[0].field[2].datatype 2
-datatype[1].structtype[0].field[2].detailedtype ""
-datatype[2].id 3474528
-datatype[2].structtype[0].name "s1"
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].compresstype NONE
-datatype[2].structtype[0].compresslevel 0
-datatype[2].structtype[0].compressthreshold 95
-datatype[2].structtype[0].compressminsize 800
-datatype[2].structtype[0].field[0].name "f1"
-datatype[2].structtype[0].field[0].datatype 2
-datatype[2].structtype[0].field[0].detailedtype ""
-datatype[2].structtype[0].field[1].name "f1s"
-datatype[2].structtype[0].field[1].datatype 2
-datatype[2].structtype[0].field[1].detailedtype ""
-datatype[2].structtype[0].field[2].name "f2"
-datatype[2].structtype[0].field[2].datatype 0
-datatype[2].structtype[0].field[2].detailedtype ""
-datatype[2].structtype[0].field[3].name "f3"
-datatype[2].structtype[0].field[3].datatype 5
-datatype[2].structtype[0].field[3].detailedtype ""
-datatype[3].id -1497802371
-datatype[3].maptype[0].keytype 4
-datatype[3].maptype[0].valtype 2
-datatype[4].id -1425630723
-datatype[4].arraytype[0].datatype 3474528
-datatype[5].id 731395686
-datatype[5].structtype[0].name "streamingstruct.header"
-datatype[5].structtype[0].version 0
-datatype[5].structtype[0].compresstype NONE
-datatype[5].structtype[0].compresslevel 0
-datatype[5].structtype[0].compressthreshold 95
-datatype[5].structtype[0].compressminsize 800
-datatype[5].structtype[0].field[0].name "coupleof"
-datatype[5].structtype[0].field[0].datatype 2
-datatype[5].structtype[0].field[0].detailedtype ""
-datatype[5].structtype[0].field[1].name "normalfields"
-datatype[5].structtype[0].field[1].datatype 2
-datatype[5].structtype[0].field[1].detailedtype ""
-datatype[5].structtype[0].field[2].name "a"
-datatype[5].structtype[0].field[2].datatype 3474528
-datatype[5].structtype[0].field[2].detailedtype ""
-datatype[5].structtype[0].field[3].name "m"
-datatype[5].structtype[0].field[3].datatype -1497802371
-datatype[5].structtype[0].field[3].detailedtype ""
-datatype[5].structtype[0].field[4].name "b"
-datatype[5].structtype[0].field[4].datatype 3474528
-datatype[5].structtype[0].field[4].detailedtype ""
-datatype[5].structtype[0].field[5].name "c"
-datatype[5].structtype[0].field[5].datatype 3474528
-datatype[5].structtype[0].field[5].detailedtype ""
-datatype[5].structtype[0].field[6].name "c2"
-datatype[5].structtype[0].field[6].datatype 3474528
-datatype[5].structtype[0].field[6].detailedtype ""
-datatype[5].structtype[0].field[7].name "c3"
-datatype[5].structtype[0].field[7].datatype 3474528
-datatype[5].structtype[0].field[7].detailedtype ""
-datatype[5].structtype[0].field[8].name "n"
-datatype[5].structtype[0].field[8].datatype 105061838
-datatype[5].structtype[0].field[8].detailedtype ""
-datatype[5].structtype[0].field[9].name "array1"
-datatype[5].structtype[0].field[9].datatype -1425630723
-datatype[5].structtype[0].field[9].detailedtype ""
-datatype[5].structtype[0].field[10].name "array2"
-datatype[5].structtype[0].field[10].datatype -1425630723
-datatype[5].structtype[0].field[10].detailedtype ""
-datatype[5].structtype[0].field[11].name "array3"
-datatype[5].structtype[0].field[11].datatype -1425630723
-datatype[5].structtype[0].field[11].detailedtype ""
-datatype[5].structtype[0].field[12].name "subject"
-datatype[5].structtype[0].field[12].datatype 3474528
-datatype[5].structtype[0].field[12].detailedtype ""
-datatype[5].structtype[0].field[13].name "d"
-datatype[5].structtype[0].field[13].datatype 3474528
-datatype[5].structtype[0].field[13].detailedtype ""
-datatype[5].structtype[0].field[14].name "e"
-datatype[5].structtype[0].field[14].datatype 3474528
-datatype[5].structtype[0].field[14].detailedtype ""
-datatype[5].structtype[0].field[15].name "f"
-datatype[5].structtype[0].field[15].datatype 3474528
-datatype[5].structtype[0].field[15].detailedtype ""
-datatype[5].structtype[0].field[16].name "g"
-datatype[5].structtype[0].field[16].datatype 2
-datatype[5].structtype[0].field[16].detailedtype ""
-datatype[6].id 1858438651
-datatype[6].structtype[0].name "streamingstruct.body"
-datatype[6].structtype[0].version 0
-datatype[6].structtype[0].compresstype NONE
-datatype[6].structtype[0].compresslevel 0
-datatype[6].structtype[0].compressthreshold 95
-datatype[6].structtype[0].compressminsize 800
-datatype[7].id 1433175737
-datatype[7].documenttype[0].name "streamingstruct"
-datatype[7].documenttype[0].version 0
-datatype[7].documenttype[0].inherits[0].name "document"
-datatype[7].documenttype[0].inherits[0].version 0
-datatype[7].documenttype[0].headerstruct 731395686
-datatype[7].documenttype[0].bodystruct 1858438651
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 105061838
+datatype[].structtype[].name "ns1"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "nf1"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "nf1s"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "nf2"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 3474528
+datatype[].structtype[].name "s1"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "f1"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "f1s"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "f2"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "f3"
+datatype[].structtype[].field[].datatype 5
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -1497802371
+datatype[].maptype[].keytype 4
+datatype[].maptype[].valtype 2
+datatype[].id -1425630723
+datatype[].arraytype[].datatype 3474528
+datatype[].id 731395686
+datatype[].structtype[].name "streamingstruct.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "coupleof"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "normalfields"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "a"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "m"
+datatype[].structtype[].field[].datatype -1497802371
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "b"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "c"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "c2"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "c3"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "n"
+datatype[].structtype[].field[].datatype 105061838
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "array1"
+datatype[].structtype[].field[].datatype -1425630723
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "array2"
+datatype[].structtype[].field[].datatype -1425630723
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "array3"
+datatype[].structtype[].field[].datatype -1425630723
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "subject"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "d"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "e"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "f"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "g"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 1858438651
+datatype[].structtype[].name "streamingstruct.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id 1433175737
+datatype[].documenttype[].name "streamingstruct"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 731395686
+datatype[].documenttype[].bodystruct 1858438651
diff --git a/config-model/src/test/derived/streamingstruct/summary.cfg b/config-model/src/test/derived/streamingstruct/summary.cfg
index 9d722116850..28f19e6fe25 100644
--- a/config-model/src/test/derived/streamingstruct/summary.cfg
+++ b/config-model/src/test/derived/streamingstruct/summary.cfg
@@ -1,51 +1,51 @@
defaultsummaryid 569269436
-classes[0].id 569269436
-classes[0].name "default"
-classes[0].fields[0].name "coupleof"
-classes[0].fields[0].type "longstring"
-classes[0].fields[1].name "anothersummaryfield"
-classes[0].fields[1].type "longstring"
-classes[0].fields[2].name "a"
-classes[0].fields[2].type "jsonstring"
-classes[0].fields[3].name "m"
-classes[0].fields[3].type "jsonstring"
-classes[0].fields[4].name "b"
-classes[0].fields[4].type "jsonstring"
-classes[0].fields[5].name "c"
-classes[0].fields[5].type "jsonstring"
-classes[0].fields[6].name "c2"
-classes[0].fields[6].type "jsonstring"
-classes[0].fields[7].name "c3"
-classes[0].fields[7].type "jsonstring"
-classes[0].fields[8].name "n"
-classes[0].fields[8].type "jsonstring"
-classes[0].fields[9].name "array1"
-classes[0].fields[9].type "jsonstring"
-classes[0].fields[10].name "array2"
-classes[0].fields[10].type "jsonstring"
-classes[0].fields[11].name "array3"
-classes[0].fields[11].type "jsonstring"
-classes[0].fields[12].name "subject"
-classes[0].fields[12].type "jsonstring"
-classes[0].fields[13].name "g"
-classes[0].fields[13].type "longstring"
-classes[0].fields[14].name "rankfeatures"
-classes[0].fields[14].type "featuredata"
-classes[0].fields[15].name "summaryfeatures"
-classes[0].fields[15].type "featuredata"
-classes[0].fields[16].name "snippet"
-classes[0].fields[16].type "longstring"
-classes[0].fields[17].name "snippet2"
-classes[0].fields[17].type "longstring"
-classes[0].fields[18].name "documentid"
-classes[0].fields[18].type "longstring"
-classes[1].id 109252281
-classes[1].name "summ"
-classes[1].fields[0].name "snippet"
-classes[1].fields[0].type "longstring"
-classes[1].fields[1].name "snippet2"
-classes[1].fields[1].type "longstring"
-classes[1].fields[2].name "rankfeatures"
-classes[1].fields[2].type "featuredata"
-classes[1].fields[3].name "summaryfeatures"
-classes[1].fields[3].type "featuredata" \ No newline at end of file
+classes[].id 569269436
+classes[].name "default"
+classes[].fields[].name "coupleof"
+classes[].fields[].type "longstring"
+classes[].fields[].name "anothersummaryfield"
+classes[].fields[].type "longstring"
+classes[].fields[].name "a"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "m"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "b"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "c"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "c2"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "c3"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "n"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "array1"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "array2"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "array3"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "subject"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "g"
+classes[].fields[].type "longstring"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "snippet"
+classes[].fields[].type "longstring"
+classes[].fields[].name "snippet2"
+classes[].fields[].type "longstring"
+classes[].fields[].name "documentid"
+classes[].fields[].type "longstring"
+classes[].id 109252281
+classes[].name "summ"
+classes[].fields[].name "snippet"
+classes[].fields[].type "longstring"
+classes[].fields[].name "snippet2"
+classes[].fields[].type "longstring"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
diff --git a/config-model/src/test/derived/streamingstruct/summarymap.cfg b/config-model/src/test/derived/streamingstruct/summarymap.cfg
index 1bf13ffa199..865c6f733f1 100644
--- a/config-model/src/test/derived/streamingstruct/summarymap.cfg
+++ b/config-model/src/test/derived/streamingstruct/summarymap.cfg
@@ -1,13 +1,13 @@
defaultoutputclass -1
-override[0].field "snippet"
-override[0].command "dynamicteaser"
-override[0].arguments "snippet"
-override[1].field "rankfeatures"
-override[1].command "rankfeatures"
-override[1].arguments ""
-override[2].field "summaryfeatures"
-override[2].command "summaryfeatures"
-override[2].arguments ""
-override[3].field "g"
-override[3].command "dynamicteaser"
-override[3].arguments "g" \ No newline at end of file
+override[].field "snippet"
+override[].command "dynamicteaser"
+override[].arguments "snippet"
+override[].field "rankfeatures"
+override[].command "rankfeatures"
+override[].arguments ""
+override[].field "summaryfeatures"
+override[].command "summaryfeatures"
+override[].arguments ""
+override[].field "g"
+override[].command "dynamicteaser"
+override[].arguments "g"
diff --git a/config-model/src/test/derived/streamingstruct/vsmfields.cfg b/config-model/src/test/derived/streamingstruct/vsmfields.cfg
index abfd90820cc..a99a704be3a 100644
--- a/config-model/src/test/derived/streamingstruct/vsmfields.cfg
+++ b/config-model/src/test/derived/streamingstruct/vsmfields.cfg
@@ -1,434 +1,434 @@
documentverificationlevel 0
searchall 1
-fieldspec[0].name "coupleof"
-fieldspec[0].searchmethod AUTOUTF8
-fieldspec[0].arg1 ""
-fieldspec[0].maxlength 1048576
-fieldspec[0].fieldtype INDEX
-fieldspec[1].name "normalfields"
-fieldspec[1].searchmethod AUTOUTF8
-fieldspec[1].arg1 ""
-fieldspec[1].maxlength 1048576
-fieldspec[1].fieldtype INDEX
-fieldspec[2].name "a.f1"
-fieldspec[2].searchmethod AUTOUTF8
-fieldspec[2].arg1 ""
-fieldspec[2].maxlength 1048576
-fieldspec[2].fieldtype INDEX
-fieldspec[3].name "a.f1s"
-fieldspec[3].searchmethod AUTOUTF8
-fieldspec[3].arg1 "substring"
-fieldspec[3].maxlength 1048576
-fieldspec[3].fieldtype INDEX
-fieldspec[4].name "a.f2"
-fieldspec[4].searchmethod INT32
-fieldspec[4].arg1 ""
-fieldspec[4].maxlength 1048576
-fieldspec[4].fieldtype INDEX
-fieldspec[5].name "a.f3"
-fieldspec[5].searchmethod DOUBLE
-fieldspec[5].arg1 ""
-fieldspec[5].maxlength 1048576
-fieldspec[5].fieldtype INDEX
-fieldspec[6].name "m.key"
-fieldspec[6].searchmethod INT64
-fieldspec[6].arg1 ""
-fieldspec[6].maxlength 1048576
-fieldspec[6].fieldtype INDEX
-fieldspec[7].name "m.value"
-fieldspec[7].searchmethod AUTOUTF8
-fieldspec[7].arg1 ""
-fieldspec[7].maxlength 1048576
-fieldspec[7].fieldtype INDEX
-fieldspec[8].name "b.f1"
-fieldspec[8].searchmethod AUTOUTF8
-fieldspec[8].arg1 ""
-fieldspec[8].maxlength 1048576
-fieldspec[8].fieldtype INDEX
-fieldspec[9].name "b.f1s"
-fieldspec[9].searchmethod AUTOUTF8
-fieldspec[9].arg1 "substring"
-fieldspec[9].maxlength 1048576
-fieldspec[9].fieldtype INDEX
-fieldspec[10].name "b.f2"
-fieldspec[10].searchmethod INT32
-fieldspec[10].arg1 ""
-fieldspec[10].maxlength 1048576
-fieldspec[10].fieldtype INDEX
-fieldspec[11].name "b.f3"
-fieldspec[11].searchmethod DOUBLE
-fieldspec[11].arg1 ""
-fieldspec[11].maxlength 1048576
-fieldspec[11].fieldtype INDEX
-fieldspec[12].name "c.f1"
-fieldspec[12].searchmethod AUTOUTF8
-fieldspec[12].arg1 ""
-fieldspec[12].maxlength 1048576
-fieldspec[12].fieldtype ATTRIBUTE
-fieldspec[13].name "c.f1s"
-fieldspec[13].searchmethod AUTOUTF8
-fieldspec[13].arg1 "prefix"
-fieldspec[13].maxlength 1048576
-fieldspec[13].fieldtype INDEX
-fieldspec[14].name "c.f3"
-fieldspec[14].searchmethod DOUBLE
-fieldspec[14].arg1 ""
-fieldspec[14].maxlength 1048576
-fieldspec[14].fieldtype INDEX
-fieldspec[15].name "c2.f1"
-fieldspec[15].searchmethod AUTOUTF8
-fieldspec[15].arg1 ""
-fieldspec[15].maxlength 1048576
-fieldspec[15].fieldtype ATTRIBUTE
-fieldspec[16].name "c2.f1s"
-fieldspec[16].searchmethod AUTOUTF8
-fieldspec[16].arg1 "suffix"
-fieldspec[16].maxlength 1048576
-fieldspec[16].fieldtype INDEX
-fieldspec[17].name "c2.f2"
-fieldspec[17].searchmethod INT32
-fieldspec[17].arg1 ""
-fieldspec[17].maxlength 1048576
-fieldspec[17].fieldtype INDEX
-fieldspec[18].name "c2.f3"
-fieldspec[18].searchmethod DOUBLE
-fieldspec[18].arg1 ""
-fieldspec[18].maxlength 1048576
-fieldspec[18].fieldtype INDEX
-fieldspec[19].name "c3.f1"
-fieldspec[19].searchmethod AUTOUTF8
-fieldspec[19].arg1 ""
-fieldspec[19].maxlength 1048576
-fieldspec[19].fieldtype ATTRIBUTE
-fieldspec[20].name "c3.f1s"
-fieldspec[20].searchmethod AUTOUTF8
-fieldspec[20].arg1 "prefix"
-fieldspec[20].maxlength 1048576
-fieldspec[20].fieldtype INDEX
-fieldspec[21].name "c3.f2"
-fieldspec[21].searchmethod INT32
-fieldspec[21].arg1 ""
-fieldspec[21].maxlength 1048576
-fieldspec[21].fieldtype INDEX
-fieldspec[22].name "c3.f3"
-fieldspec[22].searchmethod DOUBLE
-fieldspec[22].arg1 ""
-fieldspec[22].maxlength 1048576
-fieldspec[22].fieldtype INDEX
-fieldspec[23].name "n.nf1.f1"
-fieldspec[23].searchmethod AUTOUTF8
-fieldspec[23].arg1 ""
-fieldspec[23].maxlength 1048576
-fieldspec[23].fieldtype INDEX
-fieldspec[24].name "n.nf1.f1s"
-fieldspec[24].searchmethod AUTOUTF8
-fieldspec[24].arg1 "prefix"
-fieldspec[24].maxlength 1048576
-fieldspec[24].fieldtype INDEX
-fieldspec[25].name "n.nf1.f3"
-fieldspec[25].searchmethod DOUBLE
-fieldspec[25].arg1 ""
-fieldspec[25].maxlength 1048576
-fieldspec[25].fieldtype INDEX
-fieldspec[26].name "n.nf1s.f1"
-fieldspec[26].searchmethod AUTOUTF8
-fieldspec[26].arg1 "substring"
-fieldspec[26].maxlength 1048576
-fieldspec[26].fieldtype INDEX
-fieldspec[27].name "n.nf1s.f1s"
-fieldspec[27].searchmethod AUTOUTF8
-fieldspec[27].arg1 "substring"
-fieldspec[27].maxlength 1048576
-fieldspec[27].fieldtype INDEX
-fieldspec[28].name "n.nf1s.f2"
-fieldspec[28].searchmethod INT32
-fieldspec[28].arg1 ""
-fieldspec[28].maxlength 1048576
-fieldspec[28].fieldtype INDEX
-fieldspec[29].name "n.nf1s.f3"
-fieldspec[29].searchmethod DOUBLE
-fieldspec[29].arg1 ""
-fieldspec[29].maxlength 1048576
-fieldspec[29].fieldtype INDEX
-fieldspec[30].name "n.nf2"
-fieldspec[30].searchmethod AUTOUTF8
-fieldspec[30].arg1 ""
-fieldspec[30].maxlength 1048576
-fieldspec[30].fieldtype INDEX
-fieldspec[31].name "array1.f1"
-fieldspec[31].searchmethod AUTOUTF8
-fieldspec[31].arg1 ""
-fieldspec[31].maxlength 1048576
-fieldspec[31].fieldtype INDEX
-fieldspec[32].name "array1.f1s"
-fieldspec[32].searchmethod AUTOUTF8
-fieldspec[32].arg1 "substring"
-fieldspec[32].maxlength 1048576
-fieldspec[32].fieldtype INDEX
-fieldspec[33].name "array1.f2"
-fieldspec[33].searchmethod INT32
-fieldspec[33].arg1 ""
-fieldspec[33].maxlength 1048576
-fieldspec[33].fieldtype INDEX
-fieldspec[34].name "array1.f3"
-fieldspec[34].searchmethod DOUBLE
-fieldspec[34].arg1 ""
-fieldspec[34].maxlength 1048576
-fieldspec[34].fieldtype INDEX
-fieldspec[35].name "array2.f1"
-fieldspec[35].searchmethod AUTOUTF8
-fieldspec[35].arg1 ""
-fieldspec[35].maxlength 1048576
-fieldspec[35].fieldtype INDEX
-fieldspec[36].name "array2.f1s"
-fieldspec[36].searchmethod AUTOUTF8
-fieldspec[36].arg1 "substring"
-fieldspec[36].maxlength 1048576
-fieldspec[36].fieldtype INDEX
-fieldspec[37].name "array2.f2"
-fieldspec[37].searchmethod INT32
-fieldspec[37].arg1 ""
-fieldspec[37].maxlength 1048576
-fieldspec[37].fieldtype INDEX
-fieldspec[38].name "array2.f3"
-fieldspec[38].searchmethod DOUBLE
-fieldspec[38].arg1 ""
-fieldspec[38].maxlength 1048576
-fieldspec[38].fieldtype INDEX
-fieldspec[39].name "array3.f1"
-fieldspec[39].searchmethod AUTOUTF8
-fieldspec[39].arg1 ""
-fieldspec[39].maxlength 1048576
-fieldspec[39].fieldtype ATTRIBUTE
-fieldspec[40].name "array3.f1s"
-fieldspec[40].searchmethod AUTOUTF8
-fieldspec[40].arg1 "prefix"
-fieldspec[40].maxlength 1048576
-fieldspec[40].fieldtype INDEX
-fieldspec[41].name "array3.f3"
-fieldspec[41].searchmethod DOUBLE
-fieldspec[41].arg1 ""
-fieldspec[41].maxlength 1048576
-fieldspec[41].fieldtype INDEX
-fieldspec[42].name "subject.f1"
-fieldspec[42].searchmethod AUTOUTF8
-fieldspec[42].arg1 ""
-fieldspec[42].maxlength 1048576
-fieldspec[42].fieldtype INDEX
-fieldspec[43].name "d.f1"
-fieldspec[43].searchmethod AUTOUTF8
-fieldspec[43].arg1 "prefix"
-fieldspec[43].maxlength 1048576
-fieldspec[43].fieldtype INDEX
-fieldspec[44].name "d.f1s"
-fieldspec[44].searchmethod AUTOUTF8
-fieldspec[44].arg1 "prefix"
-fieldspec[44].maxlength 1048576
-fieldspec[44].fieldtype INDEX
-fieldspec[45].name "d.f2"
-fieldspec[45].searchmethod INT32
-fieldspec[45].arg1 ""
-fieldspec[45].maxlength 1048576
-fieldspec[45].fieldtype INDEX
-fieldspec[46].name "d.f3"
-fieldspec[46].searchmethod DOUBLE
-fieldspec[46].arg1 ""
-fieldspec[46].maxlength 1048576
-fieldspec[46].fieldtype INDEX
-fieldspec[47].name "e.f1"
-fieldspec[47].searchmethod AUTOUTF8
-fieldspec[47].arg1 "substring"
-fieldspec[47].maxlength 1048576
-fieldspec[47].fieldtype INDEX
-fieldspec[48].name "e.f1s"
-fieldspec[48].searchmethod AUTOUTF8
-fieldspec[48].arg1 "substring"
-fieldspec[48].maxlength 1048576
-fieldspec[48].fieldtype INDEX
-fieldspec[49].name "e.f2"
-fieldspec[49].searchmethod INT32
-fieldspec[49].arg1 ""
-fieldspec[49].maxlength 1048576
-fieldspec[49].fieldtype INDEX
-fieldspec[50].name "e.f3"
-fieldspec[50].searchmethod DOUBLE
-fieldspec[50].arg1 ""
-fieldspec[50].maxlength 1048576
-fieldspec[50].fieldtype INDEX
-fieldspec[51].name "f.f1"
-fieldspec[51].searchmethod AUTOUTF8
-fieldspec[51].arg1 "suffix"
-fieldspec[51].maxlength 1048576
-fieldspec[51].fieldtype INDEX
-fieldspec[52].name "f.f1s"
-fieldspec[52].searchmethod AUTOUTF8
-fieldspec[52].arg1 "suffix"
-fieldspec[52].maxlength 1048576
-fieldspec[52].fieldtype INDEX
-fieldspec[53].name "f.f2"
-fieldspec[53].searchmethod INT32
-fieldspec[53].arg1 ""
-fieldspec[53].maxlength 1048576
-fieldspec[53].fieldtype INDEX
-fieldspec[54].name "f.f3"
-fieldspec[54].searchmethod DOUBLE
-fieldspec[54].arg1 ""
-fieldspec[54].maxlength 1048576
-fieldspec[54].fieldtype INDEX
-fieldspec[55].name "g"
-fieldspec[55].searchmethod AUTOUTF8
-fieldspec[55].arg1 ""
-fieldspec[55].maxlength 1048576
-fieldspec[55].fieldtype INDEX
-documenttype[0].name "streamingstruct"
-documenttype[0].index[0].name "coupleof"
-documenttype[0].index[0].field[0].name "coupleof"
-documenttype[0].index[1].name "normalfields"
-documenttype[0].index[1].field[0].name "normalfields"
-documenttype[0].index[2].name "b"
-documenttype[0].index[2].field[0].name "b.f1"
-documenttype[0].index[2].field[1].name "b.f1s"
-documenttype[0].index[2].field[2].name "b.f2"
-documenttype[0].index[2].field[3].name "b.f3"
-documenttype[0].index[3].name "b.f1"
-documenttype[0].index[3].field[0].name "b.f1"
-documenttype[0].index[4].name "b.f1s"
-documenttype[0].index[4].field[0].name "b.f1s"
-documenttype[0].index[5].name "b.f2"
-documenttype[0].index[5].field[0].name "b.f2"
-documenttype[0].index[6].name "b.f3"
-documenttype[0].index[6].field[0].name "b.f3"
-documenttype[0].index[7].name "c"
-documenttype[0].index[7].field[0].name "c.f1"
-documenttype[0].index[7].field[1].name "c.f1s"
-documenttype[0].index[7].field[2].name "c.f3"
-documenttype[0].index[8].name "c.f1"
-documenttype[0].index[8].field[0].name "c.f1"
-documenttype[0].index[9].name "c.f1s"
-documenttype[0].index[9].field[0].name "c.f1s"
-documenttype[0].index[10].name "c.f3"
-documenttype[0].index[10].field[0].name "c.f3"
-documenttype[0].index[11].name "c2"
-documenttype[0].index[11].field[0].name "c2.f1"
-documenttype[0].index[11].field[1].name "c2.f1s"
-documenttype[0].index[11].field[2].name "c2.f2"
-documenttype[0].index[11].field[3].name "c2.f3"
-documenttype[0].index[12].name "c2.f1"
-documenttype[0].index[12].field[0].name "c2.f1"
-documenttype[0].index[13].name "c2.f1s"
-documenttype[0].index[13].field[0].name "c2.f1s"
-documenttype[0].index[14].name "c2.f2"
-documenttype[0].index[14].field[0].name "c2.f2"
-documenttype[0].index[15].name "c2.f3"
-documenttype[0].index[15].field[0].name "c2.f3"
-documenttype[0].index[16].name "c3"
-documenttype[0].index[16].field[0].name "c3.f1"
-documenttype[0].index[16].field[1].name "c3.f1s"
-documenttype[0].index[16].field[2].name "c3.f2"
-documenttype[0].index[16].field[3].name "c3.f3"
-documenttype[0].index[17].name "c3.f1"
-documenttype[0].index[17].field[0].name "c3.f1"
-documenttype[0].index[18].name "c3.f1s"
-documenttype[0].index[18].field[0].name "c3.f1s"
-documenttype[0].index[19].name "c3.f2"
-documenttype[0].index[19].field[0].name "c3.f2"
-documenttype[0].index[20].name "c3.f3"
-documenttype[0].index[20].field[0].name "c3.f3"
-documenttype[0].index[21].name "n"
-documenttype[0].index[21].field[0].name "n.nf1.f1"
-documenttype[0].index[21].field[1].name "n.nf1.f1s"
-documenttype[0].index[21].field[2].name "n.nf1.f3"
-documenttype[0].index[21].field[3].name "n.nf1s.f1"
-documenttype[0].index[21].field[4].name "n.nf1s.f1s"
-documenttype[0].index[21].field[5].name "n.nf1s.f2"
-documenttype[0].index[21].field[6].name "n.nf1s.f3"
-documenttype[0].index[21].field[7].name "n.nf2"
-documenttype[0].index[22].name "n.nf1"
-documenttype[0].index[22].field[0].name "n.nf1.f1"
-documenttype[0].index[22].field[1].name "n.nf1.f1s"
-documenttype[0].index[22].field[2].name "n.nf1.f3"
-documenttype[0].index[23].name "n.nf1.f1"
-documenttype[0].index[23].field[0].name "n.nf1.f1"
-documenttype[0].index[24].name "n.nf1.f1s"
-documenttype[0].index[24].field[0].name "n.nf1.f1s"
-documenttype[0].index[25].name "n.nf1.f3"
-documenttype[0].index[25].field[0].name "n.nf1.f3"
-documenttype[0].index[26].name "n.nf1s"
-documenttype[0].index[26].field[0].name "n.nf1s.f1"
-documenttype[0].index[26].field[1].name "n.nf1s.f1s"
-documenttype[0].index[26].field[2].name "n.nf1s.f2"
-documenttype[0].index[26].field[3].name "n.nf1s.f3"
-documenttype[0].index[27].name "n.nf1s.f1"
-documenttype[0].index[27].field[0].name "n.nf1s.f1"
-documenttype[0].index[28].name "n.nf1s.f1s"
-documenttype[0].index[28].field[0].name "n.nf1s.f1s"
-documenttype[0].index[29].name "n.nf1s.f2"
-documenttype[0].index[29].field[0].name "n.nf1s.f2"
-documenttype[0].index[30].name "n.nf1s.f3"
-documenttype[0].index[30].field[0].name "n.nf1s.f3"
-documenttype[0].index[31].name "n.nf2"
-documenttype[0].index[31].field[0].name "n.nf2"
-documenttype[0].index[32].name "array2"
-documenttype[0].index[32].field[0].name "array2.f1"
-documenttype[0].index[32].field[1].name "array2.f1s"
-documenttype[0].index[32].field[2].name "array2.f2"
-documenttype[0].index[32].field[3].name "array2.f3"
-documenttype[0].index[33].name "array2.f1"
-documenttype[0].index[33].field[0].name "array2.f1"
-documenttype[0].index[34].name "array2.f1s"
-documenttype[0].index[34].field[0].name "array2.f1s"
-documenttype[0].index[35].name "array2.f2"
-documenttype[0].index[35].field[0].name "array2.f2"
-documenttype[0].index[36].name "array2.f3"
-documenttype[0].index[36].field[0].name "array2.f3"
-documenttype[0].index[37].name "array3"
-documenttype[0].index[37].field[0].name "array3.f1"
-documenttype[0].index[37].field[1].name "array3.f1s"
-documenttype[0].index[37].field[2].name "array3.f3"
-documenttype[0].index[38].name "array3.f1"
-documenttype[0].index[38].field[0].name "array3.f1"
-documenttype[0].index[39].name "array3.f1s"
-documenttype[0].index[39].field[0].name "array3.f1s"
-documenttype[0].index[40].name "array3.f3"
-documenttype[0].index[40].field[0].name "array3.f3"
-documenttype[0].index[41].name "d"
-documenttype[0].index[41].field[0].name "d.f1"
-documenttype[0].index[41].field[1].name "d.f1s"
-documenttype[0].index[41].field[2].name "d.f2"
-documenttype[0].index[41].field[3].name "d.f3"
-documenttype[0].index[42].name "d.f1"
-documenttype[0].index[42].field[0].name "d.f1"
-documenttype[0].index[43].name "d.f1s"
-documenttype[0].index[43].field[0].name "d.f1s"
-documenttype[0].index[44].name "d.f2"
-documenttype[0].index[44].field[0].name "d.f2"
-documenttype[0].index[45].name "d.f3"
-documenttype[0].index[45].field[0].name "d.f3"
-documenttype[0].index[46].name "e"
-documenttype[0].index[46].field[0].name "e.f1"
-documenttype[0].index[46].field[1].name "e.f1s"
-documenttype[0].index[46].field[2].name "e.f2"
-documenttype[0].index[46].field[3].name "e.f3"
-documenttype[0].index[47].name "e.f1"
-documenttype[0].index[47].field[0].name "e.f1"
-documenttype[0].index[48].name "e.f1s"
-documenttype[0].index[48].field[0].name "e.f1s"
-documenttype[0].index[49].name "e.f2"
-documenttype[0].index[49].field[0].name "e.f2"
-documenttype[0].index[50].name "e.f3"
-documenttype[0].index[50].field[0].name "e.f3"
-documenttype[0].index[51].name "f"
-documenttype[0].index[51].field[0].name "f.f1"
-documenttype[0].index[51].field[1].name "f.f1s"
-documenttype[0].index[51].field[2].name "f.f2"
-documenttype[0].index[51].field[3].name "f.f3"
-documenttype[0].index[52].name "f.f1"
-documenttype[0].index[52].field[0].name "f.f1"
-documenttype[0].index[53].name "f.f1s"
-documenttype[0].index[53].field[0].name "f.f1s"
-documenttype[0].index[54].name "f.f2"
-documenttype[0].index[54].field[0].name "f.f2"
-documenttype[0].index[55].name "f.f3"
-documenttype[0].index[55].field[0].name "f.f3"
-documenttype[0].index[56].name "g"
-documenttype[0].index[56].field[0].name "g" \ No newline at end of file
+fieldspec[].name "coupleof"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "normalfields"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "a.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "a.f1s"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "substring"
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "a.f2"
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "a.f3"
+fieldspec[].searchmethod DOUBLE
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "m.key"
+fieldspec[].searchmethod INT64
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "m.value"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "b.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "b.f1s"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "substring"
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "b.f2"
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "b.f3"
+fieldspec[].searchmethod DOUBLE
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "c.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype ATTRIBUTE
+fieldspec[].name "c.f1s"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "c.f3"
+fieldspec[].searchmethod DOUBLE
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "c2.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype ATTRIBUTE
+fieldspec[].name "c2.f1s"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "suffix"
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "c2.f2"
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "c2.f3"
+fieldspec[].searchmethod DOUBLE
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "c3.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype ATTRIBUTE
+fieldspec[].name "c3.f1s"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "c3.f2"
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "c3.f3"
+fieldspec[].searchmethod DOUBLE
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "n.nf1.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "n.nf1.f1s"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "n.nf1.f3"
+fieldspec[].searchmethod DOUBLE
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "n.nf1s.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "substring"
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "n.nf1s.f1s"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "substring"
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "n.nf1s.f2"
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "n.nf1s.f3"
+fieldspec[].searchmethod DOUBLE
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "n.nf2"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "array1.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "array1.f1s"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "substring"
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "array1.f2"
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "array1.f3"
+fieldspec[].searchmethod DOUBLE
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "array2.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "array2.f1s"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "substring"
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "array2.f2"
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "array2.f3"
+fieldspec[].searchmethod DOUBLE
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "array3.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype ATTRIBUTE
+fieldspec[].name "array3.f1s"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "array3.f3"
+fieldspec[].searchmethod DOUBLE
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "subject.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "d.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "d.f1s"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "d.f2"
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "d.f3"
+fieldspec[].searchmethod DOUBLE
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "e.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "substring"
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "e.f1s"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "substring"
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "e.f2"
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "e.f3"
+fieldspec[].searchmethod DOUBLE
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "f.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "suffix"
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "f.f1s"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "suffix"
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "f.f2"
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "f.f3"
+fieldspec[].searchmethod DOUBLE
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+fieldspec[].name "g"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].maxlength 1048576
+fieldspec[].fieldtype INDEX
+documenttype[].name "streamingstruct"
+documenttype[].index[].name "coupleof"
+documenttype[].index[].field[].name "coupleof"
+documenttype[].index[].name "normalfields"
+documenttype[].index[].field[].name "normalfields"
+documenttype[].index[].name "b"
+documenttype[].index[].field[].name "b.f1"
+documenttype[].index[].field[].name "b.f1s"
+documenttype[].index[].field[].name "b.f2"
+documenttype[].index[].field[].name "b.f3"
+documenttype[].index[].name "b.f1"
+documenttype[].index[].field[].name "b.f1"
+documenttype[].index[].name "b.f1s"
+documenttype[].index[].field[].name "b.f1s"
+documenttype[].index[].name "b.f2"
+documenttype[].index[].field[].name "b.f2"
+documenttype[].index[].name "b.f3"
+documenttype[].index[].field[].name "b.f3"
+documenttype[].index[].name "c"
+documenttype[].index[].field[].name "c.f1"
+documenttype[].index[].field[].name "c.f1s"
+documenttype[].index[].field[].name "c.f3"
+documenttype[].index[].name "c.f1"
+documenttype[].index[].field[].name "c.f1"
+documenttype[].index[].name "c.f1s"
+documenttype[].index[].field[].name "c.f1s"
+documenttype[].index[].name "c.f3"
+documenttype[].index[].field[].name "c.f3"
+documenttype[].index[].name "c2"
+documenttype[].index[].field[].name "c2.f1"
+documenttype[].index[].field[].name "c2.f1s"
+documenttype[].index[].field[].name "c2.f2"
+documenttype[].index[].field[].name "c2.f3"
+documenttype[].index[].name "c2.f1"
+documenttype[].index[].field[].name "c2.f1"
+documenttype[].index[].name "c2.f1s"
+documenttype[].index[].field[].name "c2.f1s"
+documenttype[].index[].name "c2.f2"
+documenttype[].index[].field[].name "c2.f2"
+documenttype[].index[].name "c2.f3"
+documenttype[].index[].field[].name "c2.f3"
+documenttype[].index[].name "c3"
+documenttype[].index[].field[].name "c3.f1"
+documenttype[].index[].field[].name "c3.f1s"
+documenttype[].index[].field[].name "c3.f2"
+documenttype[].index[].field[].name "c3.f3"
+documenttype[].index[].name "c3.f1"
+documenttype[].index[].field[].name "c3.f1"
+documenttype[].index[].name "c3.f1s"
+documenttype[].index[].field[].name "c3.f1s"
+documenttype[].index[].name "c3.f2"
+documenttype[].index[].field[].name "c3.f2"
+documenttype[].index[].name "c3.f3"
+documenttype[].index[].field[].name "c3.f3"
+documenttype[].index[].name "n"
+documenttype[].index[].field[].name "n.nf1.f1"
+documenttype[].index[].field[].name "n.nf1.f1s"
+documenttype[].index[].field[].name "n.nf1.f3"
+documenttype[].index[].field[].name "n.nf1s.f1"
+documenttype[].index[].field[].name "n.nf1s.f1s"
+documenttype[].index[].field[].name "n.nf1s.f2"
+documenttype[].index[].field[].name "n.nf1s.f3"
+documenttype[].index[].field[].name "n.nf2"
+documenttype[].index[].name "n.nf1"
+documenttype[].index[].field[].name "n.nf1.f1"
+documenttype[].index[].field[].name "n.nf1.f1s"
+documenttype[].index[].field[].name "n.nf1.f3"
+documenttype[].index[].name "n.nf1.f1"
+documenttype[].index[].field[].name "n.nf1.f1"
+documenttype[].index[].name "n.nf1.f1s"
+documenttype[].index[].field[].name "n.nf1.f1s"
+documenttype[].index[].name "n.nf1.f3"
+documenttype[].index[].field[].name "n.nf1.f3"
+documenttype[].index[].name "n.nf1s"
+documenttype[].index[].field[].name "n.nf1s.f1"
+documenttype[].index[].field[].name "n.nf1s.f1s"
+documenttype[].index[].field[].name "n.nf1s.f2"
+documenttype[].index[].field[].name "n.nf1s.f3"
+documenttype[].index[].name "n.nf1s.f1"
+documenttype[].index[].field[].name "n.nf1s.f1"
+documenttype[].index[].name "n.nf1s.f1s"
+documenttype[].index[].field[].name "n.nf1s.f1s"
+documenttype[].index[].name "n.nf1s.f2"
+documenttype[].index[].field[].name "n.nf1s.f2"
+documenttype[].index[].name "n.nf1s.f3"
+documenttype[].index[].field[].name "n.nf1s.f3"
+documenttype[].index[].name "n.nf2"
+documenttype[].index[].field[].name "n.nf2"
+documenttype[].index[].name "array2"
+documenttype[].index[].field[].name "array2.f1"
+documenttype[].index[].field[].name "array2.f1s"
+documenttype[].index[].field[].name "array2.f2"
+documenttype[].index[].field[].name "array2.f3"
+documenttype[].index[].name "array2.f1"
+documenttype[].index[].field[].name "array2.f1"
+documenttype[].index[].name "array2.f1s"
+documenttype[].index[].field[].name "array2.f1s"
+documenttype[].index[].name "array2.f2"
+documenttype[].index[].field[].name "array2.f2"
+documenttype[].index[].name "array2.f3"
+documenttype[].index[].field[].name "array2.f3"
+documenttype[].index[].name "array3"
+documenttype[].index[].field[].name "array3.f1"
+documenttype[].index[].field[].name "array3.f1s"
+documenttype[].index[].field[].name "array3.f3"
+documenttype[].index[].name "array3.f1"
+documenttype[].index[].field[].name "array3.f1"
+documenttype[].index[].name "array3.f1s"
+documenttype[].index[].field[].name "array3.f1s"
+documenttype[].index[].name "array3.f3"
+documenttype[].index[].field[].name "array3.f3"
+documenttype[].index[].name "d"
+documenttype[].index[].field[].name "d.f1"
+documenttype[].index[].field[].name "d.f1s"
+documenttype[].index[].field[].name "d.f2"
+documenttype[].index[].field[].name "d.f3"
+documenttype[].index[].name "d.f1"
+documenttype[].index[].field[].name "d.f1"
+documenttype[].index[].name "d.f1s"
+documenttype[].index[].field[].name "d.f1s"
+documenttype[].index[].name "d.f2"
+documenttype[].index[].field[].name "d.f2"
+documenttype[].index[].name "d.f3"
+documenttype[].index[].field[].name "d.f3"
+documenttype[].index[].name "e"
+documenttype[].index[].field[].name "e.f1"
+documenttype[].index[].field[].name "e.f1s"
+documenttype[].index[].field[].name "e.f2"
+documenttype[].index[].field[].name "e.f3"
+documenttype[].index[].name "e.f1"
+documenttype[].index[].field[].name "e.f1"
+documenttype[].index[].name "e.f1s"
+documenttype[].index[].field[].name "e.f1s"
+documenttype[].index[].name "e.f2"
+documenttype[].index[].field[].name "e.f2"
+documenttype[].index[].name "e.f3"
+documenttype[].index[].field[].name "e.f3"
+documenttype[].index[].name "f"
+documenttype[].index[].field[].name "f.f1"
+documenttype[].index[].field[].name "f.f1s"
+documenttype[].index[].field[].name "f.f2"
+documenttype[].index[].field[].name "f.f3"
+documenttype[].index[].name "f.f1"
+documenttype[].index[].field[].name "f.f1"
+documenttype[].index[].name "f.f1s"
+documenttype[].index[].field[].name "f.f1s"
+documenttype[].index[].name "f.f2"
+documenttype[].index[].field[].name "f.f2"
+documenttype[].index[].name "f.f3"
+documenttype[].index[].field[].name "f.f3"
+documenttype[].index[].name "g"
+documenttype[].index[].field[].name "g"
diff --git a/config-model/src/test/derived/streamingstruct/vsmsummary.cfg b/config-model/src/test/derived/streamingstruct/vsmsummary.cfg
index b7a75932f5c..6d41142fb6c 100644
--- a/config-model/src/test/derived/streamingstruct/vsmsummary.cfg
+++ b/config-model/src/test/derived/streamingstruct/vsmsummary.cfg
@@ -1,83 +1,83 @@
outputclass ""
-fieldmap[0].summary "coupleof"
-fieldmap[0].document[0].field "coupleof"
-fieldmap[0].command NONE
-fieldmap[1].summary "anothersummaryfield"
-fieldmap[1].document[0].field "normalfields"
-fieldmap[1].command NONE
-fieldmap[2].summary "a"
-fieldmap[2].document[0].field "a.f1"
-fieldmap[2].document[1].field "a.f1s"
-fieldmap[2].document[2].field "a.f2"
-fieldmap[2].document[3].field "a.f3"
-fieldmap[2].command NONE
-fieldmap[3].summary "m"
-fieldmap[3].document[0].field "m"
-fieldmap[3].command NONE
-fieldmap[4].summary "b"
-fieldmap[4].document[0].field "b.f1"
-fieldmap[4].document[1].field "b.f1s"
-fieldmap[4].document[2].field "b.f2"
-fieldmap[4].document[3].field "b.f3"
-fieldmap[4].command NONE
-fieldmap[5].summary "c"
-fieldmap[5].document[0].field "c.f1"
-fieldmap[5].document[1].field "c.f1s"
-fieldmap[5].document[2].field "c.f3"
-fieldmap[5].command NONE
-fieldmap[6].summary "c2"
-fieldmap[6].document[0].field "c2.f1"
-fieldmap[6].document[1].field "c2.f1s"
-fieldmap[6].document[2].field "c2.f2"
-fieldmap[6].document[3].field "c2.f3"
-fieldmap[6].command NONE
-fieldmap[7].summary "c3"
-fieldmap[7].document[0].field "c3.f1"
-fieldmap[7].document[1].field "c3.f2"
-fieldmap[7].document[2].field "c3.f3"
-fieldmap[7].command NONE
-fieldmap[8].summary "n"
-fieldmap[8].document[0].field "n.nf1.f1"
-fieldmap[8].document[1].field "n.nf1.f1s"
-fieldmap[8].document[2].field "n.nf1s.f1"
-fieldmap[8].document[3].field "n.nf1s.f1s"
-fieldmap[8].document[4].field "n.nf1s.f2"
-fieldmap[8].document[5].field "n.nf1s.f3"
-fieldmap[8].document[6].field "n.nf2"
-fieldmap[8].command NONE
-fieldmap[9].summary "array1"
-fieldmap[9].document[0].field "array1.f1"
-fieldmap[9].document[1].field "array1.f1s"
-fieldmap[9].document[2].field "array1.f2"
-fieldmap[9].document[3].field "array1.f3"
-fieldmap[9].command NONE
-fieldmap[10].summary "array2"
-fieldmap[10].document[0].field "array2.f1"
-fieldmap[10].document[1].field "array2.f1s"
-fieldmap[10].document[2].field "array2.f2"
-fieldmap[10].document[3].field "array2.f3"
-fieldmap[10].command NONE
-fieldmap[11].summary "array3"
-fieldmap[11].document[0].field "array3.f1"
-fieldmap[11].document[1].field "array3.f1s"
-fieldmap[11].document[2].field "array3.f3"
-fieldmap[11].command NONE
-fieldmap[12].summary "subject"
-fieldmap[12].document[0].field "subject.f1"
-fieldmap[12].command NONE
-fieldmap[13].summary "g"
-fieldmap[13].document[0].field "g"
-fieldmap[13].command FLATTENJUNIPER
-fieldmap[14].summary "rankfeatures"
-fieldmap[14].command NONE
-fieldmap[15].summary "summaryfeatures"
-fieldmap[15].command NONE
-fieldmap[16].summary "snippet"
-fieldmap[16].document[0].field "a.f1"
-fieldmap[16].document[1].field "b.f2"
-fieldmap[16].command FLATTENJUNIPER
-fieldmap[17].summary "snippet2"
-fieldmap[17].document[0].field "a.f1"
-fieldmap[17].document[1].field "b.f1"
-fieldmap[17].document[2].field "b.f2"
-fieldmap[17].command FLATTENSPACE \ No newline at end of file
+fieldmap[].summary "coupleof"
+fieldmap[].document[].field "coupleof"
+fieldmap[].command NONE
+fieldmap[].summary "anothersummaryfield"
+fieldmap[].document[].field "normalfields"
+fieldmap[].command NONE
+fieldmap[].summary "a"
+fieldmap[].document[].field "a.f1"
+fieldmap[].document[].field "a.f1s"
+fieldmap[].document[].field "a.f2"
+fieldmap[].document[].field "a.f3"
+fieldmap[].command NONE
+fieldmap[].summary "m"
+fieldmap[].document[].field "m"
+fieldmap[].command NONE
+fieldmap[].summary "b"
+fieldmap[].document[].field "b.f1"
+fieldmap[].document[].field "b.f1s"
+fieldmap[].document[].field "b.f2"
+fieldmap[].document[].field "b.f3"
+fieldmap[].command NONE
+fieldmap[].summary "c"
+fieldmap[].document[].field "c.f1"
+fieldmap[].document[].field "c.f1s"
+fieldmap[].document[].field "c.f3"
+fieldmap[].command NONE
+fieldmap[].summary "c2"
+fieldmap[].document[].field "c2.f1"
+fieldmap[].document[].field "c2.f1s"
+fieldmap[].document[].field "c2.f2"
+fieldmap[].document[].field "c2.f3"
+fieldmap[].command NONE
+fieldmap[].summary "c3"
+fieldmap[].document[].field "c3.f1"
+fieldmap[].document[].field "c3.f2"
+fieldmap[].document[].field "c3.f3"
+fieldmap[].command NONE
+fieldmap[].summary "n"
+fieldmap[].document[].field "n.nf1.f1"
+fieldmap[].document[].field "n.nf1.f1s"
+fieldmap[].document[].field "n.nf1s.f1"
+fieldmap[].document[].field "n.nf1s.f1s"
+fieldmap[].document[].field "n.nf1s.f2"
+fieldmap[].document[].field "n.nf1s.f3"
+fieldmap[].document[].field "n.nf2"
+fieldmap[].command NONE
+fieldmap[].summary "array1"
+fieldmap[].document[].field "array1.f1"
+fieldmap[].document[].field "array1.f1s"
+fieldmap[].document[].field "array1.f2"
+fieldmap[].document[].field "array1.f3"
+fieldmap[].command NONE
+fieldmap[].summary "array2"
+fieldmap[].document[].field "array2.f1"
+fieldmap[].document[].field "array2.f1s"
+fieldmap[].document[].field "array2.f2"
+fieldmap[].document[].field "array2.f3"
+fieldmap[].command NONE
+fieldmap[].summary "array3"
+fieldmap[].document[].field "array3.f1"
+fieldmap[].document[].field "array3.f1s"
+fieldmap[].document[].field "array3.f3"
+fieldmap[].command NONE
+fieldmap[].summary "subject"
+fieldmap[].document[].field "subject.f1"
+fieldmap[].command NONE
+fieldmap[].summary "g"
+fieldmap[].document[].field "g"
+fieldmap[].command FLATTENJUNIPER
+fieldmap[].summary "rankfeatures"
+fieldmap[].command NONE
+fieldmap[].summary "summaryfeatures"
+fieldmap[].command NONE
+fieldmap[].summary "snippet"
+fieldmap[].document[].field "a.f1"
+fieldmap[].document[].field "b.f2"
+fieldmap[].command FLATTENJUNIPER
+fieldmap[].summary "snippet2"
+fieldmap[].document[].field "a.f1"
+fieldmap[].document[].field "b.f1"
+fieldmap[].document[].field "b.f2"
+fieldmap[].command FLATTENSPACE
diff --git a/config-model/src/test/derived/streamingstructdefault/summary.cfg b/config-model/src/test/derived/streamingstructdefault/summary.cfg
index 288de48b11d..caa44931c6a 100644
--- a/config-model/src/test/derived/streamingstructdefault/summary.cfg
+++ b/config-model/src/test/derived/streamingstructdefault/summary.cfg
@@ -1,15 +1,15 @@
defaultsummaryid 718801936
-classes[0].id 718801936
-classes[0].name "default"
-classes[0].fields[0].name "sum1"
-classes[0].fields[0].type "longstring"
-classes[0].fields[1].name "f1"
-classes[0].fields[1].type "jsonstring"
-classes[0].fields[2].name "f2"
-classes[0].fields[2].type "jsonstring"
-classes[0].fields[3].name "rankfeatures"
-classes[0].fields[3].type "featuredata"
-classes[0].fields[4].name "summaryfeatures"
-classes[0].fields[4].type "featuredata"
-classes[0].fields[5].name "documentid"
-classes[0].fields[5].type "longstring" \ No newline at end of file
+classes[].id 718801936
+classes[].name "default"
+classes[].fields[].name "sum1"
+classes[].fields[].type "longstring"
+classes[].fields[].name "f1"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "f2"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "documentid"
+classes[].fields[].type "longstring"
diff --git a/config-model/src/test/derived/structanyorder/documentmanager.cfg b/config-model/src/test/derived/structanyorder/documentmanager.cfg
index b4777f7535f..a1b7ff3a71e 100755..100644
--- a/config-model/src/test/derived/structanyorder/documentmanager.cfg
+++ b/config-model/src/test/derived/structanyorder/documentmanager.cfg
@@ -1,96 +1,96 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
-datatype[1].id 109267174
-datatype[1].structtype[0].name "sct"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].compresstype NONE
-datatype[1].structtype[0].compresslevel 0
-datatype[1].structtype[0].compressthreshold 95
-datatype[1].structtype[0].compressminsize 800
-datatype[1].structtype[0].field[0].name "s1"
-datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].detailedtype ""
-datatype[1].structtype[0].field[1].name "s2"
-datatype[1].structtype[0].field[1].datatype 2
-datatype[1].structtype[0].field[1].detailedtype ""
-datatype[1].structtype[0].field[2].name "s3"
-datatype[1].structtype[0].field[2].datatype 109267174
-datatype[1].structtype[0].field[2].detailedtype ""
-datatype[1].structtype[0].field[3].name "s4"
-datatype[1].structtype[0].field[3].datatype 97614088
-datatype[1].structtype[0].field[3].detailedtype ""
-datatype[2].id 97614088
-datatype[2].structtype[0].name "foo"
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].compresstype NONE
-datatype[2].structtype[0].compresslevel 0
-datatype[2].structtype[0].compressthreshold 95
-datatype[2].structtype[0].compressminsize 800
-datatype[2].structtype[0].field[0].name "s1"
-datatype[2].structtype[0].field[0].datatype 0
-datatype[2].structtype[0].field[0].detailedtype ""
-datatype[3].id 517946310
-datatype[3].structtype[0].name "annotation.banana"
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].compresstype NONE
-datatype[3].structtype[0].compresslevel 0
-datatype[3].structtype[0].compressthreshold 95
-datatype[3].structtype[0].compressminsize 800
-datatype[3].structtype[0].field[0].name "b"
-datatype[3].structtype[0].field[0].datatype 109267174
-datatype[3].structtype[0].field[0].detailedtype ""
-datatype[3].structtype[0].field[1].name "c"
-datatype[3].structtype[0].field[1].datatype 97614088
-datatype[3].structtype[0].field[1].detailedtype ""
-datatype[4].id -1244829667
-datatype[4].arraytype[0].datatype 109267174
-datatype[5].id -364910881
-datatype[5].structtype[0].name "annotationsimplicitstruct.header"
-datatype[5].structtype[0].version 0
-datatype[5].structtype[0].compresstype NONE
-datatype[5].structtype[0].compresslevel 0
-datatype[5].structtype[0].compressthreshold 95
-datatype[5].structtype[0].compressminsize 800
-datatype[5].structtype[0].field[0].name "structfield"
-datatype[5].structtype[0].field[0].datatype 109267174
-datatype[5].structtype[0].field[0].detailedtype ""
-datatype[5].structtype[0].field[1].name "structarrayfield"
-datatype[5].structtype[0].field[1].datatype -1244829667
-datatype[5].structtype[0].field[1].detailedtype ""
-datatype[5].structtype[0].field[2].name "rankfeatures"
-datatype[5].structtype[0].field[2].datatype 2
-datatype[5].structtype[0].field[2].detailedtype ""
-datatype[5].structtype[0].field[3].name "summaryfeatures"
-datatype[5].structtype[0].field[3].datatype 2
-datatype[5].structtype[0].field[3].detailedtype ""
-datatype[6].id -1503592268
-datatype[6].structtype[0].name "annotationsimplicitstruct.body"
-datatype[6].structtype[0].version 0
-datatype[6].structtype[0].compresstype NONE
-datatype[6].structtype[0].compresslevel 0
-datatype[6].structtype[0].compressthreshold 95
-datatype[6].structtype[0].compressminsize 800
-datatype[7].id -2099544992
-datatype[7].documenttype[0].name "annotationsimplicitstruct"
-datatype[7].documenttype[0].version 0
-datatype[7].documenttype[0].inherits[0].name "document"
-datatype[7].documenttype[0].inherits[0].version 0
-datatype[7].documenttype[0].headerstruct -364910881
-datatype[7].documenttype[0].bodystruct -1503592268
-datatype[7].documenttype[0].fieldsets{[document]}.fields[0] "structarrayfield"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[1] "structfield"
-annotationtype[0].id -269517759
-annotationtype[0].name "banana"
-annotationtype[0].datatype 517946310
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 109267174
+datatype[].structtype[].name "sct"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "s1"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "s2"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "s3"
+datatype[].structtype[].field[].datatype 109267174
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "s4"
+datatype[].structtype[].field[].datatype 97614088
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 97614088
+datatype[].structtype[].name "foo"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "s1"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 517946310
+datatype[].structtype[].name "annotation.banana"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "b"
+datatype[].structtype[].field[].datatype 109267174
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "c"
+datatype[].structtype[].field[].datatype 97614088
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -1244829667
+datatype[].arraytype[].datatype 109267174
+datatype[].id -364910881
+datatype[].structtype[].name "annotationsimplicitstruct.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "structfield"
+datatype[].structtype[].field[].datatype 109267174
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "structarrayfield"
+datatype[].structtype[].field[].datatype -1244829667
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -1503592268
+datatype[].structtype[].name "annotationsimplicitstruct.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id -2099544992
+datatype[].documenttype[].name "annotationsimplicitstruct"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct -364910881
+datatype[].documenttype[].bodystruct -1503592268
+datatype[].documenttype[].fieldsets{[document]}.fields[0] "structarrayfield"
+datatype[].documenttype[].fieldsets{[document]}.fields[1] "structfield"
+annotationtype[].id -269517759
+annotationtype[].name "banana"
+annotationtype[].datatype 517946310
diff --git a/config-model/src/test/derived/structanyorder/ilscripts.cfg b/config-model/src/test/derived/structanyorder/ilscripts.cfg
index 60c4ec83c01..e346e46e94c 100644
--- a/config-model/src/test/derived/structanyorder/ilscripts.cfg
+++ b/config-model/src/test/derived/structanyorder/ilscripts.cfg
@@ -1,7 +1,7 @@
maxtermoccurrences 100
fieldmatchmaxlength 1000000
-ilscript[0].doctype "annotationsimplicitstruct"
-ilscript[0].docfield[0] "structfield"
-ilscript[0].docfield[1] "structarrayfield"
-ilscript[0].content[0] "input structarrayfield | passthrough structarrayfield"
-ilscript[0].content[1] "input structfield | passthrough structfield"
+ilscript[].doctype "annotationsimplicitstruct"
+ilscript[].docfield[0] "structfield"
+ilscript[].docfield[1] "structarrayfield"
+ilscript[].content[0] "input structarrayfield | passthrough structarrayfield"
+ilscript[].content[1] "input structfield | passthrough structfield"
diff --git a/config-model/src/test/derived/structanyorder/index-info.cfg b/config-model/src/test/derived/structanyorder/index-info.cfg
index d62288df458..6e3dba8944f 100755..100644
--- a/config-model/src/test/derived/structanyorder/index-info.cfg
+++ b/config-model/src/test/derived/structanyorder/index-info.cfg
@@ -1,247 +1,247 @@
-indexinfo[0].name "annotationsimplicitstruct"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "structfield.s1"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "structfield.s2"
-indexinfo[0].command[3].command "index"
-indexinfo[0].command[4].indexname "structfield.s3.s1"
-indexinfo[0].command[4].command "index"
-indexinfo[0].command[5].indexname "structfield.s3.s2"
-indexinfo[0].command[5].command "index"
-indexinfo[0].command[6].indexname "structfield.s3.s3.s1"
-indexinfo[0].command[6].command "index"
-indexinfo[0].command[7].indexname "structfield.s3.s3.s2"
-indexinfo[0].command[7].command "index"
-indexinfo[0].command[8].indexname "structfield.s3.s3.s3.s1"
-indexinfo[0].command[8].command "index"
-indexinfo[0].command[9].indexname "structfield.s3.s3.s3.s2"
-indexinfo[0].command[9].command "index"
-indexinfo[0].command[10].indexname "structfield.s3.s3.s3.s3.s1"
-indexinfo[0].command[10].command "index"
-indexinfo[0].command[11].indexname "structfield.s3.s3.s3.s3.s2"
-indexinfo[0].command[11].command "index"
-indexinfo[0].command[12].indexname "structfield.s3.s3.s3.s3.s3.s1"
-indexinfo[0].command[12].command "index"
-indexinfo[0].command[13].indexname "structfield.s3.s3.s3.s3.s3.s2"
-indexinfo[0].command[13].command "index"
-indexinfo[0].command[14].indexname "structfield.s3.s3.s3.s3.s3.s3.s1"
-indexinfo[0].command[14].command "index"
-indexinfo[0].command[15].indexname "structfield.s3.s3.s3.s3.s3.s3.s2"
-indexinfo[0].command[15].command "index"
-indexinfo[0].command[16].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s1"
-indexinfo[0].command[16].command "index"
-indexinfo[0].command[17].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s2"
-indexinfo[0].command[17].command "index"
-indexinfo[0].command[18].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s1"
-indexinfo[0].command[18].command "index"
-indexinfo[0].command[19].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s2"
-indexinfo[0].command[19].command "index"
-indexinfo[0].command[20].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s1"
-indexinfo[0].command[20].command "index"
-indexinfo[0].command[21].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s2"
-indexinfo[0].command[21].command "index"
-indexinfo[0].command[22].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s3"
-indexinfo[0].command[22].command "index"
-indexinfo[0].command[23].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s4"
-indexinfo[0].command[23].command "index"
-indexinfo[0].command[24].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s3"
-indexinfo[0].command[24].command "index"
-indexinfo[0].command[25].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s4.s1"
-indexinfo[0].command[25].command "index"
-indexinfo[0].command[26].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s4.s1"
-indexinfo[0].command[26].command "numerical"
-indexinfo[0].command[27].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s4"
-indexinfo[0].command[27].command "index"
-indexinfo[0].command[28].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3"
-indexinfo[0].command[28].command "index"
-indexinfo[0].command[29].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s4.s1"
-indexinfo[0].command[29].command "index"
-indexinfo[0].command[30].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s4.s1"
-indexinfo[0].command[30].command "numerical"
-indexinfo[0].command[31].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s4"
-indexinfo[0].command[31].command "index"
-indexinfo[0].command[32].indexname "structfield.s3.s3.s3.s3.s3.s3.s3"
-indexinfo[0].command[32].command "index"
-indexinfo[0].command[33].indexname "structfield.s3.s3.s3.s3.s3.s3.s4.s1"
-indexinfo[0].command[33].command "index"
-indexinfo[0].command[34].indexname "structfield.s3.s3.s3.s3.s3.s3.s4.s1"
-indexinfo[0].command[34].command "numerical"
-indexinfo[0].command[35].indexname "structfield.s3.s3.s3.s3.s3.s3.s4"
-indexinfo[0].command[35].command "index"
-indexinfo[0].command[36].indexname "structfield.s3.s3.s3.s3.s3.s3"
-indexinfo[0].command[36].command "index"
-indexinfo[0].command[37].indexname "structfield.s3.s3.s3.s3.s3.s4.s1"
-indexinfo[0].command[37].command "index"
-indexinfo[0].command[38].indexname "structfield.s3.s3.s3.s3.s3.s4.s1"
-indexinfo[0].command[38].command "numerical"
-indexinfo[0].command[39].indexname "structfield.s3.s3.s3.s3.s3.s4"
-indexinfo[0].command[39].command "index"
-indexinfo[0].command[40].indexname "structfield.s3.s3.s3.s3.s3"
-indexinfo[0].command[40].command "index"
-indexinfo[0].command[41].indexname "structfield.s3.s3.s3.s3.s4.s1"
-indexinfo[0].command[41].command "index"
-indexinfo[0].command[42].indexname "structfield.s3.s3.s3.s3.s4.s1"
-indexinfo[0].command[42].command "numerical"
-indexinfo[0].command[43].indexname "structfield.s3.s3.s3.s3.s4"
-indexinfo[0].command[43].command "index"
-indexinfo[0].command[44].indexname "structfield.s3.s3.s3.s3"
-indexinfo[0].command[44].command "index"
-indexinfo[0].command[45].indexname "structfield.s3.s3.s3.s4.s1"
-indexinfo[0].command[45].command "index"
-indexinfo[0].command[46].indexname "structfield.s3.s3.s3.s4.s1"
-indexinfo[0].command[46].command "numerical"
-indexinfo[0].command[47].indexname "structfield.s3.s3.s3.s4"
-indexinfo[0].command[47].command "index"
-indexinfo[0].command[48].indexname "structfield.s3.s3.s3"
-indexinfo[0].command[48].command "index"
-indexinfo[0].command[49].indexname "structfield.s3.s3.s4.s1"
-indexinfo[0].command[49].command "index"
-indexinfo[0].command[50].indexname "structfield.s3.s3.s4.s1"
-indexinfo[0].command[50].command "numerical"
-indexinfo[0].command[51].indexname "structfield.s3.s3.s4"
-indexinfo[0].command[51].command "index"
-indexinfo[0].command[52].indexname "structfield.s3.s3"
-indexinfo[0].command[52].command "index"
-indexinfo[0].command[53].indexname "structfield.s3.s4.s1"
-indexinfo[0].command[53].command "index"
-indexinfo[0].command[54].indexname "structfield.s3.s4.s1"
-indexinfo[0].command[54].command "numerical"
-indexinfo[0].command[55].indexname "structfield.s3.s4"
-indexinfo[0].command[55].command "index"
-indexinfo[0].command[56].indexname "structfield.s3"
-indexinfo[0].command[56].command "index"
-indexinfo[0].command[57].indexname "structfield.s4.s1"
-indexinfo[0].command[57].command "index"
-indexinfo[0].command[58].indexname "structfield.s4.s1"
-indexinfo[0].command[58].command "numerical"
-indexinfo[0].command[59].indexname "structfield.s4"
-indexinfo[0].command[59].command "index"
-indexinfo[0].command[60].indexname "structfield"
-indexinfo[0].command[60].command "index"
-indexinfo[0].command[61].indexname "structarrayfield.s1"
-indexinfo[0].command[61].command "index"
-indexinfo[0].command[62].indexname "structarrayfield.s2"
-indexinfo[0].command[62].command "index"
-indexinfo[0].command[63].indexname "structarrayfield.s3.s1"
-indexinfo[0].command[63].command "index"
-indexinfo[0].command[64].indexname "structarrayfield.s3.s2"
-indexinfo[0].command[64].command "index"
-indexinfo[0].command[65].indexname "structarrayfield.s3.s3.s1"
-indexinfo[0].command[65].command "index"
-indexinfo[0].command[66].indexname "structarrayfield.s3.s3.s2"
-indexinfo[0].command[66].command "index"
-indexinfo[0].command[67].indexname "structarrayfield.s3.s3.s3.s1"
-indexinfo[0].command[67].command "index"
-indexinfo[0].command[68].indexname "structarrayfield.s3.s3.s3.s2"
-indexinfo[0].command[68].command "index"
-indexinfo[0].command[69].indexname "structarrayfield.s3.s3.s3.s3.s1"
-indexinfo[0].command[69].command "index"
-indexinfo[0].command[70].indexname "structarrayfield.s3.s3.s3.s3.s2"
-indexinfo[0].command[70].command "index"
-indexinfo[0].command[71].indexname "structarrayfield.s3.s3.s3.s3.s3.s1"
-indexinfo[0].command[71].command "index"
-indexinfo[0].command[72].indexname "structarrayfield.s3.s3.s3.s3.s3.s2"
-indexinfo[0].command[72].command "index"
-indexinfo[0].command[73].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s1"
-indexinfo[0].command[73].command "index"
-indexinfo[0].command[74].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s2"
-indexinfo[0].command[74].command "index"
-indexinfo[0].command[75].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s1"
-indexinfo[0].command[75].command "index"
-indexinfo[0].command[76].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s2"
-indexinfo[0].command[76].command "index"
-indexinfo[0].command[77].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s1"
-indexinfo[0].command[77].command "index"
-indexinfo[0].command[78].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s2"
-indexinfo[0].command[78].command "index"
-indexinfo[0].command[79].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s1"
-indexinfo[0].command[79].command "index"
-indexinfo[0].command[80].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s2"
-indexinfo[0].command[80].command "index"
-indexinfo[0].command[81].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s3"
-indexinfo[0].command[81].command "index"
-indexinfo[0].command[82].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s4"
-indexinfo[0].command[82].command "index"
-indexinfo[0].command[83].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s3"
-indexinfo[0].command[83].command "index"
-indexinfo[0].command[84].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s4.s1"
-indexinfo[0].command[84].command "index"
-indexinfo[0].command[85].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s4.s1"
-indexinfo[0].command[85].command "numerical"
-indexinfo[0].command[86].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s4"
-indexinfo[0].command[86].command "index"
-indexinfo[0].command[87].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3"
-indexinfo[0].command[87].command "index"
-indexinfo[0].command[88].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s4.s1"
-indexinfo[0].command[88].command "index"
-indexinfo[0].command[89].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s4.s1"
-indexinfo[0].command[89].command "numerical"
-indexinfo[0].command[90].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s4"
-indexinfo[0].command[90].command "index"
-indexinfo[0].command[91].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3"
-indexinfo[0].command[91].command "index"
-indexinfo[0].command[92].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s4.s1"
-indexinfo[0].command[92].command "index"
-indexinfo[0].command[93].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s4.s1"
-indexinfo[0].command[93].command "numerical"
-indexinfo[0].command[94].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s4"
-indexinfo[0].command[94].command "index"
-indexinfo[0].command[95].indexname "structarrayfield.s3.s3.s3.s3.s3.s3"
-indexinfo[0].command[95].command "index"
-indexinfo[0].command[96].indexname "structarrayfield.s3.s3.s3.s3.s3.s4.s1"
-indexinfo[0].command[96].command "index"
-indexinfo[0].command[97].indexname "structarrayfield.s3.s3.s3.s3.s3.s4.s1"
-indexinfo[0].command[97].command "numerical"
-indexinfo[0].command[98].indexname "structarrayfield.s3.s3.s3.s3.s3.s4"
-indexinfo[0].command[98].command "index"
-indexinfo[0].command[99].indexname "structarrayfield.s3.s3.s3.s3.s3"
-indexinfo[0].command[99].command "index"
-indexinfo[0].command[100].indexname "structarrayfield.s3.s3.s3.s3.s4.s1"
-indexinfo[0].command[100].command "index"
-indexinfo[0].command[101].indexname "structarrayfield.s3.s3.s3.s3.s4.s1"
-indexinfo[0].command[101].command "numerical"
-indexinfo[0].command[102].indexname "structarrayfield.s3.s3.s3.s3.s4"
-indexinfo[0].command[102].command "index"
-indexinfo[0].command[103].indexname "structarrayfield.s3.s3.s3.s3"
-indexinfo[0].command[103].command "index"
-indexinfo[0].command[104].indexname "structarrayfield.s3.s3.s3.s4.s1"
-indexinfo[0].command[104].command "index"
-indexinfo[0].command[105].indexname "structarrayfield.s3.s3.s3.s4.s1"
-indexinfo[0].command[105].command "numerical"
-indexinfo[0].command[106].indexname "structarrayfield.s3.s3.s3.s4"
-indexinfo[0].command[106].command "index"
-indexinfo[0].command[107].indexname "structarrayfield.s3.s3.s3"
-indexinfo[0].command[107].command "index"
-indexinfo[0].command[108].indexname "structarrayfield.s3.s3.s4.s1"
-indexinfo[0].command[108].command "index"
-indexinfo[0].command[109].indexname "structarrayfield.s3.s3.s4.s1"
-indexinfo[0].command[109].command "numerical"
-indexinfo[0].command[110].indexname "structarrayfield.s3.s3.s4"
-indexinfo[0].command[110].command "index"
-indexinfo[0].command[111].indexname "structarrayfield.s3.s3"
-indexinfo[0].command[111].command "index"
-indexinfo[0].command[112].indexname "structarrayfield.s3.s4.s1"
-indexinfo[0].command[112].command "index"
-indexinfo[0].command[113].indexname "structarrayfield.s3.s4.s1"
-indexinfo[0].command[113].command "numerical"
-indexinfo[0].command[114].indexname "structarrayfield.s3.s4"
-indexinfo[0].command[114].command "index"
-indexinfo[0].command[115].indexname "structarrayfield.s3"
-indexinfo[0].command[115].command "index"
-indexinfo[0].command[116].indexname "structarrayfield.s4.s1"
-indexinfo[0].command[116].command "index"
-indexinfo[0].command[117].indexname "structarrayfield.s4.s1"
-indexinfo[0].command[117].command "numerical"
-indexinfo[0].command[118].indexname "structarrayfield.s4"
-indexinfo[0].command[118].command "index"
-indexinfo[0].command[119].indexname "structarrayfield"
-indexinfo[0].command[119].command "index"
-indexinfo[0].command[120].indexname "structarrayfield"
-indexinfo[0].command[120].command "multivalue"
-indexinfo[0].command[121].indexname "rankfeatures"
-indexinfo[0].command[121].command "index"
-indexinfo[0].command[122].indexname "summaryfeatures"
-indexinfo[0].command[122].command "index" \ No newline at end of file
+indexinfo[].name "annotationsimplicitstruct"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "structfield.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s3"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s4"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s3"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s4.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s4.s1"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s4"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s4.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s4.s1"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s4"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s4.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s4.s1"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s4"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s4.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s4.s1"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s4"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s4.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s4.s1"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s4"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s4.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s4.s1"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s4"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s3"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s4.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3.s4.s1"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "structfield.s3.s3.s4"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s3"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s4.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3.s4.s1"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "structfield.s3.s4"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s3"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s4.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s4.s1"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "structfield.s4"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structarrayfield.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structarrayfield.s2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structarrayfield.s3.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structarrayfield.s3.s2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[80].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s2"
+indexinfo[].command[80].command "index"
+indexinfo[].command[81].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s3"
+indexinfo[].command[81].command "index"
+indexinfo[].command[82].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s4"
+indexinfo[].command[82].command "index"
+indexinfo[].command[83].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s3"
+indexinfo[].command[83].command "index"
+indexinfo[].command[84].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s4.s1"
+indexinfo[].command[84].command "index"
+indexinfo[].command[85].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s4.s1"
+indexinfo[].command[85].command "numerical"
+indexinfo[].command[86].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s4"
+indexinfo[].command[86].command "index"
+indexinfo[].command[87].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3"
+indexinfo[].command[87].command "index"
+indexinfo[].command[88].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s4.s1"
+indexinfo[].command[88].command "index"
+indexinfo[].command[89].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s4.s1"
+indexinfo[].command[89].command "numerical"
+indexinfo[].command[90].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s4"
+indexinfo[].command[90].command "index"
+indexinfo[].command[91].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3"
+indexinfo[].command[91].command "index"
+indexinfo[].command[92].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s4.s1"
+indexinfo[].command[92].command "index"
+indexinfo[].command[93].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s4.s1"
+indexinfo[].command[93].command "numerical"
+indexinfo[].command[94].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s4"
+indexinfo[].command[94].command "index"
+indexinfo[].command[95].indexname "structarrayfield.s3.s3.s3.s3.s3.s3"
+indexinfo[].command[95].command "index"
+indexinfo[].command[96].indexname "structarrayfield.s3.s3.s3.s3.s3.s4.s1"
+indexinfo[].command[96].command "index"
+indexinfo[].command[97].indexname "structarrayfield.s3.s3.s3.s3.s3.s4.s1"
+indexinfo[].command[97].command "numerical"
+indexinfo[].command[98].indexname "structarrayfield.s3.s3.s3.s3.s3.s4"
+indexinfo[].command[98].command "index"
+indexinfo[].command[99].indexname "structarrayfield.s3.s3.s3.s3.s3"
+indexinfo[].command[99].command "index"
+indexinfo[].command[100].indexname "structarrayfield.s3.s3.s3.s3.s4.s1"
+indexinfo[].command[100].command "index"
+indexinfo[].command[101].indexname "structarrayfield.s3.s3.s3.s3.s4.s1"
+indexinfo[].command[101].command "numerical"
+indexinfo[].command[102].indexname "structarrayfield.s3.s3.s3.s3.s4"
+indexinfo[].command[102].command "index"
+indexinfo[].command[103].indexname "structarrayfield.s3.s3.s3.s3"
+indexinfo[].command[103].command "index"
+indexinfo[].command[104].indexname "structarrayfield.s3.s3.s3.s4.s1"
+indexinfo[].command[104].command "index"
+indexinfo[].command[105].indexname "structarrayfield.s3.s3.s3.s4.s1"
+indexinfo[].command[105].command "numerical"
+indexinfo[].command[106].indexname "structarrayfield.s3.s3.s3.s4"
+indexinfo[].command[106].command "index"
+indexinfo[].command[107].indexname "structarrayfield.s3.s3.s3"
+indexinfo[].command[107].command "index"
+indexinfo[].command[108].indexname "structarrayfield.s3.s3.s4.s1"
+indexinfo[].command[108].command "index"
+indexinfo[].command[109].indexname "structarrayfield.s3.s3.s4.s1"
+indexinfo[].command[109].command "numerical"
+indexinfo[].command[110].indexname "structarrayfield.s3.s3.s4"
+indexinfo[].command[110].command "index"
+indexinfo[].command[111].indexname "structarrayfield.s3.s3"
+indexinfo[].command[111].command "index"
+indexinfo[].command[112].indexname "structarrayfield.s3.s4.s1"
+indexinfo[].command[112].command "index"
+indexinfo[].command[113].indexname "structarrayfield.s3.s4.s1"
+indexinfo[].command[113].command "numerical"
+indexinfo[].command[114].indexname "structarrayfield.s3.s4"
+indexinfo[].command[114].command "index"
+indexinfo[].command[115].indexname "structarrayfield.s3"
+indexinfo[].command[115].command "index"
+indexinfo[].command[116].indexname "structarrayfield.s4.s1"
+indexinfo[].command[116].command "index"
+indexinfo[].command[117].indexname "structarrayfield.s4.s1"
+indexinfo[].command[117].command "numerical"
+indexinfo[].command[118].indexname "structarrayfield.s4"
+indexinfo[].command[118].command "index"
+indexinfo[].command[119].indexname "structarrayfield"
+indexinfo[].command[119].command "index"
+indexinfo[].command[120].indexname "structarrayfield"
+indexinfo[].command[120].command "multivalue"
+indexinfo[].command[121].indexname "rankfeatures"
+indexinfo[].command[121].command "index"
+indexinfo[].command[122].indexname "summaryfeatures"
+indexinfo[].command[122].command "index"
diff --git a/config-model/src/test/derived/tensor/attributes.cfg b/config-model/src/test/derived/tensor/attributes.cfg
index 8f5f53e99dc..1b54b1cb8b3 100644
--- a/config-model/src/test/derived/tensor/attributes.cfg
+++ b/config-model/src/test/derived/tensor/attributes.cfg
@@ -1,60 +1,60 @@
-attribute[0].name "f2"
-attribute[0].datatype TENSOR
-attribute[0].collectiontype SINGLE
-attribute[0].removeifzero false
-attribute[0].createifnonexistent false
-attribute[0].fastsearch false
-attribute[0].huge false
-attribute[0].sortascending true
-attribute[0].sortfunction UCA
-attribute[0].sortstrength PRIMARY
-attribute[0].sortlocale ""
-attribute[0].enablebitvectors false
-attribute[0].enableonlybitvector false
-attribute[0].fastaccess false
-attribute[0].arity 8
-attribute[0].lowerbound -9223372036854775808
-attribute[0].upperbound 9223372036854775807
-attribute[0].densepostinglistthreshold 0.4
-attribute[0].tensortype "tensor(x[2],y[])"
-attribute[0].imported false
-attribute[1].name "f3"
-attribute[1].datatype TENSOR
-attribute[1].collectiontype SINGLE
-attribute[1].removeifzero false
-attribute[1].createifnonexistent false
-attribute[1].fastsearch false
-attribute[1].huge false
-attribute[1].sortascending true
-attribute[1].sortfunction UCA
-attribute[1].sortstrength PRIMARY
-attribute[1].sortlocale ""
-attribute[1].enablebitvectors false
-attribute[1].enableonlybitvector false
-attribute[1].fastaccess false
-attribute[1].arity 8
-attribute[1].lowerbound -9223372036854775808
-attribute[1].upperbound 9223372036854775807
-attribute[1].densepostinglistthreshold 0.4
-attribute[1].tensortype "tensor(x{})"
-attribute[1].imported false
-attribute[2].name "f4"
-attribute[2].datatype TENSOR
-attribute[2].collectiontype SINGLE
-attribute[2].removeifzero false
-attribute[2].createifnonexistent false
-attribute[2].fastsearch false
-attribute[2].huge false
-attribute[2].sortascending true
-attribute[2].sortfunction UCA
-attribute[2].sortstrength PRIMARY
-attribute[2].sortlocale ""
-attribute[2].enablebitvectors false
-attribute[2].enableonlybitvector false
-attribute[2].fastaccess false
-attribute[2].arity 8
-attribute[2].lowerbound -9223372036854775808
-attribute[2].upperbound 9223372036854775807
-attribute[2].densepostinglistthreshold 0.4
-attribute[2].tensortype "tensor(x[10],y[20])"
-attribute[2].imported false \ No newline at end of file
+attribute[].name "f2"
+attribute[].datatype TENSOR
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype "tensor(x[2],y[])"
+attribute[].imported false
+attribute[].name "f3"
+attribute[].datatype TENSOR
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype "tensor(x{})"
+attribute[].imported false
+attribute[].name "f4"
+attribute[].datatype TENSOR
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype "tensor(x[10],y[20])"
+attribute[].imported false
diff --git a/config-model/src/test/derived/tensor/documenttypes.cfg b/config-model/src/test/derived/tensor/documenttypes.cfg
index a3c7cb30b50..f9366ca62f6 100644
--- a/config-model/src/test/derived/tensor/documenttypes.cfg
+++ b/config-model/src/test/derived/tensor/documenttypes.cfg
@@ -1,71 +1,71 @@
enablecompression false
-documenttype[0].id -1290043429
-documenttype[0].name "tensor"
-documenttype[0].version 0
-documenttype[0].headerstruct 2125927172
-documenttype[0].bodystruct -1903234535
-documenttype[0].inherits[0].id 8
-documenttype[0].datatype[0].id 2125927172
-documenttype[0].datatype[0].type STRUCT
-documenttype[0].datatype[0].array.element.id 0
-documenttype[0].datatype[0].map.key.id 0
-documenttype[0].datatype[0].map.value.id 0
-documenttype[0].datatype[0].wset.key.id 0
-documenttype[0].datatype[0].wset.createifnonexistent false
-documenttype[0].datatype[0].wset.removeifzero false
-documenttype[0].datatype[0].annotationref.annotation.id 0
-documenttype[0].datatype[0].sstruct.name "tensor.header"
-documenttype[0].datatype[0].sstruct.version 0
-documenttype[0].datatype[0].sstruct.compression.type NONE
-documenttype[0].datatype[0].sstruct.compression.level 0
-documenttype[0].datatype[0].sstruct.compression.threshold 95
-documenttype[0].datatype[0].sstruct.compression.minsize 200
-documenttype[0].datatype[0].sstruct.field[0].name "f1"
-documenttype[0].datatype[0].sstruct.field[0].id 26661415
-documenttype[0].datatype[0].sstruct.field[0].id_v6 1740179945
-documenttype[0].datatype[0].sstruct.field[0].datatype 21
-documenttype[0].datatype[0].sstruct.field[0].detailedtype "tensor(x[])"
-documenttype[0].datatype[0].sstruct.field[1].name "f2"
-documenttype[0].datatype[0].sstruct.field[1].id 2080644671
-documenttype[0].datatype[0].sstruct.field[1].id_v6 1424572148
-documenttype[0].datatype[0].sstruct.field[1].datatype 21
-documenttype[0].datatype[0].sstruct.field[1].detailedtype "tensor(x[2],y[])"
-documenttype[0].datatype[0].sstruct.field[2].name "f3"
-documenttype[0].datatype[0].sstruct.field[2].id 1295091863
-documenttype[0].datatype[0].sstruct.field[2].id_v6 1444109654
-documenttype[0].datatype[0].sstruct.field[2].datatype 21
-documenttype[0].datatype[0].sstruct.field[2].detailedtype "tensor(x{})"
-documenttype[0].datatype[0].sstruct.field[3].name "f4"
-documenttype[0].datatype[0].sstruct.field[3].id 1224191509
-documenttype[0].datatype[0].sstruct.field[3].id_v6 1039544782
-documenttype[0].datatype[0].sstruct.field[3].datatype 21
-documenttype[0].datatype[0].sstruct.field[3].detailedtype "tensor(x[],y[])"
-documenttype[0].datatype[0].sstruct.field[4].name "rankfeatures"
-documenttype[0].datatype[0].sstruct.field[4].id 1883197392
-documenttype[0].datatype[0].sstruct.field[4].id_v6 699950698
-documenttype[0].datatype[0].sstruct.field[4].datatype 2
-documenttype[0].datatype[0].sstruct.field[4].detailedtype ""
-documenttype[0].datatype[0].sstruct.field[5].name "summaryfeatures"
-documenttype[0].datatype[0].sstruct.field[5].id 1840337115
-documenttype[0].datatype[0].sstruct.field[5].id_v6 1981648971
-documenttype[0].datatype[0].sstruct.field[5].datatype 2
-documenttype[0].datatype[0].sstruct.field[5].detailedtype ""
-documenttype[0].datatype[1].id -1903234535
-documenttype[0].datatype[1].type STRUCT
-documenttype[0].datatype[1].array.element.id 0
-documenttype[0].datatype[1].map.key.id 0
-documenttype[0].datatype[1].map.value.id 0
-documenttype[0].datatype[1].wset.key.id 0
-documenttype[0].datatype[1].wset.createifnonexistent false
-documenttype[0].datatype[1].wset.removeifzero false
-documenttype[0].datatype[1].annotationref.annotation.id 0
-documenttype[0].datatype[1].sstruct.name "tensor.body"
-documenttype[0].datatype[1].sstruct.version 0
-documenttype[0].datatype[1].sstruct.compression.type NONE
-documenttype[0].datatype[1].sstruct.compression.level 0
-documenttype[0].datatype[1].sstruct.compression.threshold 95
-documenttype[0].datatype[1].sstruct.compression.minsize 200
-documenttype[0].fieldsets{[document]}.fields[0] "f1"
-documenttype[0].fieldsets{[document]}.fields[1] "f2"
-documenttype[0].fieldsets{[document]}.fields[2] "f3"
-documenttype[0].fieldsets{[document]}.fields[3] "f4"
+documenttype[].id -1290043429
+documenttype[].name "tensor"
+documenttype[].version 0
+documenttype[].headerstruct 2125927172
+documenttype[].bodystruct -1903234535
+documenttype[].inherits[].id 8
+documenttype[].datatype[].id 2125927172
+documenttype[].datatype[].type STRUCT
+documenttype[].datatype[].array.element.id 0
+documenttype[].datatype[].map.key.id 0
+documenttype[].datatype[].map.value.id 0
+documenttype[].datatype[].wset.key.id 0
+documenttype[].datatype[].wset.createifnonexistent false
+documenttype[].datatype[].wset.removeifzero false
+documenttype[].datatype[].annotationref.annotation.id 0
+documenttype[].datatype[].sstruct.name "tensor.header"
+documenttype[].datatype[].sstruct.version 0
+documenttype[].datatype[].sstruct.compression.type NONE
+documenttype[].datatype[].sstruct.compression.level 0
+documenttype[].datatype[].sstruct.compression.threshold 95
+documenttype[].datatype[].sstruct.compression.minsize 200
+documenttype[].datatype[].sstruct.field[].name "f1"
+documenttype[].datatype[].sstruct.field[].id 26661415
+documenttype[].datatype[].sstruct.field[].id_v6 1740179945
+documenttype[].datatype[].sstruct.field[].datatype 21
+documenttype[].datatype[].sstruct.field[].detailedtype "tensor(x[])"
+documenttype[].datatype[].sstruct.field[].name "f2"
+documenttype[].datatype[].sstruct.field[].id 2080644671
+documenttype[].datatype[].sstruct.field[].id_v6 1424572148
+documenttype[].datatype[].sstruct.field[].datatype 21
+documenttype[].datatype[].sstruct.field[].detailedtype "tensor(x[2],y[])"
+documenttype[].datatype[].sstruct.field[].name "f3"
+documenttype[].datatype[].sstruct.field[].id 1295091863
+documenttype[].datatype[].sstruct.field[].id_v6 1444109654
+documenttype[].datatype[].sstruct.field[].datatype 21
+documenttype[].datatype[].sstruct.field[].detailedtype "tensor(x{})"
+documenttype[].datatype[].sstruct.field[].name "f4"
+documenttype[].datatype[].sstruct.field[].id 1224191509
+documenttype[].datatype[].sstruct.field[].id_v6 1039544782
+documenttype[].datatype[].sstruct.field[].datatype 21
+documenttype[].datatype[].sstruct.field[].detailedtype "tensor(x[],y[])"
+documenttype[].datatype[].sstruct.field[].name "rankfeatures"
+documenttype[].datatype[].sstruct.field[].id 1883197392
+documenttype[].datatype[].sstruct.field[].id_v6 699950698
+documenttype[].datatype[].sstruct.field[].datatype 2
+documenttype[].datatype[].sstruct.field[].detailedtype ""
+documenttype[].datatype[].sstruct.field[].name "summaryfeatures"
+documenttype[].datatype[].sstruct.field[].id 1840337115
+documenttype[].datatype[].sstruct.field[].id_v6 1981648971
+documenttype[].datatype[].sstruct.field[].datatype 2
+documenttype[].datatype[].sstruct.field[].detailedtype ""
+documenttype[].datatype[].id -1903234535
+documenttype[].datatype[].type STRUCT
+documenttype[].datatype[].array.element.id 0
+documenttype[].datatype[].map.key.id 0
+documenttype[].datatype[].map.value.id 0
+documenttype[].datatype[].wset.key.id 0
+documenttype[].datatype[].wset.createifnonexistent false
+documenttype[].datatype[].wset.removeifzero false
+documenttype[].datatype[].annotationref.annotation.id 0
+documenttype[].datatype[].sstruct.name "tensor.body"
+documenttype[].datatype[].sstruct.version 0
+documenttype[].datatype[].sstruct.compression.type NONE
+documenttype[].datatype[].sstruct.compression.level 0
+documenttype[].datatype[].sstruct.compression.threshold 95
+documenttype[].datatype[].sstruct.compression.minsize 200
+documenttype[].fieldsets{[document]}.fields[0] "f1"
+documenttype[].fieldsets{[document]}.fields[1] "f2"
+documenttype[].fieldsets{[document]}.fields[2] "f3"
+documenttype[].fieldsets{[document]}.fields[3] "f4"
diff --git a/config-model/src/test/derived/tensor/rank-profiles.cfg b/config-model/src/test/derived/tensor/rank-profiles.cfg
index 9070e34458e..cb496c06367 100644
--- a/config-model/src/test/derived/tensor/rank-profiles.cfg
+++ b/config-model/src/test/derived/tensor/rank-profiles.cfg
@@ -1,55 +1,55 @@
-rankprofile[0].name "default"
-rankprofile[0].fef.property[0].name "vespa.type.attribute.f2"
-rankprofile[0].fef.property[0].value "tensor(x[2],y[])"
-rankprofile[0].fef.property[1].name "vespa.type.attribute.f3"
-rankprofile[0].fef.property[1].value "tensor(x{})"
-rankprofile[0].fef.property[2].name "vespa.type.attribute.f4"
-rankprofile[0].fef.property[2].value "tensor(x[10],y[20])"
-rankprofile[1].name "unranked"
-rankprofile[1].fef.property[0].name "vespa.rank.firstphase"
-rankprofile[1].fef.property[0].value "value(0)"
-rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize"
-rankprofile[1].fef.property[1].value "0"
-rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize"
-rankprofile[1].fef.property[2].value "0"
-rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures"
-rankprofile[1].fef.property[3].value "true"
-rankprofile[1].fef.property[4].name "vespa.type.attribute.f2"
-rankprofile[1].fef.property[4].value "tensor(x[2],y[])"
-rankprofile[1].fef.property[5].name "vespa.type.attribute.f3"
-rankprofile[1].fef.property[5].value "tensor(x{})"
-rankprofile[1].fef.property[6].name "vespa.type.attribute.f4"
-rankprofile[1].fef.property[6].value "tensor(x[10],y[20])"
-rankprofile[2].name "profile1"
-rankprofile[2].fef.property[0].name "vespa.rank.firstphase"
-rankprofile[2].fef.property[0].value "rankingExpression(firstphase)"
-rankprofile[2].fef.property[1].name "rankingExpression(firstphase).rankingScript"
-rankprofile[2].fef.property[1].value "reduce(map(attribute(f4), f(x)(x * x)) + reduce(tensor(x[2],y[3])(random), count) * rename(attribute(f4), (x, y), (y, x)), sum)"
-rankprofile[2].fef.property[2].name "vespa.type.attribute.f2"
-rankprofile[2].fef.property[2].value "tensor(x[2],y[])"
-rankprofile[2].fef.property[3].name "vespa.type.attribute.f3"
-rankprofile[2].fef.property[3].value "tensor(x{})"
-rankprofile[2].fef.property[4].name "vespa.type.attribute.f4"
-rankprofile[2].fef.property[4].value "tensor(x[10],y[20])"
-rankprofile[3].name "profile2"
-rankprofile[3].fef.property[0].name "vespa.rank.firstphase"
-rankprofile[3].fef.property[0].value "rankingExpression(firstphase)"
-rankprofile[3].fef.property[1].name "rankingExpression(firstphase).rankingScript"
-rankprofile[3].fef.property[1].value "reduce(reduce(join(attribute(f4), tensor(x[2],y[2],z[3])((x==y)*(y==z)), f(a,b)(a * b)), sum, x), sum)"
-rankprofile[3].fef.property[2].name "vespa.type.attribute.f2"
-rankprofile[3].fef.property[2].value "tensor(x[2],y[])"
-rankprofile[3].fef.property[3].name "vespa.type.attribute.f3"
-rankprofile[3].fef.property[3].value "tensor(x{})"
-rankprofile[3].fef.property[4].name "vespa.type.attribute.f4"
-rankprofile[3].fef.property[4].value "tensor(x[10],y[20])"
-rankprofile[4].name "profile3"
-rankprofile[4].fef.property[0].name "vespa.rank.firstphase"
-rankprofile[4].fef.property[0].value "rankingExpression(firstphase)"
-rankprofile[4].fef.property[1].name "rankingExpression(firstphase).rankingScript"
-rankprofile[4].fef.property[1].value "reduce(tensor(i[10])(i) * attribute(f4), sum)"
-rankprofile[4].fef.property[2].name "vespa.type.attribute.f2"
-rankprofile[4].fef.property[2].value "tensor(x[2],y[])"
-rankprofile[4].fef.property[3].name "vespa.type.attribute.f3"
-rankprofile[4].fef.property[3].value "tensor(x{})"
-rankprofile[4].fef.property[4].name "vespa.type.attribute.f4"
-rankprofile[4].fef.property[4].value "tensor(x[10],y[20])" \ No newline at end of file
+rankprofile[].name "default"
+rankprofile[].fef.property[].name "vespa.type.attribute.f2"
+rankprofile[].fef.property[].value "tensor(x[2],y[])"
+rankprofile[].fef.property[].name "vespa.type.attribute.f3"
+rankprofile[].fef.property[].value "tensor(x{})"
+rankprofile[].fef.property[].name "vespa.type.attribute.f4"
+rankprofile[].fef.property[].value "tensor(x[10],y[20])"
+rankprofile[].name "unranked"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "value(0)"
+rankprofile[].fef.property[].name "vespa.hitcollector.heapsize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.hitcollector.arraysize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.dump.ignoredefaultfeatures"
+rankprofile[].fef.property[].value "true"
+rankprofile[].fef.property[].name "vespa.type.attribute.f2"
+rankprofile[].fef.property[].value "tensor(x[2],y[])"
+rankprofile[].fef.property[].name "vespa.type.attribute.f3"
+rankprofile[].fef.property[].value "tensor(x{})"
+rankprofile[].fef.property[].name "vespa.type.attribute.f4"
+rankprofile[].fef.property[].value "tensor(x[10],y[20])"
+rankprofile[].name "profile1"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "rankingExpression(firstphase)"
+rankprofile[].fef.property[].name "rankingExpression(firstphase).rankingScript"
+rankprofile[].fef.property[].value "reduce(map(attribute(f4), f(x)(x * x)) + reduce(tensor(x[2],y[3])(random), count) * rename(attribute(f4), (x, y), (y, x)), sum)"
+rankprofile[].fef.property[].name "vespa.type.attribute.f2"
+rankprofile[].fef.property[].value "tensor(x[2],y[])"
+rankprofile[].fef.property[].name "vespa.type.attribute.f3"
+rankprofile[].fef.property[].value "tensor(x{})"
+rankprofile[].fef.property[].name "vespa.type.attribute.f4"
+rankprofile[].fef.property[].value "tensor(x[10],y[20])"
+rankprofile[].name "profile2"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "rankingExpression(firstphase)"
+rankprofile[].fef.property[].name "rankingExpression(firstphase).rankingScript"
+rankprofile[].fef.property[].value "reduce(reduce(join(attribute(f4), tensor(x[2],y[2],z[3])((x==y)*(y==z)), f(a,b)(a * b)), sum, x), sum)"
+rankprofile[].fef.property[].name "vespa.type.attribute.f2"
+rankprofile[].fef.property[].value "tensor(x[2],y[])"
+rankprofile[].fef.property[].name "vespa.type.attribute.f3"
+rankprofile[].fef.property[].value "tensor(x{})"
+rankprofile[].fef.property[].name "vespa.type.attribute.f4"
+rankprofile[].fef.property[].value "tensor(x[10],y[20])"
+rankprofile[].name "profile3"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "rankingExpression(firstphase)"
+rankprofile[].fef.property[].name "rankingExpression(firstphase).rankingScript"
+rankprofile[].fef.property[].value "reduce(tensor(i[10])(i) * attribute(f4), sum)"
+rankprofile[].fef.property[].name "vespa.type.attribute.f2"
+rankprofile[].fef.property[].value "tensor(x[2],y[])"
+rankprofile[].fef.property[].name "vespa.type.attribute.f3"
+rankprofile[].fef.property[].value "tensor(x{})"
+rankprofile[].fef.property[].name "vespa.type.attribute.f4"
+rankprofile[].fef.property[].value "tensor(x[10],y[20])"
diff --git a/config-model/src/test/derived/twostreamingstructs/documentmanager.cfg b/config-model/src/test/derived/twostreamingstructs/documentmanager.cfg
index 6dee91664be..9403a90f03d 100644
--- a/config-model/src/test/derived/twostreamingstructs/documentmanager.cfg
+++ b/config-model/src/test/derived/twostreamingstructs/documentmanager.cfg
@@ -1,166 +1,166 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[1].id 105061838
-datatype[1].structtype[0].name "ns1"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].compresstype NONE
-datatype[1].structtype[0].compresslevel 0
-datatype[1].structtype[0].compressthreshold 95
-datatype[1].structtype[0].compressminsize 800
-datatype[1].structtype[0].field[0].name "nf1"
-datatype[1].structtype[0].field[0].datatype 3474528
-datatype[1].structtype[0].field[1].name "nf1s"
-datatype[1].structtype[0].field[1].datatype 3474528
-datatype[1].structtype[0].field[2].name "nf2"
-datatype[1].structtype[0].field[2].datatype 2
-datatype[2].id 3474528
-datatype[2].structtype[0].name "s1"
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].compresstype NONE
-datatype[2].structtype[0].compresslevel 0
-datatype[2].structtype[0].compressthreshold 95
-datatype[2].structtype[0].compressminsize 800
-datatype[2].structtype[0].field[0].name "f1"
-datatype[2].structtype[0].field[0].datatype 2
-datatype[2].structtype[0].field[1].name "f1s"
-datatype[2].structtype[0].field[1].datatype 2
-datatype[2].structtype[0].field[2].name "f2"
-datatype[2].structtype[0].field[2].datatype 0
-datatype[2].structtype[0].field[3].name "f3"
-datatype[2].structtype[0].field[3].datatype 5
-datatype[3].id -1497802371
-datatype[3].maptype[0].keytype 4
-datatype[3].maptype[0].valtype 2
-datatype[4].id -1425630723
-datatype[4].arraytype[0].datatype 3474528
-datatype[5].id 731395686
-datatype[5].structtype[0].name "streamingstruct.header"
-datatype[5].structtype[0].version 0
-datatype[5].structtype[0].compresstype NONE
-datatype[5].structtype[0].compresslevel 0
-datatype[5].structtype[0].compressthreshold 95
-datatype[5].structtype[0].compressminsize 800
-datatype[5].structtype[0].field[0].name "coupleof"
-datatype[5].structtype[0].field[0].datatype 2
-datatype[5].structtype[0].field[1].name "normalfields"
-datatype[5].structtype[0].field[1].datatype 2
-datatype[5].structtype[0].field[2].name "a"
-datatype[5].structtype[0].field[2].datatype 3474528
-datatype[5].structtype[0].field[3].name "m"
-datatype[5].structtype[0].field[3].datatype -1497802371
-datatype[5].structtype[0].field[4].name "b"
-datatype[5].structtype[0].field[4].datatype 3474528
-datatype[5].structtype[0].field[5].name "c"
-datatype[5].structtype[0].field[5].datatype 3474528
-datatype[5].structtype[0].field[6].name "c2"
-datatype[5].structtype[0].field[6].datatype 3474528
-datatype[5].structtype[0].field[7].name "c3"
-datatype[5].structtype[0].field[7].datatype 3474528
-datatype[5].structtype[0].field[8].name "n"
-datatype[5].structtype[0].field[8].datatype 105061838
-datatype[5].structtype[0].field[9].name "array1"
-datatype[5].structtype[0].field[9].datatype -1425630723
-datatype[5].structtype[0].field[10].name "array2"
-datatype[5].structtype[0].field[10].datatype -1425630723
-datatype[5].structtype[0].field[11].name "array3"
-datatype[5].structtype[0].field[11].datatype -1425630723
-datatype[5].structtype[0].field[12].name "subject"
-datatype[5].structtype[0].field[12].datatype 3474528
-datatype[5].structtype[0].field[13].name "d"
-datatype[5].structtype[0].field[13].datatype 3474528
-datatype[5].structtype[0].field[14].name "e"
-datatype[5].structtype[0].field[14].datatype 3474528
-datatype[5].structtype[0].field[15].name "f"
-datatype[5].structtype[0].field[15].datatype 3474528
-datatype[5].structtype[0].field[16].name "g"
-datatype[5].structtype[0].field[16].datatype 2
-datatype[5].structtype[0].field[17].name "anothersummaryfield"
-datatype[5].structtype[0].field[17].datatype 2
-datatype[5].structtype[0].field[18].name "rankfeatures"
-datatype[5].structtype[0].field[18].datatype 2
-datatype[5].structtype[0].field[19].name "summaryfeatures"
-datatype[5].structtype[0].field[19].datatype 2
-datatype[5].structtype[0].field[20].name "snippet"
-datatype[5].structtype[0].field[20].datatype 2
-datatype[5].structtype[0].field[21].name "snippet2"
-datatype[5].structtype[0].field[21].datatype 2
-datatype[6].id 1858438651
-datatype[6].structtype[0].name "streamingstruct.body"
-datatype[6].structtype[0].version 0
-datatype[6].structtype[0].compresstype NONE
-datatype[6].structtype[0].compresslevel 0
-datatype[6].structtype[0].compressthreshold 95
-datatype[6].structtype[0].compressminsize 800
-datatype[7].id 1433175737
-datatype[7].documenttype[0].name "streamingstruct"
-datatype[7].documenttype[0].version 0
-datatype[7].documenttype[0].inherits[0].name "document"
-datatype[7].documenttype[0].inherits[0].version 0
-datatype[7].documenttype[0].headerstruct 731395686
-datatype[7].documenttype[0].bodystruct 1858438651
-datatype[7].documenttype[0].fieldsets{[document]}.fields[0] "a"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[1] "array1"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[2] "array2"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[3] "array3"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[4] "b"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[5] "c"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[6] "c2"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[7] "c3"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[8] "coupleof"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[9] "d"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[10] "e"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[11] "f"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[12] "g"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[13] "m"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[14] "n"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[15] "normalfields"
-datatype[7].documenttype[0].fieldsets{[document]}.fields[16] "subject"
-datatype[8].id -995681764
-datatype[8].structtype[0].name "pair"
-datatype[8].structtype[0].version 0
-datatype[8].structtype[0].compresstype NONE
-datatype[8].structtype[0].compresslevel 0
-datatype[8].structtype[0].compressthreshold 95
-datatype[8].structtype[0].compressminsize 800
-datatype[8].structtype[0].field[0].name "key"
-datatype[8].structtype[0].field[0].datatype 2
-datatype[8].structtype[0].field[1].name "value"
-datatype[8].structtype[0].field[1].datatype 2
-datatype[9].id 355471259
-datatype[9].structtype[0].name "whatever.header"
-datatype[9].structtype[0].version 0
-datatype[9].structtype[0].compresstype NONE
-datatype[9].structtype[0].compresslevel 0
-datatype[9].structtype[0].compressthreshold 95
-datatype[9].structtype[0].compressminsize 800
-datatype[9].structtype[0].field[0].name "rankfeatures"
-datatype[9].structtype[0].field[0].datatype 2
-datatype[9].structtype[0].field[1].name "summaryfeatures"
-datatype[9].structtype[0].field[1].datatype 2
-datatype[10].id -1417926544
-datatype[10].structtype[0].name "whatever.body"
-datatype[10].structtype[0].version 0
-datatype[10].structtype[0].compresstype NONE
-datatype[10].structtype[0].compresslevel 0
-datatype[10].structtype[0].compressthreshold 95
-datatype[10].structtype[0].compressminsize 800
-datatype[10].structtype[0].field[0].name "f1"
-datatype[10].structtype[0].field[0].datatype -995681764
-datatype[11].id -778211548
-datatype[11].documenttype[0].name "whatever"
-datatype[11].documenttype[0].version 0
-datatype[11].documenttype[0].inherits[0].name "document"
-datatype[11].documenttype[0].inherits[0].version 0
-datatype[11].documenttype[0].headerstruct 355471259
-datatype[11].documenttype[0].bodystruct -1417926544
-datatype[11].documenttype[0].fieldsets{[document]}.fields[0] "f1"
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].id 105061838
+datatype[].structtype[].name "ns1"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "nf1"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].name "nf1s"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].name "nf2"
+datatype[].structtype[].field[].datatype 2
+datatype[].id 3474528
+datatype[].structtype[].name "s1"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "f1"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "f1s"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "f2"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].name "f3"
+datatype[].structtype[].field[].datatype 5
+datatype[].id -1497802371
+datatype[].maptype[].keytype 4
+datatype[].maptype[].valtype 2
+datatype[].id -1425630723
+datatype[].arraytype[].datatype 3474528
+datatype[].id 731395686
+datatype[].structtype[].name "streamingstruct.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "coupleof"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "normalfields"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "a"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].name "m"
+datatype[].structtype[].field[].datatype -1497802371
+datatype[].structtype[].field[].name "b"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].name "c"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].name "c2"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].name "c3"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].name "n"
+datatype[].structtype[].field[].datatype 105061838
+datatype[].structtype[].field[].name "array1"
+datatype[].structtype[].field[].datatype -1425630723
+datatype[].structtype[].field[].name "array2"
+datatype[].structtype[].field[].datatype -1425630723
+datatype[].structtype[].field[].name "array3"
+datatype[].structtype[].field[].datatype -1425630723
+datatype[].structtype[].field[].name "subject"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].name "d"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].name "e"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].name "f"
+datatype[].structtype[].field[].datatype 3474528
+datatype[].structtype[].field[].name "g"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "anothersummaryfield"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "snippet"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "snippet2"
+datatype[].structtype[].field[].datatype 2
+datatype[].id 1858438651
+datatype[].structtype[].name "streamingstruct.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].id 1433175737
+datatype[].documenttype[].name "streamingstruct"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 731395686
+datatype[].documenttype[].bodystruct 1858438651
+datatype[].documenttype[].fieldsets{[document]}.fields[0] "a"
+datatype[].documenttype[].fieldsets{[document]}.fields[1] "array1"
+datatype[].documenttype[].fieldsets{[document]}.fields[2] "array2"
+datatype[].documenttype[].fieldsets{[document]}.fields[3] "array3"
+datatype[].documenttype[].fieldsets{[document]}.fields[4] "b"
+datatype[].documenttype[].fieldsets{[document]}.fields[5] "c"
+datatype[].documenttype[].fieldsets{[document]}.fields[6] "c2"
+datatype[].documenttype[].fieldsets{[document]}.fields[7] "c3"
+datatype[].documenttype[].fieldsets{[document]}.fields[8] "coupleof"
+datatype[].documenttype[].fieldsets{[document]}.fields[9] "d"
+datatype[].documenttype[].fieldsets{[document]}.fields[10] "e"
+datatype[].documenttype[].fieldsets{[document]}.fields[11] "f"
+datatype[].documenttype[].fieldsets{[document]}.fields[12] "g"
+datatype[].documenttype[].fieldsets{[document]}.fields[13] "m"
+datatype[].documenttype[].fieldsets{[document]}.fields[14] "n"
+datatype[].documenttype[].fieldsets{[document]}.fields[15] "normalfields"
+datatype[].documenttype[].fieldsets{[document]}.fields[16] "subject"
+datatype[].id -995681764
+datatype[].structtype[].name "pair"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "key"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "value"
+datatype[].structtype[].field[].datatype 2
+datatype[].id 355471259
+datatype[].structtype[].name "whatever.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].id -1417926544
+datatype[].structtype[].name "whatever.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "f1"
+datatype[].structtype[].field[].datatype -995681764
+datatype[].id -778211548
+datatype[].documenttype[].name "whatever"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 355471259
+datatype[].documenttype[].bodystruct -1417926544
+datatype[].documenttype[].fieldsets{[document]}.fields[0] "f1"
diff --git a/config-model/src/test/derived/twostreamingstructs/summary.cfg b/config-model/src/test/derived/twostreamingstructs/summary.cfg
index 9d722116850..28f19e6fe25 100644
--- a/config-model/src/test/derived/twostreamingstructs/summary.cfg
+++ b/config-model/src/test/derived/twostreamingstructs/summary.cfg
@@ -1,51 +1,51 @@
defaultsummaryid 569269436
-classes[0].id 569269436
-classes[0].name "default"
-classes[0].fields[0].name "coupleof"
-classes[0].fields[0].type "longstring"
-classes[0].fields[1].name "anothersummaryfield"
-classes[0].fields[1].type "longstring"
-classes[0].fields[2].name "a"
-classes[0].fields[2].type "jsonstring"
-classes[0].fields[3].name "m"
-classes[0].fields[3].type "jsonstring"
-classes[0].fields[4].name "b"
-classes[0].fields[4].type "jsonstring"
-classes[0].fields[5].name "c"
-classes[0].fields[5].type "jsonstring"
-classes[0].fields[6].name "c2"
-classes[0].fields[6].type "jsonstring"
-classes[0].fields[7].name "c3"
-classes[0].fields[7].type "jsonstring"
-classes[0].fields[8].name "n"
-classes[0].fields[8].type "jsonstring"
-classes[0].fields[9].name "array1"
-classes[0].fields[9].type "jsonstring"
-classes[0].fields[10].name "array2"
-classes[0].fields[10].type "jsonstring"
-classes[0].fields[11].name "array3"
-classes[0].fields[11].type "jsonstring"
-classes[0].fields[12].name "subject"
-classes[0].fields[12].type "jsonstring"
-classes[0].fields[13].name "g"
-classes[0].fields[13].type "longstring"
-classes[0].fields[14].name "rankfeatures"
-classes[0].fields[14].type "featuredata"
-classes[0].fields[15].name "summaryfeatures"
-classes[0].fields[15].type "featuredata"
-classes[0].fields[16].name "snippet"
-classes[0].fields[16].type "longstring"
-classes[0].fields[17].name "snippet2"
-classes[0].fields[17].type "longstring"
-classes[0].fields[18].name "documentid"
-classes[0].fields[18].type "longstring"
-classes[1].id 109252281
-classes[1].name "summ"
-classes[1].fields[0].name "snippet"
-classes[1].fields[0].type "longstring"
-classes[1].fields[1].name "snippet2"
-classes[1].fields[1].type "longstring"
-classes[1].fields[2].name "rankfeatures"
-classes[1].fields[2].type "featuredata"
-classes[1].fields[3].name "summaryfeatures"
-classes[1].fields[3].type "featuredata" \ No newline at end of file
+classes[].id 569269436
+classes[].name "default"
+classes[].fields[].name "coupleof"
+classes[].fields[].type "longstring"
+classes[].fields[].name "anothersummaryfield"
+classes[].fields[].type "longstring"
+classes[].fields[].name "a"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "m"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "b"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "c"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "c2"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "c3"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "n"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "array1"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "array2"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "array3"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "subject"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "g"
+classes[].fields[].type "longstring"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "snippet"
+classes[].fields[].type "longstring"
+classes[].fields[].name "snippet2"
+classes[].fields[].type "longstring"
+classes[].fields[].name "documentid"
+classes[].fields[].type "longstring"
+classes[].id 109252281
+classes[].name "summ"
+classes[].fields[].name "snippet"
+classes[].fields[].type "longstring"
+classes[].fields[].name "snippet2"
+classes[].fields[].type "longstring"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
diff --git a/config-model/src/test/derived/twostreamingstructs/summarymap.cfg b/config-model/src/test/derived/twostreamingstructs/summarymap.cfg
index 1bf13ffa199..865c6f733f1 100644
--- a/config-model/src/test/derived/twostreamingstructs/summarymap.cfg
+++ b/config-model/src/test/derived/twostreamingstructs/summarymap.cfg
@@ -1,13 +1,13 @@
defaultoutputclass -1
-override[0].field "snippet"
-override[0].command "dynamicteaser"
-override[0].arguments "snippet"
-override[1].field "rankfeatures"
-override[1].command "rankfeatures"
-override[1].arguments ""
-override[2].field "summaryfeatures"
-override[2].command "summaryfeatures"
-override[2].arguments ""
-override[3].field "g"
-override[3].command "dynamicteaser"
-override[3].arguments "g" \ No newline at end of file
+override[].field "snippet"
+override[].command "dynamicteaser"
+override[].arguments "snippet"
+override[].field "rankfeatures"
+override[].command "rankfeatures"
+override[].arguments ""
+override[].field "summaryfeatures"
+override[].command "summaryfeatures"
+override[].arguments ""
+override[].field "g"
+override[].command "dynamicteaser"
+override[].arguments "g"
diff --git a/config-model/src/test/derived/twostreamingstructs/vsmfields.cfg b/config-model/src/test/derived/twostreamingstructs/vsmfields.cfg
index ec8b1eeb4ac..24f7677fe58 100644
--- a/config-model/src/test/derived/twostreamingstructs/vsmfields.cfg
+++ b/config-model/src/test/derived/twostreamingstructs/vsmfields.cfg
@@ -1,322 +1,322 @@
documentverificationlevel 0
searchall 1
-fieldspec[0].name "coupleof"
-fieldspec[0].searchmethod AUTOUTF8
-fieldspec[0].arg1 ""
-fieldspec[1].name "normalfields"
-fieldspec[1].searchmethod AUTOUTF8
-fieldspec[1].arg1 ""
-fieldspec[2].name "a.f1"
-fieldspec[2].searchmethod AUTOUTF8
-fieldspec[2].arg1 ""
-fieldspec[3].name "a.f1s"
-fieldspec[3].searchmethod AUTOUTF8
-fieldspec[3].arg1 "substring"
-fieldspec[4].name "a.f2"
-fieldspec[4].searchmethod INT32
-fieldspec[4].arg1 ""
-fieldspec[5].name "a.f3"
-fieldspec[5].searchmethod DOUBLE
-fieldspec[5].arg1 ""
-fieldspec[6].name "m.key"
-fieldspec[6].searchmethod INT64
-fieldspec[6].arg1 ""
-fieldspec[7].name "m.value"
-fieldspec[7].searchmethod AUTOUTF8
-fieldspec[7].arg1 ""
-fieldspec[8].name "b.f1"
-fieldspec[8].searchmethod AUTOUTF8
-fieldspec[8].arg1 ""
-fieldspec[9].name "b.f1s"
-fieldspec[9].searchmethod AUTOUTF8
-fieldspec[9].arg1 "substring"
-fieldspec[10].name "b.f2"
-fieldspec[10].searchmethod INT32
-fieldspec[10].arg1 ""
-fieldspec[11].name "b.f3"
-fieldspec[11].searchmethod DOUBLE
-fieldspec[11].arg1 ""
-fieldspec[12].name "c.f1"
-fieldspec[12].searchmethod AUTOUTF8
-fieldspec[12].arg1 ""
-fieldspec[13].name "c.f1s"
-fieldspec[13].searchmethod AUTOUTF8
-fieldspec[13].arg1 "prefix"
-fieldspec[14].name "c.f3"
-fieldspec[14].searchmethod DOUBLE
-fieldspec[14].arg1 ""
-fieldspec[15].name "c2.f1"
-fieldspec[15].searchmethod AUTOUTF8
-fieldspec[15].arg1 ""
-fieldspec[16].name "c2.f1s"
-fieldspec[16].searchmethod AUTOUTF8
-fieldspec[16].arg1 "suffix"
-fieldspec[17].name "c2.f2"
-fieldspec[17].searchmethod INT32
-fieldspec[17].arg1 ""
-fieldspec[18].name "c2.f3"
-fieldspec[18].searchmethod DOUBLE
-fieldspec[18].arg1 ""
-fieldspec[19].name "c3.f1"
-fieldspec[19].searchmethod AUTOUTF8
-fieldspec[19].arg1 ""
-fieldspec[20].name "c3.f1s"
-fieldspec[20].searchmethod AUTOUTF8
-fieldspec[20].arg1 "prefix"
-fieldspec[21].name "c3.f2"
-fieldspec[21].searchmethod INT32
-fieldspec[21].arg1 ""
-fieldspec[22].name "c3.f3"
-fieldspec[22].searchmethod DOUBLE
-fieldspec[22].arg1 ""
-fieldspec[23].name "n.nf1.f1"
-fieldspec[23].searchmethod AUTOUTF8
-fieldspec[23].arg1 ""
-fieldspec[24].name "n.nf1.f1s"
-fieldspec[24].searchmethod AUTOUTF8
-fieldspec[24].arg1 "prefix"
-fieldspec[25].name "n.nf1.f3"
-fieldspec[25].searchmethod DOUBLE
-fieldspec[25].arg1 ""
-fieldspec[26].name "n.nf1s.f1"
-fieldspec[26].searchmethod AUTOUTF8
-fieldspec[26].arg1 "substring"
-fieldspec[27].name "n.nf1s.f1s"
-fieldspec[27].searchmethod AUTOUTF8
-fieldspec[27].arg1 "substring"
-fieldspec[28].name "n.nf1s.f2"
-fieldspec[28].searchmethod INT32
-fieldspec[28].arg1 ""
-fieldspec[29].name "n.nf1s.f3"
-fieldspec[29].searchmethod DOUBLE
-fieldspec[29].arg1 ""
-fieldspec[30].name "n.nf2"
-fieldspec[30].searchmethod AUTOUTF8
-fieldspec[30].arg1 ""
-fieldspec[31].name "array1.f1"
-fieldspec[31].searchmethod AUTOUTF8
-fieldspec[31].arg1 ""
-fieldspec[32].name "array1.f1s"
-fieldspec[32].searchmethod AUTOUTF8
-fieldspec[32].arg1 "substring"
-fieldspec[33].name "array1.f2"
-fieldspec[33].searchmethod INT32
-fieldspec[33].arg1 ""
-fieldspec[34].name "array1.f3"
-fieldspec[34].searchmethod DOUBLE
-fieldspec[34].arg1 ""
-fieldspec[35].name "array2.f1"
-fieldspec[35].searchmethod AUTOUTF8
-fieldspec[35].arg1 ""
-fieldspec[36].name "array2.f1s"
-fieldspec[36].searchmethod AUTOUTF8
-fieldspec[36].arg1 "substring"
-fieldspec[37].name "array2.f2"
-fieldspec[37].searchmethod INT32
-fieldspec[37].arg1 ""
-fieldspec[38].name "array2.f3"
-fieldspec[38].searchmethod DOUBLE
-fieldspec[38].arg1 ""
-fieldspec[39].name "array3.f1"
-fieldspec[39].searchmethod AUTOUTF8
-fieldspec[39].arg1 ""
-fieldspec[40].name "array3.f1s"
-fieldspec[40].searchmethod AUTOUTF8
-fieldspec[40].arg1 "prefix"
-fieldspec[41].name "array3.f3"
-fieldspec[41].searchmethod DOUBLE
-fieldspec[41].arg1 ""
-fieldspec[42].name "subject.f1"
-fieldspec[42].searchmethod AUTOUTF8
-fieldspec[42].arg1 ""
-fieldspec[43].name "d.f1"
-fieldspec[43].searchmethod AUTOUTF8
-fieldspec[43].arg1 "prefix"
-fieldspec[44].name "d.f1s"
-fieldspec[44].searchmethod AUTOUTF8
-fieldspec[44].arg1 "prefix"
-fieldspec[45].name "d.f2"
-fieldspec[45].searchmethod INT32
-fieldspec[45].arg1 ""
-fieldspec[46].name "d.f3"
-fieldspec[46].searchmethod DOUBLE
-fieldspec[46].arg1 ""
-fieldspec[47].name "e.f1"
-fieldspec[47].searchmethod AUTOUTF8
-fieldspec[47].arg1 "substring"
-fieldspec[48].name "e.f1s"
-fieldspec[48].searchmethod AUTOUTF8
-fieldspec[48].arg1 "substring"
-fieldspec[49].name "e.f2"
-fieldspec[49].searchmethod INT32
-fieldspec[49].arg1 ""
-fieldspec[50].name "e.f3"
-fieldspec[50].searchmethod DOUBLE
-fieldspec[50].arg1 ""
-fieldspec[51].name "f.f1"
-fieldspec[51].searchmethod AUTOUTF8
-fieldspec[51].arg1 "suffix"
-fieldspec[52].name "f.f1s"
-fieldspec[52].searchmethod AUTOUTF8
-fieldspec[52].arg1 "suffix"
-fieldspec[53].name "f.f2"
-fieldspec[53].searchmethod INT32
-fieldspec[53].arg1 ""
-fieldspec[54].name "f.f3"
-fieldspec[54].searchmethod DOUBLE
-fieldspec[54].arg1 ""
-fieldspec[55].name "g"
-fieldspec[55].searchmethod AUTOUTF8
-fieldspec[55].arg1 ""
-documenttype[0].name "streamingstruct"
-documenttype[0].index[0].name "coupleof"
-documenttype[0].index[0].field[0].name "coupleof"
-documenttype[0].index[1].name "normalfields"
-documenttype[0].index[1].field[0].name "normalfields"
-documenttype[0].index[2].name "b"
-documenttype[0].index[2].field[0].name "b.f1"
-documenttype[0].index[2].field[1].name "b.f1s"
-documenttype[0].index[2].field[2].name "b.f2"
-documenttype[0].index[2].field[3].name "b.f3"
-documenttype[0].index[3].name "b.f1"
-documenttype[0].index[3].field[0].name "b.f1"
-documenttype[0].index[4].name "b.f1s"
-documenttype[0].index[4].field[0].name "b.f1s"
-documenttype[0].index[5].name "b.f2"
-documenttype[0].index[5].field[0].name "b.f2"
-documenttype[0].index[6].name "b.f3"
-documenttype[0].index[6].field[0].name "b.f3"
-documenttype[0].index[7].name "c"
-documenttype[0].index[7].field[0].name "c.f1"
-documenttype[0].index[7].field[1].name "c.f1s"
-documenttype[0].index[7].field[2].name "c.f3"
-documenttype[0].index[8].name "c.f1"
-documenttype[0].index[8].field[0].name "c.f1"
-documenttype[0].index[9].name "c.f1s"
-documenttype[0].index[9].field[0].name "c.f1s"
-documenttype[0].index[10].name "c.f3"
-documenttype[0].index[10].field[0].name "c.f3"
-documenttype[0].index[11].name "c2"
-documenttype[0].index[11].field[0].name "c2.f1"
-documenttype[0].index[11].field[1].name "c2.f1s"
-documenttype[0].index[11].field[2].name "c2.f2"
-documenttype[0].index[11].field[3].name "c2.f3"
-documenttype[0].index[12].name "c2.f1"
-documenttype[0].index[12].field[0].name "c2.f1"
-documenttype[0].index[13].name "c2.f1s"
-documenttype[0].index[13].field[0].name "c2.f1s"
-documenttype[0].index[14].name "c2.f2"
-documenttype[0].index[14].field[0].name "c2.f2"
-documenttype[0].index[15].name "c2.f3"
-documenttype[0].index[15].field[0].name "c2.f3"
-documenttype[0].index[16].name "c3"
-documenttype[0].index[16].field[0].name "c3.f1"
-documenttype[0].index[16].field[1].name "c3.f1s"
-documenttype[0].index[16].field[2].name "c3.f2"
-documenttype[0].index[16].field[3].name "c3.f3"
-documenttype[0].index[17].name "c3.f1"
-documenttype[0].index[17].field[0].name "c3.f1"
-documenttype[0].index[18].name "c3.f1s"
-documenttype[0].index[18].field[0].name "c3.f1s"
-documenttype[0].index[19].name "c3.f2"
-documenttype[0].index[19].field[0].name "c3.f2"
-documenttype[0].index[20].name "c3.f3"
-documenttype[0].index[20].field[0].name "c3.f3"
-documenttype[0].index[21].name "n"
-documenttype[0].index[21].field[0].name "n.nf1.f1"
-documenttype[0].index[21].field[1].name "n.nf1.f1s"
-documenttype[0].index[21].field[2].name "n.nf1.f3"
-documenttype[0].index[21].field[3].name "n.nf1s.f1"
-documenttype[0].index[21].field[4].name "n.nf1s.f1s"
-documenttype[0].index[21].field[5].name "n.nf1s.f2"
-documenttype[0].index[21].field[6].name "n.nf1s.f3"
-documenttype[0].index[21].field[7].name "n.nf2"
-documenttype[0].index[22].name "n.nf1"
-documenttype[0].index[22].field[0].name "n.nf1.f1"
-documenttype[0].index[22].field[1].name "n.nf1.f1s"
-documenttype[0].index[22].field[2].name "n.nf1.f3"
-documenttype[0].index[23].name "n.nf1.f1"
-documenttype[0].index[23].field[0].name "n.nf1.f1"
-documenttype[0].index[24].name "n.nf1.f1s"
-documenttype[0].index[24].field[0].name "n.nf1.f1s"
-documenttype[0].index[25].name "n.nf1.f3"
-documenttype[0].index[25].field[0].name "n.nf1.f3"
-documenttype[0].index[26].name "n.nf1s"
-documenttype[0].index[26].field[0].name "n.nf1s.f1"
-documenttype[0].index[26].field[1].name "n.nf1s.f1s"
-documenttype[0].index[26].field[2].name "n.nf1s.f2"
-documenttype[0].index[26].field[3].name "n.nf1s.f3"
-documenttype[0].index[27].name "n.nf1s.f1"
-documenttype[0].index[27].field[0].name "n.nf1s.f1"
-documenttype[0].index[28].name "n.nf1s.f1s"
-documenttype[0].index[28].field[0].name "n.nf1s.f1s"
-documenttype[0].index[29].name "n.nf1s.f2"
-documenttype[0].index[29].field[0].name "n.nf1s.f2"
-documenttype[0].index[30].name "n.nf1s.f3"
-documenttype[0].index[30].field[0].name "n.nf1s.f3"
-documenttype[0].index[31].name "n.nf2"
-documenttype[0].index[31].field[0].name "n.nf2"
-documenttype[0].index[32].name "array2"
-documenttype[0].index[32].field[0].name "array2.f1"
-documenttype[0].index[32].field[1].name "array2.f1s"
-documenttype[0].index[32].field[2].name "array2.f2"
-documenttype[0].index[32].field[3].name "array2.f3"
-documenttype[0].index[33].name "array2.f1"
-documenttype[0].index[33].field[0].name "array2.f1"
-documenttype[0].index[34].name "array2.f1s"
-documenttype[0].index[34].field[0].name "array2.f1s"
-documenttype[0].index[35].name "array2.f2"
-documenttype[0].index[35].field[0].name "array2.f2"
-documenttype[0].index[36].name "array2.f3"
-documenttype[0].index[36].field[0].name "array2.f3"
-documenttype[0].index[37].name "array3"
-documenttype[0].index[37].field[0].name "array3.f1"
-documenttype[0].index[37].field[1].name "array3.f1s"
-documenttype[0].index[37].field[2].name "array3.f3"
-documenttype[0].index[38].name "array3.f1"
-documenttype[0].index[38].field[0].name "array3.f1"
-documenttype[0].index[39].name "array3.f1s"
-documenttype[0].index[39].field[0].name "array3.f1s"
-documenttype[0].index[40].name "array3.f3"
-documenttype[0].index[40].field[0].name "array3.f3"
-documenttype[0].index[41].name "d"
-documenttype[0].index[41].field[0].name "d.f1"
-documenttype[0].index[41].field[1].name "d.f1s"
-documenttype[0].index[41].field[2].name "d.f2"
-documenttype[0].index[41].field[3].name "d.f3"
-documenttype[0].index[42].name "d.f1"
-documenttype[0].index[42].field[0].name "d.f1"
-documenttype[0].index[43].name "d.f1s"
-documenttype[0].index[43].field[0].name "d.f1s"
-documenttype[0].index[44].name "d.f2"
-documenttype[0].index[44].field[0].name "d.f2"
-documenttype[0].index[45].name "d.f3"
-documenttype[0].index[45].field[0].name "d.f3"
-documenttype[0].index[46].name "e"
-documenttype[0].index[46].field[0].name "e.f1"
-documenttype[0].index[46].field[1].name "e.f1s"
-documenttype[0].index[46].field[2].name "e.f2"
-documenttype[0].index[46].field[3].name "e.f3"
-documenttype[0].index[47].name "e.f1"
-documenttype[0].index[47].field[0].name "e.f1"
-documenttype[0].index[48].name "e.f1s"
-documenttype[0].index[48].field[0].name "e.f1s"
-documenttype[0].index[49].name "e.f2"
-documenttype[0].index[49].field[0].name "e.f2"
-documenttype[0].index[50].name "e.f3"
-documenttype[0].index[50].field[0].name "e.f3"
-documenttype[0].index[51].name "f"
-documenttype[0].index[51].field[0].name "f.f1"
-documenttype[0].index[51].field[1].name "f.f1s"
-documenttype[0].index[51].field[2].name "f.f2"
-documenttype[0].index[51].field[3].name "f.f3"
-documenttype[0].index[52].name "f.f1"
-documenttype[0].index[52].field[0].name "f.f1"
-documenttype[0].index[53].name "f.f1s"
-documenttype[0].index[53].field[0].name "f.f1s"
-documenttype[0].index[54].name "f.f2"
-documenttype[0].index[54].field[0].name "f.f2"
-documenttype[0].index[55].name "f.f3"
-documenttype[0].index[55].field[0].name "f.f3"
-documenttype[0].index[56].name "g"
-documenttype[0].index[56].field[0].name "g" \ No newline at end of file
+fieldspec[].name "coupleof"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name "normalfields"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name "a.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name "a.f1s"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "substring"
+fieldspec[].name "a.f2"
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].name "a.f3"
+fieldspec[].searchmethod DOUBLE
+fieldspec[].arg1 ""
+fieldspec[].name "m.key"
+fieldspec[].searchmethod INT64
+fieldspec[].arg1 ""
+fieldspec[].name "m.value"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name "b.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name "b.f1s"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "substring"
+fieldspec[].name "b.f2"
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].name "b.f3"
+fieldspec[].searchmethod DOUBLE
+fieldspec[].arg1 ""
+fieldspec[].name "c.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name "c.f1s"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].name "c.f3"
+fieldspec[].searchmethod DOUBLE
+fieldspec[].arg1 ""
+fieldspec[].name "c2.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name "c2.f1s"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "suffix"
+fieldspec[].name "c2.f2"
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].name "c2.f3"
+fieldspec[].searchmethod DOUBLE
+fieldspec[].arg1 ""
+fieldspec[].name "c3.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name "c3.f1s"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].name "c3.f2"
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].name "c3.f3"
+fieldspec[].searchmethod DOUBLE
+fieldspec[].arg1 ""
+fieldspec[].name "n.nf1.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name "n.nf1.f1s"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].name "n.nf1.f3"
+fieldspec[].searchmethod DOUBLE
+fieldspec[].arg1 ""
+fieldspec[].name "n.nf1s.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "substring"
+fieldspec[].name "n.nf1s.f1s"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "substring"
+fieldspec[].name "n.nf1s.f2"
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].name "n.nf1s.f3"
+fieldspec[].searchmethod DOUBLE
+fieldspec[].arg1 ""
+fieldspec[].name "n.nf2"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name "array1.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name "array1.f1s"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "substring"
+fieldspec[].name "array1.f2"
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].name "array1.f3"
+fieldspec[].searchmethod DOUBLE
+fieldspec[].arg1 ""
+fieldspec[].name "array2.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name "array2.f1s"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "substring"
+fieldspec[].name "array2.f2"
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].name "array2.f3"
+fieldspec[].searchmethod DOUBLE
+fieldspec[].arg1 ""
+fieldspec[].name "array3.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name "array3.f1s"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].name "array3.f3"
+fieldspec[].searchmethod DOUBLE
+fieldspec[].arg1 ""
+fieldspec[].name "subject.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+fieldspec[].name "d.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].name "d.f1s"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "prefix"
+fieldspec[].name "d.f2"
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].name "d.f3"
+fieldspec[].searchmethod DOUBLE
+fieldspec[].arg1 ""
+fieldspec[].name "e.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "substring"
+fieldspec[].name "e.f1s"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "substring"
+fieldspec[].name "e.f2"
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].name "e.f3"
+fieldspec[].searchmethod DOUBLE
+fieldspec[].arg1 ""
+fieldspec[].name "f.f1"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "suffix"
+fieldspec[].name "f.f1s"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 "suffix"
+fieldspec[].name "f.f2"
+fieldspec[].searchmethod INT32
+fieldspec[].arg1 ""
+fieldspec[].name "f.f3"
+fieldspec[].searchmethod DOUBLE
+fieldspec[].arg1 ""
+fieldspec[].name "g"
+fieldspec[].searchmethod AUTOUTF8
+fieldspec[].arg1 ""
+documenttype[].name "streamingstruct"
+documenttype[].index[].name "coupleof"
+documenttype[].index[].field[].name "coupleof"
+documenttype[].index[].name "normalfields"
+documenttype[].index[].field[].name "normalfields"
+documenttype[].index[].name "b"
+documenttype[].index[].field[].name "b.f1"
+documenttype[].index[].field[].name "b.f1s"
+documenttype[].index[].field[].name "b.f2"
+documenttype[].index[].field[].name "b.f3"
+documenttype[].index[].name "b.f1"
+documenttype[].index[].field[].name "b.f1"
+documenttype[].index[].name "b.f1s"
+documenttype[].index[].field[].name "b.f1s"
+documenttype[].index[].name "b.f2"
+documenttype[].index[].field[].name "b.f2"
+documenttype[].index[].name "b.f3"
+documenttype[].index[].field[].name "b.f3"
+documenttype[].index[].name "c"
+documenttype[].index[].field[].name "c.f1"
+documenttype[].index[].field[].name "c.f1s"
+documenttype[].index[].field[].name "c.f3"
+documenttype[].index[].name "c.f1"
+documenttype[].index[].field[].name "c.f1"
+documenttype[].index[].name "c.f1s"
+documenttype[].index[].field[].name "c.f1s"
+documenttype[].index[].name "c.f3"
+documenttype[].index[].field[].name "c.f3"
+documenttype[].index[].name "c2"
+documenttype[].index[].field[].name "c2.f1"
+documenttype[].index[].field[].name "c2.f1s"
+documenttype[].index[].field[].name "c2.f2"
+documenttype[].index[].field[].name "c2.f3"
+documenttype[].index[].name "c2.f1"
+documenttype[].index[].field[].name "c2.f1"
+documenttype[].index[].name "c2.f1s"
+documenttype[].index[].field[].name "c2.f1s"
+documenttype[].index[].name "c2.f2"
+documenttype[].index[].field[].name "c2.f2"
+documenttype[].index[].name "c2.f3"
+documenttype[].index[].field[].name "c2.f3"
+documenttype[].index[].name "c3"
+documenttype[].index[].field[].name "c3.f1"
+documenttype[].index[].field[].name "c3.f1s"
+documenttype[].index[].field[].name "c3.f2"
+documenttype[].index[].field[].name "c3.f3"
+documenttype[].index[].name "c3.f1"
+documenttype[].index[].field[].name "c3.f1"
+documenttype[].index[].name "c3.f1s"
+documenttype[].index[].field[].name "c3.f1s"
+documenttype[].index[].name "c3.f2"
+documenttype[].index[].field[].name "c3.f2"
+documenttype[].index[].name "c3.f3"
+documenttype[].index[].field[].name "c3.f3"
+documenttype[].index[].name "n"
+documenttype[].index[].field[].name "n.nf1.f1"
+documenttype[].index[].field[].name "n.nf1.f1s"
+documenttype[].index[].field[].name "n.nf1.f3"
+documenttype[].index[].field[].name "n.nf1s.f1"
+documenttype[].index[].field[].name "n.nf1s.f1s"
+documenttype[].index[].field[].name "n.nf1s.f2"
+documenttype[].index[].field[].name "n.nf1s.f3"
+documenttype[].index[].field[].name "n.nf2"
+documenttype[].index[].name "n.nf1"
+documenttype[].index[].field[].name "n.nf1.f1"
+documenttype[].index[].field[].name "n.nf1.f1s"
+documenttype[].index[].field[].name "n.nf1.f3"
+documenttype[].index[].name "n.nf1.f1"
+documenttype[].index[].field[].name "n.nf1.f1"
+documenttype[].index[].name "n.nf1.f1s"
+documenttype[].index[].field[].name "n.nf1.f1s"
+documenttype[].index[].name "n.nf1.f3"
+documenttype[].index[].field[].name "n.nf1.f3"
+documenttype[].index[].name "n.nf1s"
+documenttype[].index[].field[].name "n.nf1s.f1"
+documenttype[].index[].field[].name "n.nf1s.f1s"
+documenttype[].index[].field[].name "n.nf1s.f2"
+documenttype[].index[].field[].name "n.nf1s.f3"
+documenttype[].index[].name "n.nf1s.f1"
+documenttype[].index[].field[].name "n.nf1s.f1"
+documenttype[].index[].name "n.nf1s.f1s"
+documenttype[].index[].field[].name "n.nf1s.f1s"
+documenttype[].index[].name "n.nf1s.f2"
+documenttype[].index[].field[].name "n.nf1s.f2"
+documenttype[].index[].name "n.nf1s.f3"
+documenttype[].index[].field[].name "n.nf1s.f3"
+documenttype[].index[].name "n.nf2"
+documenttype[].index[].field[].name "n.nf2"
+documenttype[].index[].name "array2"
+documenttype[].index[].field[].name "array2.f1"
+documenttype[].index[].field[].name "array2.f1s"
+documenttype[].index[].field[].name "array2.f2"
+documenttype[].index[].field[].name "array2.f3"
+documenttype[].index[].name "array2.f1"
+documenttype[].index[].field[].name "array2.f1"
+documenttype[].index[].name "array2.f1s"
+documenttype[].index[].field[].name "array2.f1s"
+documenttype[].index[].name "array2.f2"
+documenttype[].index[].field[].name "array2.f2"
+documenttype[].index[].name "array2.f3"
+documenttype[].index[].field[].name "array2.f3"
+documenttype[].index[].name "array3"
+documenttype[].index[].field[].name "array3.f1"
+documenttype[].index[].field[].name "array3.f1s"
+documenttype[].index[].field[].name "array3.f3"
+documenttype[].index[].name "array3.f1"
+documenttype[].index[].field[].name "array3.f1"
+documenttype[].index[].name "array3.f1s"
+documenttype[].index[].field[].name "array3.f1s"
+documenttype[].index[].name "array3.f3"
+documenttype[].index[].field[].name "array3.f3"
+documenttype[].index[].name "d"
+documenttype[].index[].field[].name "d.f1"
+documenttype[].index[].field[].name "d.f1s"
+documenttype[].index[].field[].name "d.f2"
+documenttype[].index[].field[].name "d.f3"
+documenttype[].index[].name "d.f1"
+documenttype[].index[].field[].name "d.f1"
+documenttype[].index[].name "d.f1s"
+documenttype[].index[].field[].name "d.f1s"
+documenttype[].index[].name "d.f2"
+documenttype[].index[].field[].name "d.f2"
+documenttype[].index[].name "d.f3"
+documenttype[].index[].field[].name "d.f3"
+documenttype[].index[].name "e"
+documenttype[].index[].field[].name "e.f1"
+documenttype[].index[].field[].name "e.f1s"
+documenttype[].index[].field[].name "e.f2"
+documenttype[].index[].field[].name "e.f3"
+documenttype[].index[].name "e.f1"
+documenttype[].index[].field[].name "e.f1"
+documenttype[].index[].name "e.f1s"
+documenttype[].index[].field[].name "e.f1s"
+documenttype[].index[].name "e.f2"
+documenttype[].index[].field[].name "e.f2"
+documenttype[].index[].name "e.f3"
+documenttype[].index[].field[].name "e.f3"
+documenttype[].index[].name "f"
+documenttype[].index[].field[].name "f.f1"
+documenttype[].index[].field[].name "f.f1s"
+documenttype[].index[].field[].name "f.f2"
+documenttype[].index[].field[].name "f.f3"
+documenttype[].index[].name "f.f1"
+documenttype[].index[].field[].name "f.f1"
+documenttype[].index[].name "f.f1s"
+documenttype[].index[].field[].name "f.f1s"
+documenttype[].index[].name "f.f2"
+documenttype[].index[].field[].name "f.f2"
+documenttype[].index[].name "f.f3"
+documenttype[].index[].field[].name "f.f3"
+documenttype[].index[].name "g"
+documenttype[].index[].field[].name "g"
diff --git a/config-model/src/test/derived/twostreamingstructs/vsmsummary.cfg b/config-model/src/test/derived/twostreamingstructs/vsmsummary.cfg
index b7a75932f5c..6d41142fb6c 100644
--- a/config-model/src/test/derived/twostreamingstructs/vsmsummary.cfg
+++ b/config-model/src/test/derived/twostreamingstructs/vsmsummary.cfg
@@ -1,83 +1,83 @@
outputclass ""
-fieldmap[0].summary "coupleof"
-fieldmap[0].document[0].field "coupleof"
-fieldmap[0].command NONE
-fieldmap[1].summary "anothersummaryfield"
-fieldmap[1].document[0].field "normalfields"
-fieldmap[1].command NONE
-fieldmap[2].summary "a"
-fieldmap[2].document[0].field "a.f1"
-fieldmap[2].document[1].field "a.f1s"
-fieldmap[2].document[2].field "a.f2"
-fieldmap[2].document[3].field "a.f3"
-fieldmap[2].command NONE
-fieldmap[3].summary "m"
-fieldmap[3].document[0].field "m"
-fieldmap[3].command NONE
-fieldmap[4].summary "b"
-fieldmap[4].document[0].field "b.f1"
-fieldmap[4].document[1].field "b.f1s"
-fieldmap[4].document[2].field "b.f2"
-fieldmap[4].document[3].field "b.f3"
-fieldmap[4].command NONE
-fieldmap[5].summary "c"
-fieldmap[5].document[0].field "c.f1"
-fieldmap[5].document[1].field "c.f1s"
-fieldmap[5].document[2].field "c.f3"
-fieldmap[5].command NONE
-fieldmap[6].summary "c2"
-fieldmap[6].document[0].field "c2.f1"
-fieldmap[6].document[1].field "c2.f1s"
-fieldmap[6].document[2].field "c2.f2"
-fieldmap[6].document[3].field "c2.f3"
-fieldmap[6].command NONE
-fieldmap[7].summary "c3"
-fieldmap[7].document[0].field "c3.f1"
-fieldmap[7].document[1].field "c3.f2"
-fieldmap[7].document[2].field "c3.f3"
-fieldmap[7].command NONE
-fieldmap[8].summary "n"
-fieldmap[8].document[0].field "n.nf1.f1"
-fieldmap[8].document[1].field "n.nf1.f1s"
-fieldmap[8].document[2].field "n.nf1s.f1"
-fieldmap[8].document[3].field "n.nf1s.f1s"
-fieldmap[8].document[4].field "n.nf1s.f2"
-fieldmap[8].document[5].field "n.nf1s.f3"
-fieldmap[8].document[6].field "n.nf2"
-fieldmap[8].command NONE
-fieldmap[9].summary "array1"
-fieldmap[9].document[0].field "array1.f1"
-fieldmap[9].document[1].field "array1.f1s"
-fieldmap[9].document[2].field "array1.f2"
-fieldmap[9].document[3].field "array1.f3"
-fieldmap[9].command NONE
-fieldmap[10].summary "array2"
-fieldmap[10].document[0].field "array2.f1"
-fieldmap[10].document[1].field "array2.f1s"
-fieldmap[10].document[2].field "array2.f2"
-fieldmap[10].document[3].field "array2.f3"
-fieldmap[10].command NONE
-fieldmap[11].summary "array3"
-fieldmap[11].document[0].field "array3.f1"
-fieldmap[11].document[1].field "array3.f1s"
-fieldmap[11].document[2].field "array3.f3"
-fieldmap[11].command NONE
-fieldmap[12].summary "subject"
-fieldmap[12].document[0].field "subject.f1"
-fieldmap[12].command NONE
-fieldmap[13].summary "g"
-fieldmap[13].document[0].field "g"
-fieldmap[13].command FLATTENJUNIPER
-fieldmap[14].summary "rankfeatures"
-fieldmap[14].command NONE
-fieldmap[15].summary "summaryfeatures"
-fieldmap[15].command NONE
-fieldmap[16].summary "snippet"
-fieldmap[16].document[0].field "a.f1"
-fieldmap[16].document[1].field "b.f2"
-fieldmap[16].command FLATTENJUNIPER
-fieldmap[17].summary "snippet2"
-fieldmap[17].document[0].field "a.f1"
-fieldmap[17].document[1].field "b.f1"
-fieldmap[17].document[2].field "b.f2"
-fieldmap[17].command FLATTENSPACE \ No newline at end of file
+fieldmap[].summary "coupleof"
+fieldmap[].document[].field "coupleof"
+fieldmap[].command NONE
+fieldmap[].summary "anothersummaryfield"
+fieldmap[].document[].field "normalfields"
+fieldmap[].command NONE
+fieldmap[].summary "a"
+fieldmap[].document[].field "a.f1"
+fieldmap[].document[].field "a.f1s"
+fieldmap[].document[].field "a.f2"
+fieldmap[].document[].field "a.f3"
+fieldmap[].command NONE
+fieldmap[].summary "m"
+fieldmap[].document[].field "m"
+fieldmap[].command NONE
+fieldmap[].summary "b"
+fieldmap[].document[].field "b.f1"
+fieldmap[].document[].field "b.f1s"
+fieldmap[].document[].field "b.f2"
+fieldmap[].document[].field "b.f3"
+fieldmap[].command NONE
+fieldmap[].summary "c"
+fieldmap[].document[].field "c.f1"
+fieldmap[].document[].field "c.f1s"
+fieldmap[].document[].field "c.f3"
+fieldmap[].command NONE
+fieldmap[].summary "c2"
+fieldmap[].document[].field "c2.f1"
+fieldmap[].document[].field "c2.f1s"
+fieldmap[].document[].field "c2.f2"
+fieldmap[].document[].field "c2.f3"
+fieldmap[].command NONE
+fieldmap[].summary "c3"
+fieldmap[].document[].field "c3.f1"
+fieldmap[].document[].field "c3.f2"
+fieldmap[].document[].field "c3.f3"
+fieldmap[].command NONE
+fieldmap[].summary "n"
+fieldmap[].document[].field "n.nf1.f1"
+fieldmap[].document[].field "n.nf1.f1s"
+fieldmap[].document[].field "n.nf1s.f1"
+fieldmap[].document[].field "n.nf1s.f1s"
+fieldmap[].document[].field "n.nf1s.f2"
+fieldmap[].document[].field "n.nf1s.f3"
+fieldmap[].document[].field "n.nf2"
+fieldmap[].command NONE
+fieldmap[].summary "array1"
+fieldmap[].document[].field "array1.f1"
+fieldmap[].document[].field "array1.f1s"
+fieldmap[].document[].field "array1.f2"
+fieldmap[].document[].field "array1.f3"
+fieldmap[].command NONE
+fieldmap[].summary "array2"
+fieldmap[].document[].field "array2.f1"
+fieldmap[].document[].field "array2.f1s"
+fieldmap[].document[].field "array2.f2"
+fieldmap[].document[].field "array2.f3"
+fieldmap[].command NONE
+fieldmap[].summary "array3"
+fieldmap[].document[].field "array3.f1"
+fieldmap[].document[].field "array3.f1s"
+fieldmap[].document[].field "array3.f3"
+fieldmap[].command NONE
+fieldmap[].summary "subject"
+fieldmap[].document[].field "subject.f1"
+fieldmap[].command NONE
+fieldmap[].summary "g"
+fieldmap[].document[].field "g"
+fieldmap[].command FLATTENJUNIPER
+fieldmap[].summary "rankfeatures"
+fieldmap[].command NONE
+fieldmap[].summary "summaryfeatures"
+fieldmap[].command NONE
+fieldmap[].summary "snippet"
+fieldmap[].document[].field "a.f1"
+fieldmap[].document[].field "b.f2"
+fieldmap[].command FLATTENJUNIPER
+fieldmap[].summary "snippet2"
+fieldmap[].document[].field "a.f1"
+fieldmap[].document[].field "b.f1"
+fieldmap[].document[].field "b.f2"
+fieldmap[].command FLATTENSPACE
diff --git a/config-model/src/test/derived/types/attributes.cfg b/config-model/src/test/derived/types/attributes.cfg
index b173a455dc8..02be8c05c7f 100644
--- a/config-model/src/test/derived/types/attributes.cfg
+++ b/config-model/src/test/derived/types/attributes.cfg
@@ -1,220 +1,220 @@
-attribute[0].name "abyte"
-attribute[0].datatype INT8
-attribute[0].collectiontype SINGLE
-attribute[0].removeifzero false
-attribute[0].createifnonexistent false
-attribute[0].fastsearch false
-attribute[0].huge false
-attribute[0].sortascending true
-attribute[0].sortfunction UCA
-attribute[0].sortstrength PRIMARY
-attribute[0].sortlocale ""
-attribute[0].enablebitvectors false
-attribute[0].enableonlybitvector false
-attribute[0].fastaccess false
-attribute[0].arity 8
-attribute[0].lowerbound -9223372036854775808
-attribute[0].upperbound 9223372036854775807
-attribute[0].densepostinglistthreshold 0.4
-attribute[0].tensortype ""
-attribute[0].imported false
-attribute[1].name "along"
-attribute[1].datatype INT64
-attribute[1].collectiontype SINGLE
-attribute[1].removeifzero false
-attribute[1].createifnonexistent false
-attribute[1].fastsearch false
-attribute[1].huge false
-attribute[1].sortascending true
-attribute[1].sortfunction UCA
-attribute[1].sortstrength PRIMARY
-attribute[1].sortlocale ""
-attribute[1].enablebitvectors false
-attribute[1].enableonlybitvector false
-attribute[1].fastaccess false
-attribute[1].arity 8
-attribute[1].lowerbound -9223372036854775808
-attribute[1].upperbound 9223372036854775807
-attribute[1].densepostinglistthreshold 0.4
-attribute[1].tensortype ""
-attribute[1].imported false
-attribute[2].name "arrayfield"
-attribute[2].datatype INT32
-attribute[2].collectiontype ARRAY
-attribute[2].removeifzero false
-attribute[2].createifnonexistent false
-attribute[2].fastsearch false
-attribute[2].huge false
-attribute[2].sortascending true
-attribute[2].sortfunction UCA
-attribute[2].sortstrength PRIMARY
-attribute[2].sortlocale ""
-attribute[2].enablebitvectors false
-attribute[2].enableonlybitvector false
-attribute[2].fastaccess false
-attribute[2].arity 8
-attribute[2].lowerbound -9223372036854775808
-attribute[2].upperbound 9223372036854775807
-attribute[2].densepostinglistthreshold 0.4
-attribute[2].tensortype ""
-attribute[2].imported false
-attribute[3].name "setfield"
-attribute[3].datatype STRING
-attribute[3].collectiontype WEIGHTEDSET
-attribute[3].removeifzero false
-attribute[3].createifnonexistent false
-attribute[3].fastsearch false
-attribute[3].huge false
-attribute[3].sortascending true
-attribute[3].sortfunction UCA
-attribute[3].sortstrength PRIMARY
-attribute[3].sortlocale ""
-attribute[3].enablebitvectors false
-attribute[3].enableonlybitvector false
-attribute[3].fastaccess false
-attribute[3].arity 8
-attribute[3].lowerbound -9223372036854775808
-attribute[3].upperbound 9223372036854775807
-attribute[3].densepostinglistthreshold 0.4
-attribute[3].tensortype ""
-attribute[3].imported false
-attribute[4].name "setfield2"
-attribute[4].datatype STRING
-attribute[4].collectiontype WEIGHTEDSET
-attribute[4].removeifzero true
-attribute[4].createifnonexistent true
-attribute[4].fastsearch false
-attribute[4].huge false
-attribute[4].sortascending true
-attribute[4].sortfunction UCA
-attribute[4].sortstrength PRIMARY
-attribute[4].sortlocale ""
-attribute[4].enablebitvectors false
-attribute[4].enableonlybitvector false
-attribute[4].fastaccess false
-attribute[4].arity 8
-attribute[4].lowerbound -9223372036854775808
-attribute[4].upperbound 9223372036854775807
-attribute[4].densepostinglistthreshold 0.4
-attribute[4].tensortype ""
-attribute[4].imported false
-attribute[5].name "setfield3"
-attribute[5].datatype STRING
-attribute[5].collectiontype WEIGHTEDSET
-attribute[5].removeifzero true
-attribute[5].createifnonexistent false
-attribute[5].fastsearch false
-attribute[5].huge false
-attribute[5].sortascending true
-attribute[5].sortfunction UCA
-attribute[5].sortstrength PRIMARY
-attribute[5].sortlocale ""
-attribute[5].enablebitvectors false
-attribute[5].enableonlybitvector false
-attribute[5].fastaccess false
-attribute[5].arity 8
-attribute[5].lowerbound -9223372036854775808
-attribute[5].upperbound 9223372036854775807
-attribute[5].densepostinglistthreshold 0.4
-attribute[5].tensortype ""
-attribute[5].imported false
-attribute[6].name "setfield4"
-attribute[6].datatype STRING
-attribute[6].collectiontype WEIGHTEDSET
-attribute[6].removeifzero false
-attribute[6].createifnonexistent true
-attribute[6].fastsearch false
-attribute[6].huge false
-attribute[6].sortascending true
-attribute[6].sortfunction UCA
-attribute[6].sortstrength PRIMARY
-attribute[6].sortlocale ""
-attribute[6].enablebitvectors false
-attribute[6].enableonlybitvector false
-attribute[6].fastaccess false
-attribute[6].arity 8
-attribute[6].lowerbound -9223372036854775808
-attribute[6].upperbound 9223372036854775807
-attribute[6].densepostinglistthreshold 0.4
-attribute[6].tensortype ""
-attribute[6].imported false
-attribute[7].name "tagfield"
-attribute[7].datatype STRING
-attribute[7].collectiontype WEIGHTEDSET
-attribute[7].removeifzero true
-attribute[7].createifnonexistent true
-attribute[7].fastsearch false
-attribute[7].huge false
-attribute[7].sortascending true
-attribute[7].sortfunction UCA
-attribute[7].sortstrength PRIMARY
-attribute[7].sortlocale ""
-attribute[7].enablebitvectors false
-attribute[7].enableonlybitvector false
-attribute[7].fastaccess false
-attribute[7].arity 8
-attribute[7].lowerbound -9223372036854775808
-attribute[7].upperbound 9223372036854775807
-attribute[7].densepostinglistthreshold 0.4
-attribute[7].tensortype ""
-attribute[7].imported false
-attribute[8].name "juletre"
-attribute[8].datatype INT64
-attribute[8].collectiontype SINGLE
-attribute[8].removeifzero false
-attribute[8].createifnonexistent false
-attribute[8].fastsearch true
-attribute[8].huge false
-attribute[8].sortascending true
-attribute[8].sortfunction UCA
-attribute[8].sortstrength PRIMARY
-attribute[8].sortlocale ""
-attribute[8].enablebitvectors false
-attribute[8].enableonlybitvector false
-attribute[8].fastaccess false
-attribute[8].arity 8
-attribute[8].lowerbound -9223372036854775808
-attribute[8].upperbound 9223372036854775807
-attribute[8].densepostinglistthreshold 0.4
-attribute[8].tensortype ""
-attribute[8].imported false
-attribute[9].name "album1"
-attribute[9].datatype STRING
-attribute[9].collectiontype WEIGHTEDSET
-attribute[9].removeifzero true
-attribute[9].createifnonexistent true
-attribute[9].fastsearch false
-attribute[9].huge false
-attribute[9].sortascending true
-attribute[9].sortfunction UCA
-attribute[9].sortstrength PRIMARY
-attribute[9].sortlocale ""
-attribute[9].enablebitvectors false
-attribute[9].enableonlybitvector false
-attribute[9].fastaccess false
-attribute[9].arity 8
-attribute[9].lowerbound -9223372036854775808
-attribute[9].upperbound 9223372036854775807
-attribute[9].densepostinglistthreshold 0.4
-attribute[9].tensortype ""
-attribute[9].imported false
-attribute[10].name "other"
-attribute[10].datatype INT64
-attribute[10].collectiontype SINGLE
-attribute[10].removeifzero false
-attribute[10].createifnonexistent false
-attribute[10].fastsearch false
-attribute[10].huge false
-attribute[10].sortascending true
-attribute[10].sortfunction UCA
-attribute[10].sortstrength PRIMARY
-attribute[10].sortlocale ""
-attribute[10].enablebitvectors false
-attribute[10].enableonlybitvector false
-attribute[10].fastaccess false
-attribute[10].arity 8
-attribute[10].lowerbound -9223372036854775808
-attribute[10].upperbound 9223372036854775807
-attribute[10].densepostinglistthreshold 0.4
-attribute[10].tensortype ""
-attribute[10].imported false \ No newline at end of file
+attribute[].name "abyte"
+attribute[].datatype INT8
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "along"
+attribute[].datatype INT64
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "arrayfield"
+attribute[].datatype INT32
+attribute[].collectiontype ARRAY
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "setfield"
+attribute[].datatype STRING
+attribute[].collectiontype WEIGHTEDSET
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "setfield2"
+attribute[].datatype STRING
+attribute[].collectiontype WEIGHTEDSET
+attribute[].removeifzero true
+attribute[].createifnonexistent true
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "setfield3"
+attribute[].datatype STRING
+attribute[].collectiontype WEIGHTEDSET
+attribute[].removeifzero true
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "setfield4"
+attribute[].datatype STRING
+attribute[].collectiontype WEIGHTEDSET
+attribute[].removeifzero false
+attribute[].createifnonexistent true
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "tagfield"
+attribute[].datatype STRING
+attribute[].collectiontype WEIGHTEDSET
+attribute[].removeifzero true
+attribute[].createifnonexistent true
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "juletre"
+attribute[].datatype INT64
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch true
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "album1"
+attribute[].datatype STRING
+attribute[].collectiontype WEIGHTEDSET
+attribute[].removeifzero true
+attribute[].createifnonexistent true
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].name "other"
+attribute[].datatype INT64
+attribute[].collectiontype SINGLE
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
diff --git a/config-model/src/test/derived/types/documentmanager.cfg b/config-model/src/test/derived/types/documentmanager.cfg
index ca9a300ad9c..26fae34c04f 100644
--- a/config-model/src/test/derived/types/documentmanager.cfg
+++ b/config-model/src/test/derived/types/documentmanager.cfg
@@ -1,259 +1,259 @@
enablecompression false
-datatype[0].id 1381038251
-datatype[0].structtype[0].name "position"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype NONE
-datatype[0].structtype[0].compresslevel 0
-datatype[0].structtype[0].compressthreshold 95
-datatype[0].structtype[0].compressminsize 800
-datatype[0].structtype[0].field[0].name "x"
-datatype[0].structtype[0].field[0].datatype 0
-datatype[0].structtype[0].field[0].detailedtype ""
-datatype[0].structtype[0].field[1].name "y"
-datatype[0].structtype[0].field[1].datatype 0
-datatype[0].structtype[0].field[1].detailedtype ""
-datatype[1].id -1865479609
-datatype[1].maptype[0].keytype 2
-datatype[1].maptype[0].valtype 4
-datatype[2].id 294108848
-datatype[2].structtype[0].name "folder"
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].compresstype NONE
-datatype[2].structtype[0].compresslevel 0
-datatype[2].structtype[0].compressthreshold 95
-datatype[2].structtype[0].compressminsize 800
-datatype[2].structtype[0].field[0].name "Version"
-datatype[2].structtype[0].field[0].datatype 0
-datatype[2].structtype[0].field[0].detailedtype ""
-datatype[2].structtype[0].field[1].name "Name"
-datatype[2].structtype[0].field[1].datatype 2
-datatype[2].structtype[0].field[1].detailedtype ""
-datatype[2].structtype[0].field[2].name "FlagsCounter"
-datatype[2].structtype[0].field[2].datatype -1865479609
-datatype[2].structtype[0].field[2].detailedtype ""
-datatype[2].structtype[0].field[3].name "anotherfolder"
-datatype[2].structtype[0].field[3].datatype 294108848
-datatype[2].structtype[0].field[3].detailedtype ""
-datatype[3].id 109267174
-datatype[3].structtype[0].name "sct"
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].compresstype NONE
-datatype[3].structtype[0].compresslevel 0
-datatype[3].structtype[0].compressthreshold 95
-datatype[3].structtype[0].compressminsize 800
-datatype[3].structtype[0].field[0].name "s1"
-datatype[3].structtype[0].field[0].datatype 2
-datatype[3].structtype[0].field[0].detailedtype ""
-datatype[3].structtype[0].field[1].name "s2"
-datatype[3].structtype[0].field[1].datatype 2
-datatype[3].structtype[0].field[1].detailedtype ""
-datatype[4].id 49942803
-datatype[4].arraytype[0].datatype 16
-datatype[5].id 339965458
-datatype[5].maptype[0].keytype 2
-datatype[5].maptype[0].valtype 2
-datatype[6].id -2092985853
-datatype[6].structtype[0].name "mystruct"
-datatype[6].structtype[0].version 0
-datatype[6].structtype[0].compresstype NONE
-datatype[6].structtype[0].compresslevel 0
-datatype[6].structtype[0].compressthreshold 95
-datatype[6].structtype[0].compressminsize 800
-datatype[6].structtype[0].field[0].name "bytearr"
-datatype[6].structtype[0].field[0].datatype 49942803
-datatype[6].structtype[0].field[0].detailedtype ""
-datatype[6].structtype[0].field[1].name "mymap"
-datatype[6].structtype[0].field[1].datatype 339965458
-datatype[6].structtype[0].field[1].detailedtype ""
-datatype[6].structtype[0].field[2].name "title"
-datatype[6].structtype[0].field[2].datatype 2
-datatype[6].structtype[0].field[2].detailedtype ""
-datatype[6].structtype[0].field[3].name "structfield"
-datatype[6].structtype[0].field[3].datatype 2
-datatype[6].structtype[0].field[3].detailedtype ""
-datatype[7].id -1245117006
-datatype[7].arraytype[0].datatype 0
-datatype[8].id 1328286588
-datatype[8].weightedsettype[0].datatype 2
-datatype[8].weightedsettype[0].createifnonexistant false
-datatype[8].weightedsettype[0].removeifzero false
-datatype[9].id 2125328771
-datatype[9].weightedsettype[0].datatype 2
-datatype[9].weightedsettype[0].createifnonexistant false
-datatype[9].weightedsettype[0].removeifzero true
-datatype[10].id 2065577986
-datatype[10].weightedsettype[0].datatype 2
-datatype[10].weightedsettype[0].createifnonexistant true
-datatype[10].weightedsettype[0].removeifzero false
-datatype[11].id -1244829667
-datatype[11].arraytype[0].datatype 109267174
-datatype[12].id -1584287606
-datatype[12].maptype[0].keytype 2
-datatype[12].maptype[0].valtype 0
-datatype[13].id 2125154557
-datatype[13].maptype[0].keytype 2
-datatype[13].maptype[0].valtype 1
-datatype[14].id -1715531035
-datatype[14].maptype[0].keytype 0
-datatype[14].maptype[0].valtype 4
-datatype[15].id 2138385264
-datatype[15].maptype[0].keytype 0
-datatype[15].maptype[0].valtype 5
-datatype[16].id 435886609
-datatype[16].maptype[0].keytype 2
-datatype[16].maptype[0].valtype -1245117006
-datatype[17].id -1486737430
-datatype[17].arraytype[0].datatype 2
-datatype[18].id 1707615575
-datatype[18].arraytype[0].datatype -1486737430
-datatype[19].id -794985308
-datatype[19].arraytype[0].datatype 1707615575
-datatype[20].id 69621385
-datatype[20].arraytype[0].datatype 339965458
-datatype[21].id 1901258752
-datatype[21].maptype[0].keytype 0
-datatype[21].maptype[0].valtype -2092985853
-datatype[22].id 759956026
-datatype[22].arraytype[0].datatype -2092985853
-datatype[23].id -389833101
-datatype[23].maptype[0].keytype 0
-datatype[23].maptype[0].valtype 294108848
-datatype[24].id 1328581348
-datatype[24].structtype[0].name "types.header"
-datatype[24].structtype[0].version 0
-datatype[24].structtype[0].compresstype NONE
-datatype[24].structtype[0].compresslevel 0
-datatype[24].structtype[0].compressthreshold 95
-datatype[24].structtype[0].compressminsize 800
-datatype[24].structtype[0].field[0].name "abyte"
-datatype[24].structtype[0].field[0].datatype 16
-datatype[24].structtype[0].field[0].detailedtype ""
-datatype[24].structtype[0].field[1].name "along"
-datatype[24].structtype[0].field[1].datatype 4
-datatype[24].structtype[0].field[1].detailedtype ""
-datatype[24].structtype[0].field[2].name "arrayfield"
-datatype[24].structtype[0].field[2].datatype -1245117006
-datatype[24].structtype[0].field[2].detailedtype ""
-datatype[24].structtype[0].field[3].name "setfield"
-datatype[24].structtype[0].field[3].datatype 1328286588
-datatype[24].structtype[0].field[3].detailedtype ""
-datatype[24].structtype[0].field[4].name "setfield2"
-datatype[24].structtype[0].field[4].datatype 18
-datatype[24].structtype[0].field[4].detailedtype ""
-datatype[24].structtype[0].field[5].name "setfield3"
-datatype[24].structtype[0].field[5].datatype 2125328771
-datatype[24].structtype[0].field[5].detailedtype ""
-datatype[24].structtype[0].field[6].name "setfield4"
-datatype[24].structtype[0].field[6].datatype 2065577986
-datatype[24].structtype[0].field[6].detailedtype ""
-datatype[24].structtype[0].field[7].name "tagfield"
-datatype[24].structtype[0].field[7].datatype 18
-datatype[24].structtype[0].field[7].detailedtype ""
-datatype[24].structtype[0].field[8].name "structfield"
-datatype[24].structtype[0].field[8].datatype 109267174
-datatype[24].structtype[0].field[8].detailedtype ""
-datatype[24].structtype[0].field[9].name "structarrayfield"
-datatype[24].structtype[0].field[9].datatype -1244829667
-datatype[24].structtype[0].field[9].detailedtype ""
-datatype[24].structtype[0].field[10].name "stringmapfield"
-datatype[24].structtype[0].field[10].datatype 339965458
-datatype[24].structtype[0].field[10].detailedtype ""
-datatype[24].structtype[0].field[11].name "intmapfield"
-datatype[24].structtype[0].field[11].datatype -1584287606
-datatype[24].structtype[0].field[11].detailedtype ""
-datatype[24].structtype[0].field[12].name "floatmapfield"
-datatype[24].structtype[0].field[12].datatype 2125154557
-datatype[24].structtype[0].field[12].detailedtype ""
-datatype[24].structtype[0].field[13].name "longmapfield"
-datatype[24].structtype[0].field[13].datatype -1715531035
-datatype[24].structtype[0].field[13].detailedtype ""
-datatype[24].structtype[0].field[14].name "doublemapfield"
-datatype[24].structtype[0].field[14].datatype 2138385264
-datatype[24].structtype[0].field[14].detailedtype ""
-datatype[24].structtype[0].field[15].name "arraymapfield"
-datatype[24].structtype[0].field[15].datatype 435886609
-datatype[24].structtype[0].field[15].detailedtype ""
-datatype[24].structtype[0].field[16].name "arrarr"
-datatype[24].structtype[0].field[16].datatype -794985308
-datatype[24].structtype[0].field[16].detailedtype ""
-datatype[24].structtype[0].field[17].name "maparr"
-datatype[24].structtype[0].field[17].datatype 69621385
-datatype[24].structtype[0].field[17].detailedtype ""
-datatype[24].structtype[0].field[18].name "mystructfield"
-datatype[24].structtype[0].field[18].datatype -2092985853
-datatype[24].structtype[0].field[18].detailedtype ""
-datatype[24].structtype[0].field[19].name "mystructmap"
-datatype[24].structtype[0].field[19].datatype 1901258752
-datatype[24].structtype[0].field[19].detailedtype ""
-datatype[24].structtype[0].field[20].name "mystructarr"
-datatype[24].structtype[0].field[20].datatype 759956026
-datatype[24].structtype[0].field[20].detailedtype ""
-datatype[24].structtype[0].field[21].name "Folders"
-datatype[24].structtype[0].field[21].datatype -389833101
-datatype[24].structtype[0].field[21].detailedtype ""
-datatype[24].structtype[0].field[22].name "juletre"
-datatype[24].structtype[0].field[22].datatype 4
-datatype[24].structtype[0].field[22].detailedtype ""
-datatype[24].structtype[0].field[23].name "album0"
-datatype[24].structtype[0].field[23].datatype 18
-datatype[24].structtype[0].field[23].detailedtype ""
-datatype[24].structtype[0].field[24].name "album1"
-datatype[24].structtype[0].field[24].datatype 18
-datatype[24].structtype[0].field[24].detailedtype ""
-datatype[24].structtype[0].field[25].name "other"
-datatype[24].structtype[0].field[25].datatype 4
-datatype[24].structtype[0].field[25].detailedtype ""
-datatype[24].structtype[0].field[26].name "rankfeatures"
-datatype[24].structtype[0].field[26].datatype 2
-datatype[24].structtype[0].field[26].detailedtype ""
-datatype[24].structtype[0].field[27].name "summaryfeatures"
-datatype[24].structtype[0].field[27].datatype 2
-datatype[24].structtype[0].field[27].detailedtype ""
-datatype[25].id 171503364
-datatype[25].maptype[0].keytype 1707615575
-datatype[25].maptype[0].valtype 0
-datatype[26].id 1100964733
-datatype[26].arraytype[0].datatype 171503364
-datatype[27].id 348447225
-datatype[27].structtype[0].name "types.body"
-datatype[27].structtype[0].version 0
-datatype[27].structtype[0].compresstype NONE
-datatype[27].structtype[0].compresslevel 0
-datatype[27].structtype[0].compressthreshold 95
-datatype[27].structtype[0].compressminsize 800
-datatype[27].structtype[0].field[0].name "complexarray"
-datatype[27].structtype[0].field[0].datatype 1100964733
-datatype[27].structtype[0].field[0].detailedtype ""
-datatype[28].id -853072901
-datatype[28].documenttype[0].name "types"
-datatype[28].documenttype[0].version 0
-datatype[28].documenttype[0].inherits[0].name "document"
-datatype[28].documenttype[0].inherits[0].version 0
-datatype[28].documenttype[0].headerstruct 1328581348
-datatype[28].documenttype[0].bodystruct 348447225
-datatype[28].documenttype[0].fieldsets{[document]}.fields[0] "Folders"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[1] "abyte"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[2] "album0"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[3] "album1"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[4] "along"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[5] "arrarr"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[6] "arrayfield"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[7] "arraymapfield"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[8] "complexarray"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[9] "doublemapfield"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[10] "floatmapfield"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[11] "intmapfield"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[12] "juletre"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[13] "longmapfield"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[14] "maparr"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[15] "mystructarr"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[16] "mystructfield"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[17] "mystructmap"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[18] "setfield"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[19] "setfield2"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[20] "setfield3"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[21] "setfield4"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[22] "stringmapfield"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[23] "structarrayfield"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[24] "structfield"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[25] "tagfield"
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -1865479609
+datatype[].maptype[].keytype 2
+datatype[].maptype[].valtype 4
+datatype[].id 294108848
+datatype[].structtype[].name "folder"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "Version"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "Name"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "FlagsCounter"
+datatype[].structtype[].field[].datatype -1865479609
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "anotherfolder"
+datatype[].structtype[].field[].datatype 294108848
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 109267174
+datatype[].structtype[].name "sct"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "s1"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "s2"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 49942803
+datatype[].arraytype[].datatype 16
+datatype[].id 339965458
+datatype[].maptype[].keytype 2
+datatype[].maptype[].valtype 2
+datatype[].id -2092985853
+datatype[].structtype[].name "mystruct"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "bytearr"
+datatype[].structtype[].field[].datatype 49942803
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "mymap"
+datatype[].structtype[].field[].datatype 339965458
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "title"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "structfield"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -1245117006
+datatype[].arraytype[].datatype 0
+datatype[].id 1328286588
+datatype[].weightedsettype[].datatype 2
+datatype[].weightedsettype[].createifnonexistant false
+datatype[].weightedsettype[].removeifzero false
+datatype[].id 2125328771
+datatype[].weightedsettype[].datatype 2
+datatype[].weightedsettype[].createifnonexistant false
+datatype[].weightedsettype[].removeifzero true
+datatype[].id 2065577986
+datatype[].weightedsettype[].datatype 2
+datatype[].weightedsettype[].createifnonexistant true
+datatype[].weightedsettype[].removeifzero false
+datatype[].id -1244829667
+datatype[].arraytype[].datatype 109267174
+datatype[].id -1584287606
+datatype[].maptype[].keytype 2
+datatype[].maptype[].valtype 0
+datatype[].id 2125154557
+datatype[].maptype[].keytype 2
+datatype[].maptype[].valtype 1
+datatype[].id -1715531035
+datatype[].maptype[].keytype 0
+datatype[].maptype[].valtype 4
+datatype[].id 2138385264
+datatype[].maptype[].keytype 0
+datatype[].maptype[].valtype 5
+datatype[].id 435886609
+datatype[].maptype[].keytype 2
+datatype[].maptype[].valtype -1245117006
+datatype[].id -1486737430
+datatype[].arraytype[].datatype 2
+datatype[].id 1707615575
+datatype[].arraytype[].datatype -1486737430
+datatype[].id -794985308
+datatype[].arraytype[].datatype 1707615575
+datatype[].id 69621385
+datatype[].arraytype[].datatype 339965458
+datatype[].id 1901258752
+datatype[].maptype[].keytype 0
+datatype[].maptype[].valtype -2092985853
+datatype[].id 759956026
+datatype[].arraytype[].datatype -2092985853
+datatype[].id -389833101
+datatype[].maptype[].keytype 0
+datatype[].maptype[].valtype 294108848
+datatype[].id 1328581348
+datatype[].structtype[].name "types.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "abyte"
+datatype[].structtype[].field[].datatype 16
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "along"
+datatype[].structtype[].field[].datatype 4
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "arrayfield"
+datatype[].structtype[].field[].datatype -1245117006
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "setfield"
+datatype[].structtype[].field[].datatype 1328286588
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "setfield2"
+datatype[].structtype[].field[].datatype 18
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "setfield3"
+datatype[].structtype[].field[].datatype 2125328771
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "setfield4"
+datatype[].structtype[].field[].datatype 2065577986
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "tagfield"
+datatype[].structtype[].field[].datatype 18
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "structfield"
+datatype[].structtype[].field[].datatype 109267174
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "structarrayfield"
+datatype[].structtype[].field[].datatype -1244829667
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "stringmapfield"
+datatype[].structtype[].field[].datatype 339965458
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "intmapfield"
+datatype[].structtype[].field[].datatype -1584287606
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "floatmapfield"
+datatype[].structtype[].field[].datatype 2125154557
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "longmapfield"
+datatype[].structtype[].field[].datatype -1715531035
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "doublemapfield"
+datatype[].structtype[].field[].datatype 2138385264
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "arraymapfield"
+datatype[].structtype[].field[].datatype 435886609
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "arrarr"
+datatype[].structtype[].field[].datatype -794985308
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "maparr"
+datatype[].structtype[].field[].datatype 69621385
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "mystructfield"
+datatype[].structtype[].field[].datatype -2092985853
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "mystructmap"
+datatype[].structtype[].field[].datatype 1901258752
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "mystructarr"
+datatype[].structtype[].field[].datatype 759956026
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "Folders"
+datatype[].structtype[].field[].datatype -389833101
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "juletre"
+datatype[].structtype[].field[].datatype 4
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "album0"
+datatype[].structtype[].field[].datatype 18
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "album1"
+datatype[].structtype[].field[].datatype 18
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "other"
+datatype[].structtype[].field[].datatype 4
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "rankfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "summaryfeatures"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 171503364
+datatype[].maptype[].keytype 1707615575
+datatype[].maptype[].valtype 0
+datatype[].id 1100964733
+datatype[].arraytype[].datatype 171503364
+datatype[].id 348447225
+datatype[].structtype[].name "types.body"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "complexarray"
+datatype[].structtype[].field[].datatype 1100964733
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id -853072901
+datatype[].documenttype[].name "types"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 1328581348
+datatype[].documenttype[].bodystruct 348447225
+datatype[].documenttype[].fieldsets{[document]}.fields[0] "Folders"
+datatype[].documenttype[].fieldsets{[document]}.fields[1] "abyte"
+datatype[].documenttype[].fieldsets{[document]}.fields[2] "album0"
+datatype[].documenttype[].fieldsets{[document]}.fields[3] "album1"
+datatype[].documenttype[].fieldsets{[document]}.fields[4] "along"
+datatype[].documenttype[].fieldsets{[document]}.fields[5] "arrarr"
+datatype[].documenttype[].fieldsets{[document]}.fields[6] "arrayfield"
+datatype[].documenttype[].fieldsets{[document]}.fields[7] "arraymapfield"
+datatype[].documenttype[].fieldsets{[document]}.fields[8] "complexarray"
+datatype[].documenttype[].fieldsets{[document]}.fields[9] "doublemapfield"
+datatype[].documenttype[].fieldsets{[document]}.fields[10] "floatmapfield"
+datatype[].documenttype[].fieldsets{[document]}.fields[11] "intmapfield"
+datatype[].documenttype[].fieldsets{[document]}.fields[12] "juletre"
+datatype[].documenttype[].fieldsets{[document]}.fields[13] "longmapfield"
+datatype[].documenttype[].fieldsets{[document]}.fields[14] "maparr"
+datatype[].documenttype[].fieldsets{[document]}.fields[15] "mystructarr"
+datatype[].documenttype[].fieldsets{[document]}.fields[16] "mystructfield"
+datatype[].documenttype[].fieldsets{[document]}.fields[17] "mystructmap"
+datatype[].documenttype[].fieldsets{[document]}.fields[18] "setfield"
+datatype[].documenttype[].fieldsets{[document]}.fields[19] "setfield2"
+datatype[].documenttype[].fieldsets{[document]}.fields[20] "setfield3"
+datatype[].documenttype[].fieldsets{[document]}.fields[21] "setfield4"
+datatype[].documenttype[].fieldsets{[document]}.fields[22] "stringmapfield"
+datatype[].documenttype[].fieldsets{[document]}.fields[23] "structarrayfield"
+datatype[].documenttype[].fieldsets{[document]}.fields[24] "structfield"
+datatype[].documenttype[].fieldsets{[document]}.fields[25] "tagfield"
diff --git a/config-model/src/test/derived/types/ilscripts.cfg b/config-model/src/test/derived/types/ilscripts.cfg
index 108fd0ca830..0ae5570f680 100644
--- a/config-model/src/test/derived/types/ilscripts.cfg
+++ b/config-model/src/test/derived/types/ilscripts.cfg
@@ -1,56 +1,56 @@
maxtermoccurrences 100
fieldmatchmaxlength 1000000
-ilscript[0].doctype "types"
-ilscript[0].docfield[0] "abyte"
-ilscript[0].docfield[1] "along"
-ilscript[0].docfield[2] "arrayfield"
-ilscript[0].docfield[3] "setfield"
-ilscript[0].docfield[4] "setfield2"
-ilscript[0].docfield[5] "setfield3"
-ilscript[0].docfield[6] "setfield4"
-ilscript[0].docfield[7] "tagfield"
-ilscript[0].docfield[8] "structfield"
-ilscript[0].docfield[9] "structarrayfield"
-ilscript[0].docfield[10] "stringmapfield"
-ilscript[0].docfield[11] "intmapfield"
-ilscript[0].docfield[12] "floatmapfield"
-ilscript[0].docfield[13] "longmapfield"
-ilscript[0].docfield[14] "doublemapfield"
-ilscript[0].docfield[15] "arraymapfield"
-ilscript[0].docfield[16] "arrarr"
-ilscript[0].docfield[17] "maparr"
-ilscript[0].docfield[18] "mystructfield"
-ilscript[0].docfield[19] "mystructmap"
-ilscript[0].docfield[20] "mystructarr"
-ilscript[0].docfield[21] "Folders"
-ilscript[0].docfield[22] "juletre"
-ilscript[0].docfield[23] "album0"
-ilscript[0].docfield[24] "album1"
-ilscript[0].docfield[25] "complexarray"
-ilscript[0].content[0] "clear_state | guard { input along | attribute other; }"
-ilscript[0].content[1] "clear_state | guard { input abyte | summary abyte | attribute abyte; }"
-ilscript[0].content[2] "clear_state | guard { input along | summary along | attribute along; }"
-ilscript[0].content[3] "clear_state | guard { input arrayfield | attribute arrayfield; }"
-ilscript[0].content[4] "clear_state | guard { input setfield | attribute setfield; }"
-ilscript[0].content[5] "clear_state | guard { input setfield2 | attribute setfield2; }"
-ilscript[0].content[6] "clear_state | guard { input setfield3 | attribute setfield3; }"
-ilscript[0].content[7] "clear_state | guard { input setfield4 | attribute setfield4; }"
-ilscript[0].content[8] "clear_state | guard { input tagfield | attribute tagfield | summary tagfield; }"
-ilscript[0].content[9] "clear_state | guard { input juletre | attribute juletre; }"
-ilscript[0].content[10] "clear_state | guard { input album0 | summary album0; }"
-ilscript[0].content[11] "clear_state | guard { input album1 | attribute album1 | summary album1; }"
-ilscript[0].content[12] "input Folders | passthrough Folders"
-ilscript[0].content[13] "input arrarr | passthrough arrarr"
-ilscript[0].content[14] "input arraymapfield | passthrough arraymapfield"
-ilscript[0].content[15] "input complexarray | passthrough complexarray"
-ilscript[0].content[16] "input doublemapfield | passthrough doublemapfield"
-ilscript[0].content[17] "input floatmapfield | passthrough floatmapfield"
-ilscript[0].content[18] "input intmapfield | passthrough intmapfield"
-ilscript[0].content[19] "input longmapfield | passthrough longmapfield"
-ilscript[0].content[20] "input maparr | passthrough maparr"
-ilscript[0].content[21] "input mystructarr | passthrough mystructarr"
-ilscript[0].content[22] "input mystructfield | passthrough mystructfield"
-ilscript[0].content[23] "input mystructmap | passthrough mystructmap"
-ilscript[0].content[24] "input stringmapfield | passthrough stringmapfield"
-ilscript[0].content[25] "input structarrayfield | passthrough structarrayfield"
-ilscript[0].content[26] "input structfield | passthrough structfield"
+ilscript[].doctype "types"
+ilscript[].docfield[0] "abyte"
+ilscript[].docfield[1] "along"
+ilscript[].docfield[2] "arrayfield"
+ilscript[].docfield[3] "setfield"
+ilscript[].docfield[4] "setfield2"
+ilscript[].docfield[5] "setfield3"
+ilscript[].docfield[6] "setfield4"
+ilscript[].docfield[7] "tagfield"
+ilscript[].docfield[8] "structfield"
+ilscript[].docfield[9] "structarrayfield"
+ilscript[].docfield[10] "stringmapfield"
+ilscript[].docfield[11] "intmapfield"
+ilscript[].docfield[12] "floatmapfield"
+ilscript[].docfield[13] "longmapfield"
+ilscript[].docfield[14] "doublemapfield"
+ilscript[].docfield[15] "arraymapfield"
+ilscript[].docfield[16] "arrarr"
+ilscript[].docfield[17] "maparr"
+ilscript[].docfield[18] "mystructfield"
+ilscript[].docfield[19] "mystructmap"
+ilscript[].docfield[20] "mystructarr"
+ilscript[].docfield[21] "Folders"
+ilscript[].docfield[22] "juletre"
+ilscript[].docfield[23] "album0"
+ilscript[].docfield[24] "album1"
+ilscript[].docfield[25] "complexarray"
+ilscript[].content[0] "clear_state | guard { input along | attribute other; }"
+ilscript[].content[1] "clear_state | guard { input abyte | summary abyte | attribute abyte; }"
+ilscript[].content[2] "clear_state | guard { input along | summary along | attribute along; }"
+ilscript[].content[3] "clear_state | guard { input arrayfield | attribute arrayfield; }"
+ilscript[].content[4] "clear_state | guard { input setfield | attribute setfield; }"
+ilscript[].content[5] "clear_state | guard { input setfield2 | attribute setfield2; }"
+ilscript[].content[6] "clear_state | guard { input setfield3 | attribute setfield3; }"
+ilscript[].content[7] "clear_state | guard { input setfield4 | attribute setfield4; }"
+ilscript[].content[8] "clear_state | guard { input tagfield | attribute tagfield | summary tagfield; }"
+ilscript[].content[9] "clear_state | guard { input juletre | attribute juletre; }"
+ilscript[].content[10] "clear_state | guard { input album0 | summary album0; }"
+ilscript[].content[11] "clear_state | guard { input album1 | attribute album1 | summary album1; }"
+ilscript[].content[12] "input Folders | passthrough Folders"
+ilscript[].content[13] "input arrarr | passthrough arrarr"
+ilscript[].content[14] "input arraymapfield | passthrough arraymapfield"
+ilscript[].content[15] "input complexarray | passthrough complexarray"
+ilscript[].content[16] "input doublemapfield | passthrough doublemapfield"
+ilscript[].content[17] "input floatmapfield | passthrough floatmapfield"
+ilscript[].content[18] "input intmapfield | passthrough intmapfield"
+ilscript[].content[19] "input longmapfield | passthrough longmapfield"
+ilscript[].content[20] "input maparr | passthrough maparr"
+ilscript[].content[21] "input mystructarr | passthrough mystructarr"
+ilscript[].content[22] "input mystructfield | passthrough mystructfield"
+ilscript[].content[23] "input mystructmap | passthrough mystructmap"
+ilscript[].content[24] "input stringmapfield | passthrough stringmapfield"
+ilscript[].content[25] "input structarrayfield | passthrough structarrayfield"
+ilscript[].content[26] "input structfield | passthrough structfield"
diff --git a/config-model/src/test/derived/types/index-info.cfg b/config-model/src/test/derived/types/index-info.cfg
index 1a2c5632903..84f6627d282 100644
--- a/config-model/src/test/derived/types/index-info.cfg
+++ b/config-model/src/test/derived/types/index-info.cfg
@@ -1,433 +1,433 @@
-indexinfo[0].name "types"
-indexinfo[0].command[0].indexname "sddocname"
-indexinfo[0].command[0].command "index"
-indexinfo[0].command[1].indexname "sddocname"
-indexinfo[0].command[1].command "word"
-indexinfo[0].command[2].indexname "abyte"
-indexinfo[0].command[2].command "index"
-indexinfo[0].command[3].indexname "abyte"
-indexinfo[0].command[3].command "attribute"
-indexinfo[0].command[4].indexname "abyte"
-indexinfo[0].command[4].command "numerical"
-indexinfo[0].command[5].indexname "along"
-indexinfo[0].command[5].command "index"
-indexinfo[0].command[6].indexname "along"
-indexinfo[0].command[6].command "attribute"
-indexinfo[0].command[7].indexname "along"
-indexinfo[0].command[7].command "numerical"
-indexinfo[0].command[8].indexname "arrayfield"
-indexinfo[0].command[8].command "index"
-indexinfo[0].command[9].indexname "arrayfield"
-indexinfo[0].command[9].command "multivalue"
-indexinfo[0].command[10].indexname "arrayfield"
-indexinfo[0].command[10].command "attribute"
-indexinfo[0].command[11].indexname "setfield"
-indexinfo[0].command[11].command "index"
-indexinfo[0].command[12].indexname "setfield"
-indexinfo[0].command[12].command "multivalue"
-indexinfo[0].command[13].indexname "setfield"
-indexinfo[0].command[13].command "attribute"
-indexinfo[0].command[14].indexname "setfield2"
-indexinfo[0].command[14].command "index"
-indexinfo[0].command[15].indexname "setfield2"
-indexinfo[0].command[15].command "multivalue"
-indexinfo[0].command[16].indexname "setfield2"
-indexinfo[0].command[16].command "attribute"
-indexinfo[0].command[17].indexname "setfield2"
-indexinfo[0].command[17].command "word"
-indexinfo[0].command[18].indexname "setfield3"
-indexinfo[0].command[18].command "index"
-indexinfo[0].command[19].indexname "setfield3"
-indexinfo[0].command[19].command "multivalue"
-indexinfo[0].command[20].indexname "setfield3"
-indexinfo[0].command[20].command "attribute"
-indexinfo[0].command[21].indexname "setfield4"
-indexinfo[0].command[21].command "index"
-indexinfo[0].command[22].indexname "setfield4"
-indexinfo[0].command[22].command "multivalue"
-indexinfo[0].command[23].indexname "setfield4"
-indexinfo[0].command[23].command "attribute"
-indexinfo[0].command[24].indexname "tagfield"
-indexinfo[0].command[24].command "index"
-indexinfo[0].command[25].indexname "tagfield"
-indexinfo[0].command[25].command "multivalue"
-indexinfo[0].command[26].indexname "tagfield"
-indexinfo[0].command[26].command "attribute"
-indexinfo[0].command[27].indexname "structfield.s1"
-indexinfo[0].command[27].command "index"
-indexinfo[0].command[28].indexname "structfield.s2"
-indexinfo[0].command[28].command "index"
-indexinfo[0].command[29].indexname "structfield"
-indexinfo[0].command[29].command "index"
-indexinfo[0].command[30].indexname "structarrayfield.s1"
-indexinfo[0].command[30].command "index"
-indexinfo[0].command[31].indexname "structarrayfield.s2"
-indexinfo[0].command[31].command "index"
-indexinfo[0].command[32].indexname "structarrayfield"
-indexinfo[0].command[32].command "index"
-indexinfo[0].command[33].indexname "structarrayfield"
-indexinfo[0].command[33].command "multivalue"
-indexinfo[0].command[34].indexname "stringmapfield.key"
-indexinfo[0].command[34].command "index"
-indexinfo[0].command[35].indexname "stringmapfield.key"
-indexinfo[0].command[35].command "lowercase"
-indexinfo[0].command[36].indexname "stringmapfield.key"
-indexinfo[0].command[36].command "stem:SHORTEST"
-indexinfo[0].command[37].indexname "stringmapfield.key"
-indexinfo[0].command[37].command "normalize"
-indexinfo[0].command[38].indexname "stringmapfield.key"
-indexinfo[0].command[38].command "plain-tokens"
-indexinfo[0].command[39].indexname "stringmapfield.value"
-indexinfo[0].command[39].command "index"
-indexinfo[0].command[40].indexname "stringmapfield.value"
-indexinfo[0].command[40].command "lowercase"
-indexinfo[0].command[41].indexname "stringmapfield.value"
-indexinfo[0].command[41].command "stem:SHORTEST"
-indexinfo[0].command[42].indexname "stringmapfield.value"
-indexinfo[0].command[42].command "normalize"
-indexinfo[0].command[43].indexname "stringmapfield.value"
-indexinfo[0].command[43].command "plain-tokens"
-indexinfo[0].command[44].indexname "stringmapfield"
-indexinfo[0].command[44].command "index"
-indexinfo[0].command[45].indexname "stringmapfield"
-indexinfo[0].command[45].command "lowercase"
-indexinfo[0].command[46].indexname "stringmapfield"
-indexinfo[0].command[46].command "multivalue"
-indexinfo[0].command[47].indexname "stringmapfield"
-indexinfo[0].command[47].command "plain-tokens"
-indexinfo[0].command[48].indexname "intmapfield.key"
-indexinfo[0].command[48].command "index"
-indexinfo[0].command[49].indexname "intmapfield.value"
-indexinfo[0].command[49].command "index"
-indexinfo[0].command[50].indexname "intmapfield.value"
-indexinfo[0].command[50].command "numerical"
-indexinfo[0].command[51].indexname "intmapfield"
-indexinfo[0].command[51].command "index"
-indexinfo[0].command[52].indexname "intmapfield"
-indexinfo[0].command[52].command "multivalue"
-indexinfo[0].command[53].indexname "floatmapfield.key"
-indexinfo[0].command[53].command "index"
-indexinfo[0].command[54].indexname "floatmapfield.value"
-indexinfo[0].command[54].command "index"
-indexinfo[0].command[55].indexname "floatmapfield.value"
-indexinfo[0].command[55].command "numerical"
-indexinfo[0].command[56].indexname "floatmapfield"
-indexinfo[0].command[56].command "index"
-indexinfo[0].command[57].indexname "floatmapfield"
-indexinfo[0].command[57].command "multivalue"
-indexinfo[0].command[58].indexname "longmapfield.key"
-indexinfo[0].command[58].command "index"
-indexinfo[0].command[59].indexname "longmapfield.key"
-indexinfo[0].command[59].command "numerical"
-indexinfo[0].command[60].indexname "longmapfield.value"
-indexinfo[0].command[60].command "index"
-indexinfo[0].command[61].indexname "longmapfield.value"
-indexinfo[0].command[61].command "numerical"
-indexinfo[0].command[62].indexname "longmapfield"
-indexinfo[0].command[62].command "index"
-indexinfo[0].command[63].indexname "longmapfield"
-indexinfo[0].command[63].command "multivalue"
-indexinfo[0].command[64].indexname "doublemapfield.key"
-indexinfo[0].command[64].command "index"
-indexinfo[0].command[65].indexname "doublemapfield.key"
-indexinfo[0].command[65].command "numerical"
-indexinfo[0].command[66].indexname "doublemapfield.value"
-indexinfo[0].command[66].command "index"
-indexinfo[0].command[67].indexname "doublemapfield.value"
-indexinfo[0].command[67].command "numerical"
-indexinfo[0].command[68].indexname "doublemapfield"
-indexinfo[0].command[68].command "index"
-indexinfo[0].command[69].indexname "doublemapfield"
-indexinfo[0].command[69].command "multivalue"
-indexinfo[0].command[70].indexname "arraymapfield.key"
-indexinfo[0].command[70].command "index"
-indexinfo[0].command[71].indexname "arraymapfield.value"
-indexinfo[0].command[71].command "index"
-indexinfo[0].command[72].indexname "arraymapfield.value"
-indexinfo[0].command[72].command "multivalue"
-indexinfo[0].command[73].indexname "arraymapfield"
-indexinfo[0].command[73].command "index"
-indexinfo[0].command[74].indexname "arraymapfield"
-indexinfo[0].command[74].command "multivalue"
-indexinfo[0].command[75].indexname "arrarr"
-indexinfo[0].command[75].command "index"
-indexinfo[0].command[76].indexname "arrarr"
-indexinfo[0].command[76].command "multivalue"
-indexinfo[0].command[77].indexname "maparr"
-indexinfo[0].command[77].command "index"
-indexinfo[0].command[78].indexname "maparr"
-indexinfo[0].command[78].command "multivalue"
-indexinfo[0].command[79].indexname "mystructfield.bytearr"
-indexinfo[0].command[79].command "index"
-indexinfo[0].command[80].indexname "mystructfield.bytearr"
-indexinfo[0].command[80].command "multivalue"
-indexinfo[0].command[81].indexname "mystructfield.mymap.key"
-indexinfo[0].command[81].command "index"
-indexinfo[0].command[82].indexname "mystructfield.mymap.value"
-indexinfo[0].command[82].command "index"
-indexinfo[0].command[83].indexname "mystructfield.mymap"
-indexinfo[0].command[83].command "index"
-indexinfo[0].command[84].indexname "mystructfield.mymap"
-indexinfo[0].command[84].command "multivalue"
-indexinfo[0].command[85].indexname "mystructfield.title"
-indexinfo[0].command[85].command "index"
-indexinfo[0].command[86].indexname "mystructfield.structfield"
-indexinfo[0].command[86].command "index"
-indexinfo[0].command[87].indexname "mystructfield"
-indexinfo[0].command[87].command "index"
-indexinfo[0].command[88].indexname "mystructmap.key"
-indexinfo[0].command[88].command "index"
-indexinfo[0].command[89].indexname "mystructmap.key"
-indexinfo[0].command[89].command "numerical"
-indexinfo[0].command[90].indexname "mystructmap.value.bytearr"
-indexinfo[0].command[90].command "index"
-indexinfo[0].command[91].indexname "mystructmap.value.bytearr"
-indexinfo[0].command[91].command "multivalue"
-indexinfo[0].command[92].indexname "mystructmap.value.mymap.key"
-indexinfo[0].command[92].command "index"
-indexinfo[0].command[93].indexname "mystructmap.value.mymap.value"
-indexinfo[0].command[93].command "index"
-indexinfo[0].command[94].indexname "mystructmap.value.mymap"
-indexinfo[0].command[94].command "index"
-indexinfo[0].command[95].indexname "mystructmap.value.mymap"
-indexinfo[0].command[95].command "multivalue"
-indexinfo[0].command[96].indexname "mystructmap.value.title"
-indexinfo[0].command[96].command "index"
-indexinfo[0].command[97].indexname "mystructmap.value.structfield"
-indexinfo[0].command[97].command "index"
-indexinfo[0].command[98].indexname "mystructmap.value"
-indexinfo[0].command[98].command "index"
-indexinfo[0].command[99].indexname "mystructmap"
-indexinfo[0].command[99].command "index"
-indexinfo[0].command[100].indexname "mystructmap"
-indexinfo[0].command[100].command "multivalue"
-indexinfo[0].command[101].indexname "mystructarr.bytearr"
-indexinfo[0].command[101].command "index"
-indexinfo[0].command[102].indexname "mystructarr.bytearr"
-indexinfo[0].command[102].command "multivalue"
-indexinfo[0].command[103].indexname "mystructarr.mymap.key"
-indexinfo[0].command[103].command "index"
-indexinfo[0].command[104].indexname "mystructarr.mymap.value"
-indexinfo[0].command[104].command "index"
-indexinfo[0].command[105].indexname "mystructarr.mymap"
-indexinfo[0].command[105].command "index"
-indexinfo[0].command[106].indexname "mystructarr.mymap"
-indexinfo[0].command[106].command "multivalue"
-indexinfo[0].command[107].indexname "mystructarr.title"
-indexinfo[0].command[107].command "index"
-indexinfo[0].command[108].indexname "mystructarr.structfield"
-indexinfo[0].command[108].command "index"
-indexinfo[0].command[109].indexname "mystructarr"
-indexinfo[0].command[109].command "index"
-indexinfo[0].command[110].indexname "mystructarr"
-indexinfo[0].command[110].command "multivalue"
-indexinfo[0].command[111].indexname "Folders.key"
-indexinfo[0].command[111].command "index"
-indexinfo[0].command[112].indexname "Folders.key"
-indexinfo[0].command[112].command "numerical"
-indexinfo[0].command[113].indexname "Folders.value.Version"
-indexinfo[0].command[113].command "index"
-indexinfo[0].command[114].indexname "Folders.value.Version"
-indexinfo[0].command[114].command "numerical"
-indexinfo[0].command[115].indexname "Folders.value.Name"
-indexinfo[0].command[115].command "index"
-indexinfo[0].command[116].indexname "Folders.value.FlagsCounter.key"
-indexinfo[0].command[116].command "index"
-indexinfo[0].command[117].indexname "Folders.value.FlagsCounter.value"
-indexinfo[0].command[117].command "index"
-indexinfo[0].command[118].indexname "Folders.value.FlagsCounter.value"
-indexinfo[0].command[118].command "numerical"
-indexinfo[0].command[119].indexname "Folders.value.FlagsCounter"
-indexinfo[0].command[119].command "index"
-indexinfo[0].command[120].indexname "Folders.value.FlagsCounter"
-indexinfo[0].command[120].command "multivalue"
-indexinfo[0].command[121].indexname "Folders.value.anotherfolder.Version"
-indexinfo[0].command[121].command "index"
-indexinfo[0].command[122].indexname "Folders.value.anotherfolder.Version"
-indexinfo[0].command[122].command "numerical"
-indexinfo[0].command[123].indexname "Folders.value.anotherfolder.Name"
-indexinfo[0].command[123].command "index"
-indexinfo[0].command[124].indexname "Folders.value.anotherfolder.FlagsCounter.key"
-indexinfo[0].command[124].command "index"
-indexinfo[0].command[125].indexname "Folders.value.anotherfolder.FlagsCounter.value"
-indexinfo[0].command[125].command "index"
-indexinfo[0].command[126].indexname "Folders.value.anotherfolder.FlagsCounter.value"
-indexinfo[0].command[126].command "numerical"
-indexinfo[0].command[127].indexname "Folders.value.anotherfolder.FlagsCounter"
-indexinfo[0].command[127].command "index"
-indexinfo[0].command[128].indexname "Folders.value.anotherfolder.FlagsCounter"
-indexinfo[0].command[128].command "multivalue"
-indexinfo[0].command[129].indexname "Folders.value.anotherfolder.anotherfolder.Version"
-indexinfo[0].command[129].command "index"
-indexinfo[0].command[130].indexname "Folders.value.anotherfolder.anotherfolder.Version"
-indexinfo[0].command[130].command "numerical"
-indexinfo[0].command[131].indexname "Folders.value.anotherfolder.anotherfolder.Name"
-indexinfo[0].command[131].command "index"
-indexinfo[0].command[132].indexname "Folders.value.anotherfolder.anotherfolder.FlagsCounter.key"
-indexinfo[0].command[132].command "index"
-indexinfo[0].command[133].indexname "Folders.value.anotherfolder.anotherfolder.FlagsCounter.value"
-indexinfo[0].command[133].command "index"
-indexinfo[0].command[134].indexname "Folders.value.anotherfolder.anotherfolder.FlagsCounter.value"
-indexinfo[0].command[134].command "numerical"
-indexinfo[0].command[135].indexname "Folders.value.anotherfolder.anotherfolder.FlagsCounter"
-indexinfo[0].command[135].command "index"
-indexinfo[0].command[136].indexname "Folders.value.anotherfolder.anotherfolder.FlagsCounter"
-indexinfo[0].command[136].command "multivalue"
-indexinfo[0].command[137].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.Version"
-indexinfo[0].command[137].command "index"
-indexinfo[0].command[138].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.Version"
-indexinfo[0].command[138].command "numerical"
-indexinfo[0].command[139].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.Name"
-indexinfo[0].command[139].command "index"
-indexinfo[0].command[140].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
-indexinfo[0].command[140].command "index"
-indexinfo[0].command[141].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
-indexinfo[0].command[141].command "index"
-indexinfo[0].command[142].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
-indexinfo[0].command[142].command "numerical"
-indexinfo[0].command[143].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.FlagsCounter"
-indexinfo[0].command[143].command "index"
-indexinfo[0].command[144].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.FlagsCounter"
-indexinfo[0].command[144].command "multivalue"
-indexinfo[0].command[145].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version"
-indexinfo[0].command[145].command "index"
-indexinfo[0].command[146].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version"
-indexinfo[0].command[146].command "numerical"
-indexinfo[0].command[147].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name"
-indexinfo[0].command[147].command "index"
-indexinfo[0].command[148].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
-indexinfo[0].command[148].command "index"
-indexinfo[0].command[149].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
-indexinfo[0].command[149].command "index"
-indexinfo[0].command[150].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
-indexinfo[0].command[150].command "numerical"
-indexinfo[0].command[151].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter"
-indexinfo[0].command[151].command "index"
-indexinfo[0].command[152].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter"
-indexinfo[0].command[152].command "multivalue"
-indexinfo[0].command[153].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version"
-indexinfo[0].command[153].command "index"
-indexinfo[0].command[154].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version"
-indexinfo[0].command[154].command "numerical"
-indexinfo[0].command[155].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name"
-indexinfo[0].command[155].command "index"
-indexinfo[0].command[156].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
-indexinfo[0].command[156].command "index"
-indexinfo[0].command[157].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
-indexinfo[0].command[157].command "index"
-indexinfo[0].command[158].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
-indexinfo[0].command[158].command "numerical"
-indexinfo[0].command[159].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter"
-indexinfo[0].command[159].command "index"
-indexinfo[0].command[160].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter"
-indexinfo[0].command[160].command "multivalue"
-indexinfo[0].command[161].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version"
-indexinfo[0].command[161].command "index"
-indexinfo[0].command[162].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version"
-indexinfo[0].command[162].command "numerical"
-indexinfo[0].command[163].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name"
-indexinfo[0].command[163].command "index"
-indexinfo[0].command[164].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
-indexinfo[0].command[164].command "index"
-indexinfo[0].command[165].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
-indexinfo[0].command[165].command "index"
-indexinfo[0].command[166].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
-indexinfo[0].command[166].command "numerical"
-indexinfo[0].command[167].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter"
-indexinfo[0].command[167].command "index"
-indexinfo[0].command[168].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter"
-indexinfo[0].command[168].command "multivalue"
-indexinfo[0].command[169].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version"
-indexinfo[0].command[169].command "index"
-indexinfo[0].command[170].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version"
-indexinfo[0].command[170].command "numerical"
-indexinfo[0].command[171].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name"
-indexinfo[0].command[171].command "index"
-indexinfo[0].command[172].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
-indexinfo[0].command[172].command "index"
-indexinfo[0].command[173].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
-indexinfo[0].command[173].command "index"
-indexinfo[0].command[174].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
-indexinfo[0].command[174].command "numerical"
-indexinfo[0].command[175].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter"
-indexinfo[0].command[175].command "index"
-indexinfo[0].command[176].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter"
-indexinfo[0].command[176].command "multivalue"
-indexinfo[0].command[177].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version"
-indexinfo[0].command[177].command "index"
-indexinfo[0].command[178].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version"
-indexinfo[0].command[178].command "numerical"
-indexinfo[0].command[179].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name"
-indexinfo[0].command[179].command "index"
-indexinfo[0].command[180].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
-indexinfo[0].command[180].command "index"
-indexinfo[0].command[181].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
-indexinfo[0].command[181].command "index"
-indexinfo[0].command[182].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
-indexinfo[0].command[182].command "numerical"
-indexinfo[0].command[183].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter"
-indexinfo[0].command[183].command "index"
-indexinfo[0].command[184].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter"
-indexinfo[0].command[184].command "multivalue"
-indexinfo[0].command[185].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder"
-indexinfo[0].command[185].command "index"
-indexinfo[0].command[186].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder"
-indexinfo[0].command[186].command "index"
-indexinfo[0].command[187].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder"
-indexinfo[0].command[187].command "index"
-indexinfo[0].command[188].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder"
-indexinfo[0].command[188].command "index"
-indexinfo[0].command[189].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder"
-indexinfo[0].command[189].command "index"
-indexinfo[0].command[190].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder"
-indexinfo[0].command[190].command "index"
-indexinfo[0].command[191].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder"
-indexinfo[0].command[191].command "index"
-indexinfo[0].command[192].indexname "Folders.value.anotherfolder.anotherfolder"
-indexinfo[0].command[192].command "index"
-indexinfo[0].command[193].indexname "Folders.value.anotherfolder"
-indexinfo[0].command[193].command "index"
-indexinfo[0].command[194].indexname "Folders.value"
-indexinfo[0].command[194].command "index"
-indexinfo[0].command[195].indexname "Folders"
-indexinfo[0].command[195].command "index"
-indexinfo[0].command[196].indexname "Folders"
-indexinfo[0].command[196].command "multivalue"
-indexinfo[0].command[197].indexname "juletre"
-indexinfo[0].command[197].command "index"
-indexinfo[0].command[198].indexname "juletre"
-indexinfo[0].command[198].command "attribute"
-indexinfo[0].command[199].indexname "juletre"
-indexinfo[0].command[199].command "fast-search"
-indexinfo[0].command[200].indexname "juletre"
-indexinfo[0].command[200].command "numerical"
-indexinfo[0].command[201].indexname "album0"
-indexinfo[0].command[201].command "index"
-indexinfo[0].command[202].indexname "album0"
-indexinfo[0].command[202].command "multivalue"
-indexinfo[0].command[203].indexname "album1"
-indexinfo[0].command[203].command "index"
-indexinfo[0].command[204].indexname "album1"
-indexinfo[0].command[204].command "multivalue"
-indexinfo[0].command[205].indexname "album1"
-indexinfo[0].command[205].command "attribute"
-indexinfo[0].command[206].indexname "album1"
-indexinfo[0].command[206].command "word"
-indexinfo[0].command[207].indexname "complexarray"
-indexinfo[0].command[207].command "index"
-indexinfo[0].command[208].indexname "complexarray"
-indexinfo[0].command[208].command "multivalue"
-indexinfo[0].command[209].indexname "other"
-indexinfo[0].command[209].command "index"
-indexinfo[0].command[210].indexname "other"
-indexinfo[0].command[210].command "attribute"
-indexinfo[0].command[211].indexname "other"
-indexinfo[0].command[211].command "numerical"
-indexinfo[0].command[212].indexname "pst_sta_boldingoff_nomatch_tag_01"
-indexinfo[0].command[212].command "index"
-indexinfo[0].command[213].indexname "pst_sta_boldingoff_nomatch_tag_01"
-indexinfo[0].command[213].command "multivalue"
-indexinfo[0].command[214].indexname "rankfeatures"
-indexinfo[0].command[214].command "index"
-indexinfo[0].command[215].indexname "summaryfeatures"
-indexinfo[0].command[215].command "index" \ No newline at end of file
+indexinfo[].name "types"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "sddocname"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "abyte"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "abyte"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "abyte"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "along"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "along"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "along"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "arrayfield"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "arrayfield"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "arrayfield"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "setfield"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "setfield"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "setfield"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "setfield2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "setfield2"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "setfield2"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "setfield2"
+indexinfo[].command[].command "word"
+indexinfo[].command[].indexname "setfield3"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "setfield3"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "setfield3"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "setfield4"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "setfield4"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "setfield4"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "tagfield"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "tagfield"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "tagfield"
+indexinfo[].command[].command "attribute"
+indexinfo[].command[].indexname "structfield.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield.s2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structfield"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structarrayfield.s1"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structarrayfield.s2"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structarrayfield"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "structarrayfield"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "stringmapfield.key"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "stringmapfield.key"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "stringmapfield.key"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "stringmapfield.key"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "stringmapfield.key"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "stringmapfield.value"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "stringmapfield.value"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "stringmapfield.value"
+indexinfo[].command[].command "stem:SHORTEST"
+indexinfo[].command[].indexname "stringmapfield.value"
+indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "stringmapfield.value"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "stringmapfield"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "stringmapfield"
+indexinfo[].command[].command "lowercase"
+indexinfo[].command[].indexname "stringmapfield"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "stringmapfield"
+indexinfo[].command[].command "plain-tokens"
+indexinfo[].command[].indexname "intmapfield.key"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "intmapfield.value"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "intmapfield.value"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "intmapfield"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "intmapfield"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "floatmapfield.key"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "floatmapfield.value"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "floatmapfield.value"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "floatmapfield"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "floatmapfield"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "longmapfield.key"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "longmapfield.key"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "longmapfield.value"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "longmapfield.value"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "longmapfield"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "longmapfield"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "doublemapfield.key"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "doublemapfield.key"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "doublemapfield.value"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "doublemapfield.value"
+indexinfo[].command[].command "numerical"
+indexinfo[].command[].indexname "doublemapfield"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "doublemapfield"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "arraymapfield.key"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "arraymapfield.value"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "arraymapfield.value"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "arraymapfield"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "arraymapfield"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "arrarr"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "arrarr"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "maparr"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "maparr"
+indexinfo[].command[].command "multivalue"
+indexinfo[].command[].indexname "mystructfield.bytearr"
+indexinfo[].command[].command "index"
+indexinfo[].command[80].indexname "mystructfield.bytearr"
+indexinfo[].command[80].command "multivalue"
+indexinfo[].command[81].indexname "mystructfield.mymap.key"
+indexinfo[].command[81].command "index"
+indexinfo[].command[82].indexname "mystructfield.mymap.value"
+indexinfo[].command[82].command "index"
+indexinfo[].command[83].indexname "mystructfield.mymap"
+indexinfo[].command[83].command "index"
+indexinfo[].command[84].indexname "mystructfield.mymap"
+indexinfo[].command[84].command "multivalue"
+indexinfo[].command[85].indexname "mystructfield.title"
+indexinfo[].command[85].command "index"
+indexinfo[].command[86].indexname "mystructfield.structfield"
+indexinfo[].command[86].command "index"
+indexinfo[].command[87].indexname "mystructfield"
+indexinfo[].command[87].command "index"
+indexinfo[].command[88].indexname "mystructmap.key"
+indexinfo[].command[88].command "index"
+indexinfo[].command[89].indexname "mystructmap.key"
+indexinfo[].command[89].command "numerical"
+indexinfo[].command[90].indexname "mystructmap.value.bytearr"
+indexinfo[].command[90].command "index"
+indexinfo[].command[91].indexname "mystructmap.value.bytearr"
+indexinfo[].command[91].command "multivalue"
+indexinfo[].command[92].indexname "mystructmap.value.mymap.key"
+indexinfo[].command[92].command "index"
+indexinfo[].command[93].indexname "mystructmap.value.mymap.value"
+indexinfo[].command[93].command "index"
+indexinfo[].command[94].indexname "mystructmap.value.mymap"
+indexinfo[].command[94].command "index"
+indexinfo[].command[95].indexname "mystructmap.value.mymap"
+indexinfo[].command[95].command "multivalue"
+indexinfo[].command[96].indexname "mystructmap.value.title"
+indexinfo[].command[96].command "index"
+indexinfo[].command[97].indexname "mystructmap.value.structfield"
+indexinfo[].command[97].command "index"
+indexinfo[].command[98].indexname "mystructmap.value"
+indexinfo[].command[98].command "index"
+indexinfo[].command[99].indexname "mystructmap"
+indexinfo[].command[99].command "index"
+indexinfo[].command[100].indexname "mystructmap"
+indexinfo[].command[100].command "multivalue"
+indexinfo[].command[101].indexname "mystructarr.bytearr"
+indexinfo[].command[101].command "index"
+indexinfo[].command[102].indexname "mystructarr.bytearr"
+indexinfo[].command[102].command "multivalue"
+indexinfo[].command[103].indexname "mystructarr.mymap.key"
+indexinfo[].command[103].command "index"
+indexinfo[].command[104].indexname "mystructarr.mymap.value"
+indexinfo[].command[104].command "index"
+indexinfo[].command[105].indexname "mystructarr.mymap"
+indexinfo[].command[105].command "index"
+indexinfo[].command[106].indexname "mystructarr.mymap"
+indexinfo[].command[106].command "multivalue"
+indexinfo[].command[107].indexname "mystructarr.title"
+indexinfo[].command[107].command "index"
+indexinfo[].command[108].indexname "mystructarr.structfield"
+indexinfo[].command[108].command "index"
+indexinfo[].command[109].indexname "mystructarr"
+indexinfo[].command[109].command "index"
+indexinfo[].command[110].indexname "mystructarr"
+indexinfo[].command[110].command "multivalue"
+indexinfo[].command[111].indexname "Folders.key"
+indexinfo[].command[111].command "index"
+indexinfo[].command[112].indexname "Folders.key"
+indexinfo[].command[112].command "numerical"
+indexinfo[].command[113].indexname "Folders.value.Version"
+indexinfo[].command[113].command "index"
+indexinfo[].command[114].indexname "Folders.value.Version"
+indexinfo[].command[114].command "numerical"
+indexinfo[].command[115].indexname "Folders.value.Name"
+indexinfo[].command[115].command "index"
+indexinfo[].command[116].indexname "Folders.value.FlagsCounter.key"
+indexinfo[].command[116].command "index"
+indexinfo[].command[117].indexname "Folders.value.FlagsCounter.value"
+indexinfo[].command[117].command "index"
+indexinfo[].command[118].indexname "Folders.value.FlagsCounter.value"
+indexinfo[].command[118].command "numerical"
+indexinfo[].command[119].indexname "Folders.value.FlagsCounter"
+indexinfo[].command[119].command "index"
+indexinfo[].command[120].indexname "Folders.value.FlagsCounter"
+indexinfo[].command[120].command "multivalue"
+indexinfo[].command[121].indexname "Folders.value.anotherfolder.Version"
+indexinfo[].command[121].command "index"
+indexinfo[].command[122].indexname "Folders.value.anotherfolder.Version"
+indexinfo[].command[122].command "numerical"
+indexinfo[].command[123].indexname "Folders.value.anotherfolder.Name"
+indexinfo[].command[123].command "index"
+indexinfo[].command[124].indexname "Folders.value.anotherfolder.FlagsCounter.key"
+indexinfo[].command[124].command "index"
+indexinfo[].command[125].indexname "Folders.value.anotherfolder.FlagsCounter.value"
+indexinfo[].command[125].command "index"
+indexinfo[].command[126].indexname "Folders.value.anotherfolder.FlagsCounter.value"
+indexinfo[].command[126].command "numerical"
+indexinfo[].command[127].indexname "Folders.value.anotherfolder.FlagsCounter"
+indexinfo[].command[127].command "index"
+indexinfo[].command[128].indexname "Folders.value.anotherfolder.FlagsCounter"
+indexinfo[].command[128].command "multivalue"
+indexinfo[].command[129].indexname "Folders.value.anotherfolder.anotherfolder.Version"
+indexinfo[].command[129].command "index"
+indexinfo[].command[130].indexname "Folders.value.anotherfolder.anotherfolder.Version"
+indexinfo[].command[130].command "numerical"
+indexinfo[].command[131].indexname "Folders.value.anotherfolder.anotherfolder.Name"
+indexinfo[].command[131].command "index"
+indexinfo[].command[132].indexname "Folders.value.anotherfolder.anotherfolder.FlagsCounter.key"
+indexinfo[].command[132].command "index"
+indexinfo[].command[133].indexname "Folders.value.anotherfolder.anotherfolder.FlagsCounter.value"
+indexinfo[].command[133].command "index"
+indexinfo[].command[134].indexname "Folders.value.anotherfolder.anotherfolder.FlagsCounter.value"
+indexinfo[].command[134].command "numerical"
+indexinfo[].command[135].indexname "Folders.value.anotherfolder.anotherfolder.FlagsCounter"
+indexinfo[].command[135].command "index"
+indexinfo[].command[136].indexname "Folders.value.anotherfolder.anotherfolder.FlagsCounter"
+indexinfo[].command[136].command "multivalue"
+indexinfo[].command[137].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.Version"
+indexinfo[].command[137].command "index"
+indexinfo[].command[138].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.Version"
+indexinfo[].command[138].command "numerical"
+indexinfo[].command[139].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.Name"
+indexinfo[].command[139].command "index"
+indexinfo[].command[140].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
+indexinfo[].command[140].command "index"
+indexinfo[].command[141].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
+indexinfo[].command[141].command "index"
+indexinfo[].command[142].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
+indexinfo[].command[142].command "numerical"
+indexinfo[].command[143].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.FlagsCounter"
+indexinfo[].command[143].command "index"
+indexinfo[].command[144].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.FlagsCounter"
+indexinfo[].command[144].command "multivalue"
+indexinfo[].command[145].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version"
+indexinfo[].command[145].command "index"
+indexinfo[].command[146].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version"
+indexinfo[].command[146].command "numerical"
+indexinfo[].command[147].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name"
+indexinfo[].command[147].command "index"
+indexinfo[].command[148].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
+indexinfo[].command[148].command "index"
+indexinfo[].command[149].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
+indexinfo[].command[149].command "index"
+indexinfo[].command[150].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
+indexinfo[].command[150].command "numerical"
+indexinfo[].command[151].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter"
+indexinfo[].command[151].command "index"
+indexinfo[].command[152].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter"
+indexinfo[].command[152].command "multivalue"
+indexinfo[].command[153].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version"
+indexinfo[].command[153].command "index"
+indexinfo[].command[154].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version"
+indexinfo[].command[154].command "numerical"
+indexinfo[].command[155].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name"
+indexinfo[].command[155].command "index"
+indexinfo[].command[156].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
+indexinfo[].command[156].command "index"
+indexinfo[].command[157].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
+indexinfo[].command[157].command "index"
+indexinfo[].command[158].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
+indexinfo[].command[158].command "numerical"
+indexinfo[].command[159].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter"
+indexinfo[].command[159].command "index"
+indexinfo[].command[160].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter"
+indexinfo[].command[160].command "multivalue"
+indexinfo[].command[161].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version"
+indexinfo[].command[161].command "index"
+indexinfo[].command[162].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version"
+indexinfo[].command[162].command "numerical"
+indexinfo[].command[163].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name"
+indexinfo[].command[163].command "index"
+indexinfo[].command[164].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
+indexinfo[].command[164].command "index"
+indexinfo[].command[165].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
+indexinfo[].command[165].command "index"
+indexinfo[].command[166].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
+indexinfo[].command[166].command "numerical"
+indexinfo[].command[167].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter"
+indexinfo[].command[167].command "index"
+indexinfo[].command[168].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter"
+indexinfo[].command[168].command "multivalue"
+indexinfo[].command[169].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version"
+indexinfo[].command[169].command "index"
+indexinfo[].command[170].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version"
+indexinfo[].command[170].command "numerical"
+indexinfo[].command[171].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name"
+indexinfo[].command[171].command "index"
+indexinfo[].command[172].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
+indexinfo[].command[172].command "index"
+indexinfo[].command[173].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
+indexinfo[].command[173].command "index"
+indexinfo[].command[174].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
+indexinfo[].command[174].command "numerical"
+indexinfo[].command[175].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter"
+indexinfo[].command[175].command "index"
+indexinfo[].command[176].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter"
+indexinfo[].command[176].command "multivalue"
+indexinfo[].command[177].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version"
+indexinfo[].command[177].command "index"
+indexinfo[].command[178].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version"
+indexinfo[].command[178].command "numerical"
+indexinfo[].command[179].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name"
+indexinfo[].command[179].command "index"
+indexinfo[].command[180].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
+indexinfo[].command[180].command "index"
+indexinfo[].command[181].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
+indexinfo[].command[181].command "index"
+indexinfo[].command[182].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
+indexinfo[].command[182].command "numerical"
+indexinfo[].command[183].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter"
+indexinfo[].command[183].command "index"
+indexinfo[].command[184].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter"
+indexinfo[].command[184].command "multivalue"
+indexinfo[].command[185].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder"
+indexinfo[].command[185].command "index"
+indexinfo[].command[186].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder"
+indexinfo[].command[186].command "index"
+indexinfo[].command[187].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder"
+indexinfo[].command[187].command "index"
+indexinfo[].command[188].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder"
+indexinfo[].command[188].command "index"
+indexinfo[].command[189].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder"
+indexinfo[].command[189].command "index"
+indexinfo[].command[190].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder"
+indexinfo[].command[190].command "index"
+indexinfo[].command[191].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder"
+indexinfo[].command[191].command "index"
+indexinfo[].command[192].indexname "Folders.value.anotherfolder.anotherfolder"
+indexinfo[].command[192].command "index"
+indexinfo[].command[193].indexname "Folders.value.anotherfolder"
+indexinfo[].command[193].command "index"
+indexinfo[].command[194].indexname "Folders.value"
+indexinfo[].command[194].command "index"
+indexinfo[].command[195].indexname "Folders"
+indexinfo[].command[195].command "index"
+indexinfo[].command[196].indexname "Folders"
+indexinfo[].command[196].command "multivalue"
+indexinfo[].command[197].indexname "juletre"
+indexinfo[].command[197].command "index"
+indexinfo[].command[198].indexname "juletre"
+indexinfo[].command[198].command "attribute"
+indexinfo[].command[199].indexname "juletre"
+indexinfo[].command[199].command "fast-search"
+indexinfo[].command[200].indexname "juletre"
+indexinfo[].command[200].command "numerical"
+indexinfo[].command[201].indexname "album0"
+indexinfo[].command[201].command "index"
+indexinfo[].command[202].indexname "album0"
+indexinfo[].command[202].command "multivalue"
+indexinfo[].command[203].indexname "album1"
+indexinfo[].command[203].command "index"
+indexinfo[].command[204].indexname "album1"
+indexinfo[].command[204].command "multivalue"
+indexinfo[].command[205].indexname "album1"
+indexinfo[].command[205].command "attribute"
+indexinfo[].command[206].indexname "album1"
+indexinfo[].command[206].command "word"
+indexinfo[].command[207].indexname "complexarray"
+indexinfo[].command[207].command "index"
+indexinfo[].command[208].indexname "complexarray"
+indexinfo[].command[208].command "multivalue"
+indexinfo[].command[209].indexname "other"
+indexinfo[].command[209].command "index"
+indexinfo[].command[210].indexname "other"
+indexinfo[].command[210].command "attribute"
+indexinfo[].command[211].indexname "other"
+indexinfo[].command[211].command "numerical"
+indexinfo[].command[212].indexname "pst_sta_boldingoff_nomatch_tag_01"
+indexinfo[].command[212].command "index"
+indexinfo[].command[213].indexname "pst_sta_boldingoff_nomatch_tag_01"
+indexinfo[].command[213].command "multivalue"
+indexinfo[].command[214].indexname "rankfeatures"
+indexinfo[].command[214].command "index"
+indexinfo[].command[215].indexname "summaryfeatures"
+indexinfo[].command[215].command "index"
diff --git a/config-model/src/test/derived/types/rank-profiles.cfg b/config-model/src/test/derived/types/rank-profiles.cfg
index 342a3ca0a2e..2bddf41356e 100644
--- a/config-model/src/test/derived/types/rank-profiles.cfg
+++ b/config-model/src/test/derived/types/rank-profiles.cfg
@@ -1,16 +1,16 @@
-rankprofile[0].name "default"
-rankprofile[0].fef.property[0].name "nativeAttributeMatch.weightTable.setfield2"
-rankprofile[0].fef.property[0].value "linear(0,0)"
-rankprofile[0].fef.property[1].name "nativeAttributeMatch.weightTable.setfield3"
-rankprofile[0].fef.property[1].value "linear(0,0)"
-rankprofile[0].fef.property[2].name "nativeAttributeMatch.weightTable.tagfield"
-rankprofile[0].fef.property[2].value "loggrowth(38,50,1)"
-rankprofile[1].name "unranked"
-rankprofile[1].fef.property[0].name "vespa.rank.firstphase"
-rankprofile[1].fef.property[0].value "value(0)"
-rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize"
-rankprofile[1].fef.property[1].value "0"
-rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize"
-rankprofile[1].fef.property[2].value "0"
-rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures"
-rankprofile[1].fef.property[3].value "true" \ No newline at end of file
+rankprofile[].name "default"
+rankprofile[].fef.property[].name "nativeAttributeMatch.weightTable.setfield2"
+rankprofile[].fef.property[].value "linear(0,0)"
+rankprofile[].fef.property[].name "nativeAttributeMatch.weightTable.setfield3"
+rankprofile[].fef.property[].value "linear(0,0)"
+rankprofile[].fef.property[].name "nativeAttributeMatch.weightTable.tagfield"
+rankprofile[].fef.property[].value "loggrowth(38,50,1)"
+rankprofile[].name "unranked"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "value(0)"
+rankprofile[].fef.property[].name "vespa.hitcollector.heapsize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.hitcollector.arraysize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.dump.ignoredefaultfeatures"
+rankprofile[].fef.property[].value "true"
diff --git a/config-model/src/test/derived/types/summary.cfg b/config-model/src/test/derived/types/summary.cfg
index b1205f45709..3a73185b325 100644
--- a/config-model/src/test/derived/types/summary.cfg
+++ b/config-model/src/test/derived/types/summary.cfg
@@ -1,35 +1,35 @@
defaultsummaryid 1103008471
-classes[0].id 1103008471
-classes[0].name "default"
-classes[0].fields[0].name "abyte"
-classes[0].fields[0].type "byte"
-classes[0].fields[1].name "along"
-classes[0].fields[1].type "int64"
-classes[0].fields[2].name "tagfield"
-classes[0].fields[2].type "jsonstring"
-classes[0].fields[3].name "stringmapfield"
-classes[0].fields[3].type "jsonstring"
-classes[0].fields[4].name "album0"
-classes[0].fields[4].type "jsonstring"
-classes[0].fields[5].name "album1"
-classes[0].fields[5].type "jsonstring"
-classes[0].fields[6].name "rankfeatures"
-classes[0].fields[6].type "featuredata"
-classes[0].fields[7].name "summaryfeatures"
-classes[0].fields[7].type "featuredata"
-classes[0].fields[8].name "documentid"
-classes[0].fields[8].type "longstring"
-classes[1].id 278794929
-classes[1].name "attributeprefetch"
-classes[1].fields[0].name "other"
-classes[1].fields[0].type "int64"
-classes[1].fields[1].name "abyte"
-classes[1].fields[1].type "byte"
-classes[1].fields[2].name "along"
-classes[1].fields[2].type "int64"
-classes[1].fields[3].name "juletre"
-classes[1].fields[3].type "int64"
-classes[1].fields[4].name "rankfeatures"
-classes[1].fields[4].type "featuredata"
-classes[1].fields[5].name "summaryfeatures"
-classes[1].fields[5].type "featuredata" \ No newline at end of file
+classes[].id 1103008471
+classes[].name "default"
+classes[].fields[].name "abyte"
+classes[].fields[].type "byte"
+classes[].fields[].name "along"
+classes[].fields[].type "int64"
+classes[].fields[].name "tagfield"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "stringmapfield"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "album0"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "album1"
+classes[].fields[].type "jsonstring"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "documentid"
+classes[].fields[].type "longstring"
+classes[].id 278794929
+classes[].name "attributeprefetch"
+classes[].fields[].name "other"
+classes[].fields[].type "int64"
+classes[].fields[].name "abyte"
+classes[].fields[].type "byte"
+classes[].fields[].name "along"
+classes[].fields[].type "int64"
+classes[].fields[].name "juletre"
+classes[].fields[].type "int64"
+classes[].fields[].name "rankfeatures"
+classes[].fields[].type "featuredata"
+classes[].fields[].name "summaryfeatures"
+classes[].fields[].type "featuredata"
diff --git a/config-model/src/test/derived/types/summarymap.cfg b/config-model/src/test/derived/types/summarymap.cfg
index 8a3ed769213..0cb8b6129fa 100644
--- a/config-model/src/test/derived/types/summarymap.cfg
+++ b/config-model/src/test/derived/types/summarymap.cfg
@@ -1,25 +1,25 @@
defaultoutputclass -1
-override[0].field "abyte"
-override[0].command "attribute"
-override[0].arguments "abyte"
-override[1].field "along"
-override[1].command "attribute"
-override[1].arguments "along"
-override[2].field "tagfield"
-override[2].command "attribute"
-override[2].arguments "tagfield"
-override[3].field "album1"
-override[3].command "attribute"
-override[3].arguments "album1"
-override[4].field "rankfeatures"
-override[4].command "rankfeatures"
-override[4].arguments ""
-override[5].field "summaryfeatures"
-override[5].command "summaryfeatures"
-override[5].arguments ""
-override[6].field "other"
-override[6].command "attribute"
-override[6].arguments "other"
-override[7].field "juletre"
-override[7].command "attribute"
-override[7].arguments "juletre" \ No newline at end of file
+override[].field "abyte"
+override[].command "attribute"
+override[].arguments "abyte"
+override[].field "along"
+override[].command "attribute"
+override[].arguments "along"
+override[].field "tagfield"
+override[].command "attribute"
+override[].arguments "tagfield"
+override[].field "album1"
+override[].command "attribute"
+override[].arguments "album1"
+override[].field "rankfeatures"
+override[].command "rankfeatures"
+override[].arguments ""
+override[].field "summaryfeatures"
+override[].command "summaryfeatures"
+override[].arguments ""
+override[].field "other"
+override[].command "attribute"
+override[].arguments "other"
+override[].field "juletre"
+override[].command "attribute"
+override[].arguments "juletre"
diff --git a/config-model/src/test/derived/types/vsmsummary.cfg b/config-model/src/test/derived/types/vsmsummary.cfg
index 6c641d9935e..b1a29b94491 100644
--- a/config-model/src/test/derived/types/vsmsummary.cfg
+++ b/config-model/src/test/derived/types/vsmsummary.cfg
@@ -1,23 +1,23 @@
outputclass ""
-fieldmap[0].summary "abyte"
-fieldmap[0].document[0].field "abyte"
-fieldmap[0].command NONE
-fieldmap[1].summary "along"
-fieldmap[1].document[0].field "along"
-fieldmap[1].command NONE
-fieldmap[2].summary "tagfield"
-fieldmap[2].document[0].field "tagfield"
-fieldmap[2].command NONE
-fieldmap[3].summary "stringmapfield"
-fieldmap[3].document[0].field "stringmapfield"
-fieldmap[3].command NONE
-fieldmap[4].summary "album0"
-fieldmap[4].document[0].field "album0"
-fieldmap[4].command NONE
-fieldmap[5].summary "album1"
-fieldmap[5].document[0].field "album1"
-fieldmap[5].command NONE
-fieldmap[6].summary "rankfeatures"
-fieldmap[6].command NONE
-fieldmap[7].summary "summaryfeatures"
-fieldmap[7].command NONE \ No newline at end of file
+fieldmap[].summary "abyte"
+fieldmap[].document[].field "abyte"
+fieldmap[].command NONE
+fieldmap[].summary "along"
+fieldmap[].document[].field "along"
+fieldmap[].command NONE
+fieldmap[].summary "tagfield"
+fieldmap[].document[].field "tagfield"
+fieldmap[].command NONE
+fieldmap[].summary "stringmapfield"
+fieldmap[].document[].field "stringmapfield"
+fieldmap[].command NONE
+fieldmap[].summary "album0"
+fieldmap[].document[].field "album0"
+fieldmap[].command NONE
+fieldmap[].summary "album1"
+fieldmap[].document[].field "album1"
+fieldmap[].command NONE
+fieldmap[].summary "rankfeatures"
+fieldmap[].command NONE
+fieldmap[].summary "summaryfeatures"
+fieldmap[].command NONE
diff --git a/config-model/src/test/derived/uri_array/ilscripts.cfg b/config-model/src/test/derived/uri_array/ilscripts.cfg
index 721fca76b9a..cb26781c90b 100644
--- a/config-model/src/test/derived/uri_array/ilscripts.cfg
+++ b/config-model/src/test/derived/uri_array/ilscripts.cfg
@@ -1,5 +1,5 @@
maxtermoccurrences 100
fieldmatchmaxlength 1000000
-ilscript[0].doctype "uri_array"
-ilscript[0].docfield[0] "my_uri"
-ilscript[0].content[0] "clear_state | guard { input my_uri | index my_uri; }"
+ilscript[].doctype "uri_array"
+ilscript[].docfield[0] "my_uri"
+ilscript[].content[0] "clear_state | guard { input my_uri | index my_uri; }"
diff --git a/config-model/src/test/derived/uri_array/indexschema.cfg b/config-model/src/test/derived/uri_array/indexschema.cfg
index 4e6875bffb8..be7bf609579 100644
--- a/config-model/src/test/derived/uri_array/indexschema.cfg
+++ b/config-model/src/test/derived/uri_array/indexschema.cfg
@@ -1,64 +1,64 @@
-indexfield[0].name "my_uri"
-indexfield[0].indextype VESPA
-indexfield[0].datatype STRING
-indexfield[0].collectiontype ARRAY
-indexfield[0].prefix false
-indexfield[0].phrases false
-indexfield[0].positions true
-indexfield[0].averageelementlen 512
-indexfield[1].name "my_uri.fragment"
-indexfield[1].indextype VESPA
-indexfield[1].datatype STRING
-indexfield[1].collectiontype ARRAY
-indexfield[1].prefix false
-indexfield[1].phrases false
-indexfield[1].positions true
-indexfield[1].averageelementlen 512
-indexfield[2].name "my_uri.host"
-indexfield[2].indextype VESPA
-indexfield[2].datatype STRING
-indexfield[2].collectiontype ARRAY
-indexfield[2].prefix false
-indexfield[2].phrases false
-indexfield[2].positions true
-indexfield[2].averageelementlen 512
-indexfield[3].name "my_uri.hostname"
-indexfield[3].indextype VESPA
-indexfield[3].datatype STRING
-indexfield[3].collectiontype ARRAY
-indexfield[3].prefix false
-indexfield[3].phrases false
-indexfield[3].positions true
-indexfield[3].averageelementlen 512
-indexfield[4].name "my_uri.path"
-indexfield[4].indextype VESPA
-indexfield[4].datatype STRING
-indexfield[4].collectiontype ARRAY
-indexfield[4].prefix false
-indexfield[4].phrases false
-indexfield[4].positions true
-indexfield[4].averageelementlen 512
-indexfield[5].name "my_uri.port"
-indexfield[5].indextype VESPA
-indexfield[5].datatype STRING
-indexfield[5].collectiontype ARRAY
-indexfield[5].prefix false
-indexfield[5].phrases false
-indexfield[5].positions true
-indexfield[5].averageelementlen 512
-indexfield[6].name "my_uri.query"
-indexfield[6].indextype VESPA
-indexfield[6].datatype STRING
-indexfield[6].collectiontype ARRAY
-indexfield[6].prefix false
-indexfield[6].phrases false
-indexfield[6].positions true
-indexfield[6].averageelementlen 512
-indexfield[7].name "my_uri.scheme"
-indexfield[7].indextype VESPA
-indexfield[7].datatype STRING
-indexfield[7].collectiontype ARRAY
-indexfield[7].prefix false
-indexfield[7].phrases false
-indexfield[7].positions true
-indexfield[7].averageelementlen 512 \ No newline at end of file
+indexfield[].name "my_uri"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype ARRAY
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "my_uri.fragment"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype ARRAY
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "my_uri.host"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype ARRAY
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "my_uri.hostname"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype ARRAY
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "my_uri.path"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype ARRAY
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "my_uri.port"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype ARRAY
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "my_uri.query"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype ARRAY
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "my_uri.scheme"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype ARRAY
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
diff --git a/config-model/src/test/derived/uri_wset/ilscripts.cfg b/config-model/src/test/derived/uri_wset/ilscripts.cfg
index 5d32c7b2e63..a3efd810b35 100644
--- a/config-model/src/test/derived/uri_wset/ilscripts.cfg
+++ b/config-model/src/test/derived/uri_wset/ilscripts.cfg
@@ -1,5 +1,5 @@
maxtermoccurrences 100
fieldmatchmaxlength 1000000
-ilscript[0].doctype "uri_wset"
-ilscript[0].docfield[0] "my_uri"
-ilscript[0].content[0] "clear_state | guard { input my_uri | index my_uri; }"
+ilscript[].doctype "uri_wset"
+ilscript[].docfield[0] "my_uri"
+ilscript[].content[0] "clear_state | guard { input my_uri | index my_uri; }"
diff --git a/config-model/src/test/derived/uri_wset/indexschema.cfg b/config-model/src/test/derived/uri_wset/indexschema.cfg
index 0a750704933..5997a47c48a 100644
--- a/config-model/src/test/derived/uri_wset/indexschema.cfg
+++ b/config-model/src/test/derived/uri_wset/indexschema.cfg
@@ -1,64 +1,64 @@
-indexfield[0].name "my_uri"
-indexfield[0].indextype VESPA
-indexfield[0].datatype STRING
-indexfield[0].collectiontype WEIGHTEDSET
-indexfield[0].prefix false
-indexfield[0].phrases false
-indexfield[0].positions true
-indexfield[0].averageelementlen 512
-indexfield[1].name "my_uri.fragment"
-indexfield[1].indextype VESPA
-indexfield[1].datatype STRING
-indexfield[1].collectiontype WEIGHTEDSET
-indexfield[1].prefix false
-indexfield[1].phrases false
-indexfield[1].positions true
-indexfield[1].averageelementlen 512
-indexfield[2].name "my_uri.host"
-indexfield[2].indextype VESPA
-indexfield[2].datatype STRING
-indexfield[2].collectiontype WEIGHTEDSET
-indexfield[2].prefix false
-indexfield[2].phrases false
-indexfield[2].positions true
-indexfield[2].averageelementlen 512
-indexfield[3].name "my_uri.hostname"
-indexfield[3].indextype VESPA
-indexfield[3].datatype STRING
-indexfield[3].collectiontype WEIGHTEDSET
-indexfield[3].prefix false
-indexfield[3].phrases false
-indexfield[3].positions true
-indexfield[3].averageelementlen 512
-indexfield[4].name "my_uri.path"
-indexfield[4].indextype VESPA
-indexfield[4].datatype STRING
-indexfield[4].collectiontype WEIGHTEDSET
-indexfield[4].prefix false
-indexfield[4].phrases false
-indexfield[4].positions true
-indexfield[4].averageelementlen 512
-indexfield[5].name "my_uri.port"
-indexfield[5].indextype VESPA
-indexfield[5].datatype STRING
-indexfield[5].collectiontype WEIGHTEDSET
-indexfield[5].prefix false
-indexfield[5].phrases false
-indexfield[5].positions true
-indexfield[5].averageelementlen 512
-indexfield[6].name "my_uri.query"
-indexfield[6].indextype VESPA
-indexfield[6].datatype STRING
-indexfield[6].collectiontype WEIGHTEDSET
-indexfield[6].prefix false
-indexfield[6].phrases false
-indexfield[6].positions true
-indexfield[6].averageelementlen 512
-indexfield[7].name "my_uri.scheme"
-indexfield[7].indextype VESPA
-indexfield[7].datatype STRING
-indexfield[7].collectiontype WEIGHTEDSET
-indexfield[7].prefix false
-indexfield[7].phrases false
-indexfield[7].positions true
-indexfield[7].averageelementlen 512 \ No newline at end of file
+indexfield[].name "my_uri"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype WEIGHTEDSET
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "my_uri.fragment"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype WEIGHTEDSET
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "my_uri.host"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype WEIGHTEDSET
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "my_uri.hostname"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype WEIGHTEDSET
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "my_uri.path"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype WEIGHTEDSET
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "my_uri.port"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype WEIGHTEDSET
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "my_uri.query"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype WEIGHTEDSET
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512
+indexfield[].name "my_uri.scheme"
+indexfield[].indextype VESPA
+indexfield[].datatype STRING
+indexfield[].collectiontype WEIGHTEDSET
+indexfield[].prefix false
+indexfield[].phrases false
+indexfield[].positions true
+indexfield[].averageelementlen 512