aboutsummaryrefslogtreecommitdiffstats
path: root/document
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-04-12 14:36:54 +0200
committerGitHub <noreply@github.com>2022-04-12 14:36:54 +0200
commit9a40f476c53f809dcffad59d2c50b1607c76cae7 (patch)
tree7f117b71a263e43e61ed781c0b58df04ad5fd576 /document
parent982433435eff5a0248d28c5a018002dd06c100ce (diff)
parentbe863539f7888791f8dd4834b8fe42f8de9133bb (diff)
Merge pull request #22105 from vespa-engine/arnej/just-new-config-files
switch to new-style config
Diffstat (limited to 'document')
-rw-r--r--document/src/test/document/docindoc.cfg124
-rwxr-xr-xdocument/src/test/document/documentmanager.annotationspolymorphy.cfg300
-rwxr-xr-xdocument/src/test/document/documentmanager.annotationtypes1.cfg222
-rwxr-xr-xdocument/src/test/document/documentmanager.annotationtypes2.cfg279
-rw-r--r--document/src/test/document/documentmanager.cfg113
-rw-r--r--document/src/test/document/documentmanager.declstruct.cfg156
-rw-r--r--document/src/test/document/documentmanager.importedfields.cfg134
-rw-r--r--document/src/test/document/documentmanager.replaced_temporary.cfg130
-rw-r--r--document/src/test/document/documentmanager.sombrero1.cfg143
-rw-r--r--document/src/test/document/documentmanager.testv8pos.cfg93
-rw-r--r--document/src/test/document/documentmanager.updated.cfg194
-rw-r--r--document/src/test/java/com/yahoo/document/annotation/documentmanager.6394548.cfg401
-rw-r--r--document/src/test/java/com/yahoo/document/annotation/documentmanager.bug4259784.cfg274
-rw-r--r--document/src/test/java/com/yahoo/document/annotation/documentmanager.bug4261985.cfg324
-rw-r--r--document/src/test/java/com/yahoo/document/annotation/documentmanager.bug4475379.cfg256
-rw-r--r--document/src/test/java/com/yahoo/document/annotation/documentmanager.systemtest.cfg284
-rw-r--r--document/src/test/java/com/yahoo/document/datatypes/documentmanager.blog.sd248
-rw-r--r--document/src/test/java/com/yahoo/document/documentmanager.docindoc.cfg114
-rw-r--r--document/src/test/vespaxmlparser/documentmanager2.cfg393
-rw-r--r--document/src/tests/data/compressed.cfg228
-rw-r--r--document/src/tests/data/cppdocument.cfg220
-rw-r--r--document/src/tests/data/crossplatform-java-cpp-document.cfg269
-rw-r--r--document/src/tests/data/docmancfg.txt327
-rw-r--r--document/src/tests/data/embeddeddocument.cfg185
-rw-r--r--document/src/tests/data/variablesizedocument.cfg93
-rw-r--r--document/src/tests/struct_anno/documentmanager.cfg257
-rw-r--r--document/src/tests/vespaxml/vespaxmldoctype.cfg268
27 files changed, 2863 insertions, 3166 deletions
diff --git a/document/src/test/document/docindoc.cfg b/document/src/test/document/docindoc.cfg
index ee98e541faf..f8525f6ebe7 100644
--- a/document/src/test/document/docindoc.cfg
+++ b/document/src/test/document/docindoc.cfg
@@ -1,62 +1,62 @@
-datatype[6]
-datatype[0].id -2040625920
-datatype[0].arraytype[0]
-datatype[0].weightedsettype[0]
-datatype[0].structtype[1]
-datatype[0].structtype[0].name outerdoc.header
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].field[0]
-datatype[0].documenttype[0]
-datatype[1].id -1407012075
-datatype[1].arraytype[0]
-datatype[1].weightedsettype[0]
-datatype[1].structtype[1]
-datatype[1].structtype[0].name outerdoc.body
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].field[2]
-datatype[1].structtype[0].field[0].name stringfield
-datatype[1].structtype[0].field[0].id[0]
-datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[1].name docfield
-datatype[1].structtype[0].field[1].id[0]
-datatype[1].structtype[0].field[1].datatype 8
-datatype[1].documenttype[0]
-datatype[2].id 1748635999
-datatype[2].arraytype[0]
-datatype[2].weightedsettype[0]
-datatype[2].structtype[0]
-datatype[2].documenttype[1]
-datatype[2].documenttype[0].name outerdoc
-datatype[2].documenttype[0].version 0
-datatype[2].documenttype[0].inherits[0]
-datatype[2].documenttype[0].headerstruct -2040625920
-datatype[2].documenttype[0].bodystruct -1407012075
-datatype[3].id 1547813467
-datatype[3].arraytype[0]
-datatype[3].weightedsettype[0]
-datatype[3].structtype[1]
-datatype[3].structtype[0].name innerdoc.header
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].field[0]
-datatype[3].documenttype[0]
-datatype[4].id -858027216
-datatype[4].arraytype[0]
-datatype[4].weightedsettype[0]
-datatype[4].structtype[1]
-datatype[4].structtype[0].name innerdoc.body
-datatype[4].structtype[0].version 0
-datatype[4].structtype[0].field[1]
-datatype[4].structtype[0].field[0].name intfield
-datatype[4].structtype[0].field[0].id[0]
-datatype[4].structtype[0].field[0].datatype 0
-datatype[4].documenttype[0]
-datatype[5].id 828068964
-datatype[5].arraytype[0]
-datatype[5].weightedsettype[0]
-datatype[5].structtype[0]
-datatype[5].documenttype[1]
-datatype[5].documenttype[0].name innerdoc
-datatype[5].documenttype[0].version 0
-datatype[5].documenttype[0].inherits[0]
-datatype[5].documenttype[0].headerstruct 1547813467
-datatype[5].documenttype[0].bodystruct -858027216
+doctype[3]
+doctype[0].name "document"
+doctype[0].idx 10000
+doctype[0].contentstruct 10001
+doctype[0].primitivetype[0].idx 10002
+doctype[0].primitivetype[0].internalid 0
+doctype[0].primitivetype[0].name "int"
+doctype[0].primitivetype[1].idx 10003
+doctype[0].primitivetype[1].internalid 5
+doctype[0].primitivetype[1].name "double"
+doctype[0].primitivetype[2].idx 10004
+doctype[0].primitivetype[2].internalid 2
+doctype[0].primitivetype[2].name "string"
+doctype[0].annotationtype[0].idx 10005
+doctype[0].annotationtype[0].name "proximity_break"
+doctype[0].annotationtype[0].internalid 8
+doctype[0].annotationtype[0].datatype 10003
+doctype[0].annotationtype[1].idx 10006
+doctype[0].annotationtype[1].name "normalized"
+doctype[0].annotationtype[1].internalid 4
+doctype[0].annotationtype[1].datatype 10004
+doctype[0].annotationtype[2].idx 10007
+doctype[0].annotationtype[2].name "reading"
+doctype[0].annotationtype[2].internalid 5
+doctype[0].annotationtype[2].datatype 10004
+doctype[0].annotationtype[3].idx 10008
+doctype[0].annotationtype[3].name "term"
+doctype[0].annotationtype[3].internalid 1
+doctype[0].annotationtype[3].datatype 10004
+doctype[0].annotationtype[4].idx 10009
+doctype[0].annotationtype[4].name "transformed"
+doctype[0].annotationtype[4].internalid 7
+doctype[0].annotationtype[4].datatype 10004
+doctype[0].annotationtype[5].idx 10010
+doctype[0].annotationtype[5].name "canonical"
+doctype[0].annotationtype[5].internalid 3
+doctype[0].annotationtype[5].datatype 10004
+doctype[0].annotationtype[6].idx 10011
+doctype[0].annotationtype[6].name "token_type"
+doctype[0].annotationtype[6].internalid 2
+doctype[0].annotationtype[6].datatype 10002
+doctype[0].annotationtype[7].idx 10012
+doctype[0].annotationtype[7].name "special_token"
+doctype[0].annotationtype[7].internalid 9
+doctype[0].annotationtype[8].idx 10013
+doctype[0].annotationtype[8].name "stem"
+doctype[0].annotationtype[8].internalid 6
+doctype[0].annotationtype[8].datatype 10004
+doctype[0].structtype[0].idx 10001
+doctype[0].structtype[0].name document.header
+doctype[1].name "outerdoc"
+doctype[1].idx 10014
+doctype[1].inherits[0].idx 10000
+doctype[1].contentstruct 10015
+doctype[1].structtype[0].idx 10015
+doctype[1].structtype[0].name outerdoc.header
+doctype[2].name "innerdoc"
+doctype[2].idx 10016
+doctype[2].inherits[0].idx 10000
+doctype[2].contentstruct 10017
+doctype[2].structtype[0].idx 10017
+doctype[2].structtype[0].name innerdoc.header
diff --git a/document/src/test/document/documentmanager.annotationspolymorphy.cfg b/document/src/test/document/documentmanager.annotationspolymorphy.cfg
index 869aea6cd2f..ff695cb03ad 100755
--- a/document/src/test/document/documentmanager.annotationspolymorphy.cfg
+++ b/document/src/test/document/documentmanager.annotationspolymorphy.cfg
@@ -1,187 +1,113 @@
-enablecompression false
-datatype[15]
-datatype[0].id -2014701853
-datatype[0].arraytype[0]
-datatype[0].weightedsettype[0]
-datatype[0].structtype[0]
-datatype[0].documenttype[0]
-datatype[0].annotationreftype[1]
-datatype[0].annotationreftype[0].annotation "super"
-datatype[1].id -169651851
-datatype[1].arraytype[0]
-datatype[1].weightedsettype[0]
-datatype[1].structtype[1]
-datatype[1].structtype[0].name "annotationspolymorphy_summary.header"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].field[3]
-datatype[1].structtype[0].field[0].name "rankfeatures"
-datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].id[0]
-datatype[1].structtype[0].field[1].name "summaryfeatures"
-datatype[1].structtype[0].field[1].datatype 2
-datatype[1].structtype[0].field[1].id[0]
-datatype[1].structtype[0].field[2].name "documentid"
-datatype[1].structtype[0].field[2].datatype 2
-datatype[1].structtype[0].field[2].id[0]
-datatype[1].structtype[0].inherits[0]
-datatype[1].documenttype[0]
-datatype[1].annotationreftype[0]
-datatype[2].id -269870902
-datatype[2].arraytype[0]
-datatype[2].weightedsettype[0]
-datatype[2].structtype[1]
-datatype[2].structtype[0].name "annotationspolymorphy_summary.body"
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].field[0]
-datatype[2].structtype[0].inherits[0]
-datatype[2].documenttype[0]
-datatype[2].annotationreftype[0]
-datatype[3].id -197316982
-datatype[3].arraytype[0]
-datatype[3].weightedsettype[0]
-datatype[3].structtype[0]
-datatype[3].documenttype[1]
-datatype[3].documenttype[0].name "annotationspolymorphy_summary"
-datatype[3].documenttype[0].version 0
-datatype[3].documenttype[0].headerstruct -169651851
-datatype[3].documenttype[0].bodystruct -269870902
-datatype[3].documenttype[0].inherits[0]
-datatype[3].annotationreftype[0]
-datatype[4].id -1327132343
-datatype[4].arraytype[0]
-datatype[4].weightedsettype[0]
-datatype[4].structtype[1]
-datatype[4].structtype[0].name "annotationspolymorphy_index.header"
-datatype[4].structtype[0].version 0
-datatype[4].structtype[0].field[0]
-datatype[4].structtype[0].inherits[0]
-datatype[4].documenttype[0]
-datatype[4].annotationreftype[0]
-datatype[5].id -396214882
-datatype[5].arraytype[0]
-datatype[5].weightedsettype[0]
-datatype[5].structtype[1]
-datatype[5].structtype[0].name "annotationspolymorphy_index.body"
-datatype[5].structtype[0].version 0
-datatype[5].structtype[0].field[0]
-datatype[5].structtype[0].inherits[0]
-datatype[5].documenttype[0]
-datatype[5].annotationreftype[0]
-datatype[6].id 873354550
-datatype[6].arraytype[0]
-datatype[6].weightedsettype[0]
-datatype[6].structtype[0]
-datatype[6].documenttype[1]
-datatype[6].documenttype[0].name "annotationspolymorphy_index"
-datatype[6].documenttype[0].version 0
-datatype[6].documenttype[0].headerstruct -1327132343
-datatype[6].documenttype[0].bodystruct -396214882
-datatype[6].documenttype[0].inherits[0]
-datatype[6].annotationreftype[0]
-datatype[7].id -550571073
-datatype[7].arraytype[0]
-datatype[7].weightedsettype[0]
-datatype[7].structtype[1]
-datatype[7].structtype[0].name "annotationspolymorphy_attribute.header"
-datatype[7].structtype[0].version 0
-datatype[7].structtype[0].field[0]
-datatype[7].structtype[0].inherits[0]
-datatype[7].documenttype[0]
-datatype[7].annotationreftype[0]
-datatype[8].id -1418869356
-datatype[8].arraytype[0]
-datatype[8].weightedsettype[0]
-datatype[8].structtype[1]
-datatype[8].structtype[0].name "annotationspolymorphy_attribute.body"
-datatype[8].structtype[0].version 0
-datatype[8].structtype[0].field[0]
-datatype[8].structtype[0].inherits[0]
-datatype[8].documenttype[0]
-datatype[8].annotationreftype[0]
-datatype[9].id 241118080
-datatype[9].arraytype[0]
-datatype[9].weightedsettype[0]
-datatype[9].structtype[0]
-datatype[9].documenttype[1]
-datatype[9].documenttype[0].name "annotationspolymorphy_attribute"
-datatype[9].documenttype[0].version 0
-datatype[9].documenttype[0].headerstruct -550571073
-datatype[9].documenttype[0].bodystruct -1418869356
-datatype[9].documenttype[0].inherits[0]
-datatype[9].annotationreftype[0]
-datatype[10].id -592896846
-datatype[10].arraytype[0]
-datatype[10].weightedsettype[0]
-datatype[10].structtype[1]
-datatype[10].structtype[0].name "indexingdocument.header"
-datatype[10].structtype[0].version 0
-datatype[10].structtype[0].field[3]
-datatype[10].structtype[0].field[0].name "index"
-datatype[10].structtype[0].field[0].datatype 8
-datatype[10].structtype[0].field[0].id[0]
-datatype[10].structtype[0].field[1].name "summary"
-datatype[10].structtype[0].field[1].datatype 8
-datatype[10].structtype[0].field[1].id[0]
-datatype[10].structtype[0].field[2].name "attribute"
-datatype[10].structtype[0].field[2].datatype 8
-datatype[10].structtype[0].field[2].id[0]
-datatype[10].structtype[0].inherits[0]
-datatype[10].documenttype[0]
-datatype[10].annotationreftype[0]
-datatype[11].id -2093772985
-datatype[11].arraytype[0]
-datatype[11].weightedsettype[0]
-datatype[11].structtype[1]
-datatype[11].structtype[0].name "indexingdocument.body"
-datatype[11].structtype[0].version 0
-datatype[11].structtype[0].field[0]
-datatype[11].structtype[0].inherits[0]
-datatype[11].documenttype[0]
-datatype[11].annotationreftype[0]
-datatype[12].id -1831281171
-datatype[12].arraytype[0]
-datatype[12].weightedsettype[0]
-datatype[12].structtype[0]
-datatype[12].documenttype[1]
-datatype[12].documenttype[0].name "indexingdocument"
-datatype[12].documenttype[0].version 0
-datatype[12].documenttype[0].headerstruct -592896846
-datatype[12].documenttype[0].bodystruct -2093772985
-datatype[12].documenttype[0].inherits[0]
-datatype[12].annotationreftype[0]
-datatype[13].id -888007918
-datatype[13].arraytype[0]
-datatype[13].weightedsettype[0]
-datatype[13].structtype[1]
-datatype[13].structtype[0].name "annotation.blah"
-datatype[13].structtype[0].version 0
-datatype[13].structtype[0].field[1]
-datatype[13].structtype[0].field[0].name "a"
-datatype[13].structtype[0].field[0].datatype -2014701853
-datatype[13].structtype[0].field[0].id[0]
-datatype[13].structtype[0].inherits[0]
-datatype[13].documenttype[0]
-datatype[13].annotationreftype[0]
-datatype[14].id 264416387
-datatype[14].arraytype[0]
-datatype[14].weightedsettype[0]
-datatype[14].structtype[1]
-datatype[14].structtype[0].name "annotation.sub"
-datatype[14].structtype[0].version 0
-datatype[14].structtype[0].field[0]
-datatype[14].structtype[0].inherits[0]
-datatype[14].documenttype[0]
-datatype[14].annotationreftype[0]
-annotationtype[3]
-annotationtype[0].name "super"
-annotationtype[0].id 668095690
-annotationtype[0].inherits[0]
-annotationtype[1].name "sub"
-annotationtype[1].id 119710016
-annotationtype[1].datatype 264416387
-annotationtype[1].inherits[1]
-annotationtype[1].inherits[0].id 668095690
-annotationtype[2].name "blah"
-annotationtype[2].id -1793776935
-annotationtype[2].datatype -888007918
-annotationtype[2].inherits[0]
+doctype[5]
+doctype[0].name "document"
+doctype[0].idx 10000
+doctype[0].contentstruct 10001
+doctype[0].primitivetype[0].idx 10003
+doctype[0].primitivetype[0].internalid 0
+doctype[0].primitivetype[0].name "int"
+doctype[0].primitivetype[1].idx 10005
+doctype[0].primitivetype[1].internalid 5
+doctype[0].primitivetype[1].name "double"
+doctype[0].primitivetype[2].idx 10007
+doctype[0].primitivetype[2].internalid 2
+doctype[0].primitivetype[2].name "string"
+doctype[0].annotationtype[0].idx 10008
+doctype[0].annotationtype[0].name "super"
+doctype[0].annotationtype[0].internalid 668095690
+doctype[0].annotationtype[1].idx 10009
+doctype[0].annotationtype[1].name "sub"
+doctype[0].annotationtype[1].internalid 119710016
+doctype[0].annotationtype[1].datatype 10002
+doctype[0].annotationtype[1].inherits[0].idx 10008
+doctype[0].annotationtype[2].idx 10010
+doctype[0].annotationtype[2].name "proximity_break"
+doctype[0].annotationtype[2].internalid 8
+doctype[0].annotationtype[2].datatype 10005
+doctype[0].annotationtype[3].idx 10011
+doctype[0].annotationtype[3].name "normalized"
+doctype[0].annotationtype[3].internalid 4
+doctype[0].annotationtype[3].datatype 10007
+doctype[0].annotationtype[4].idx 10012
+doctype[0].annotationtype[4].name "reading"
+doctype[0].annotationtype[4].internalid 5
+doctype[0].annotationtype[4].datatype 10007
+doctype[0].annotationtype[5].idx 10013
+doctype[0].annotationtype[5].name "term"
+doctype[0].annotationtype[5].internalid 1
+doctype[0].annotationtype[5].datatype 10007
+doctype[0].annotationtype[6].idx 10014
+doctype[0].annotationtype[6].name "transformed"
+doctype[0].annotationtype[6].internalid 7
+doctype[0].annotationtype[6].datatype 10007
+doctype[0].annotationtype[7].idx 10015
+doctype[0].annotationtype[7].name "canonical"
+doctype[0].annotationtype[7].internalid 3
+doctype[0].annotationtype[7].datatype 10007
+doctype[0].annotationtype[8].idx 10016
+doctype[0].annotationtype[8].name "token_type"
+doctype[0].annotationtype[8].internalid 2
+doctype[0].annotationtype[8].datatype 10003
+doctype[0].annotationtype[9].idx 10017
+doctype[0].annotationtype[9].name "special_token"
+doctype[0].annotationtype[9].internalid 9
+doctype[0].annotationtype[10].idx 10018
+doctype[0].annotationtype[10].name "stem"
+doctype[0].annotationtype[10].internalid 6
+doctype[0].annotationtype[10].datatype 10007
+doctype[0].annotationtype[11].idx 10019
+doctype[0].annotationtype[11].name "blah"
+doctype[0].annotationtype[11].internalid -1793776935
+doctype[0].annotationtype[11].datatype 10004
+doctype[0].annotationref[0].idx 10006
+doctype[0].annotationref[0].annotationtype 10008
+doctype[0].structtype[0].idx 10002
+doctype[0].structtype[0].name annotation.sub
+doctype[0].structtype[1].idx 10001
+doctype[0].structtype[1].name document.header
+doctype[0].structtype[2].idx 10004
+doctype[0].structtype[2].name annotation.blah
+doctype[0].structtype[2].field[0].name "a"
+doctype[0].structtype[2].field[0].internalid 1756498266
+doctype[0].structtype[2].field[0].type 10006
+doctype[1].name "indexingdocument"
+doctype[1].idx 10020
+doctype[1].inherits[0].idx 10000
+doctype[1].contentstruct 10021
+doctype[1].structtype[0].idx 10021
+doctype[1].structtype[0].name indexingdocument.header
+doctype[1].structtype[0].field[0].name "index"
+doctype[1].structtype[0].field[0].internalid 441138119
+doctype[1].structtype[0].field[0].type 10000
+doctype[1].structtype[0].field[1].name "summary"
+doctype[1].structtype[0].field[1].internalid 144383446
+doctype[1].structtype[0].field[1].type 10000
+doctype[1].structtype[0].field[2].name "attribute"
+doctype[1].structtype[0].field[2].internalid 265107008
+doctype[1].structtype[0].field[2].type 10000
+doctype[2].name "annotationspolymorphy_summary"
+doctype[2].idx 10022
+doctype[2].inherits[0].idx 10000
+doctype[2].contentstruct 10023
+doctype[2].structtype[0].idx 10023
+doctype[2].structtype[0].name annotationspolymorphy_summary.header
+doctype[2].structtype[0].field[0].name "rankfeatures"
+doctype[2].structtype[0].field[0].internalid 1883197392
+doctype[2].structtype[0].field[0].type 10007
+doctype[2].structtype[0].field[1].name "summaryfeatures"
+doctype[2].structtype[0].field[1].internalid 1840337115
+doctype[2].structtype[0].field[1].type 10007
+doctype[2].structtype[0].field[2].name "documentid"
+doctype[2].structtype[0].field[2].internalid 1097213282
+doctype[2].structtype[0].field[2].type 10007
+doctype[3].name "annotationspolymorphy_index"
+doctype[3].idx 10024
+doctype[3].inherits[0].idx 10000
+doctype[3].contentstruct 10025
+doctype[3].structtype[0].idx 10025
+doctype[3].structtype[0].name annotationspolymorphy_index.header
+doctype[4].name "annotationspolymorphy_attribute"
+doctype[4].idx 10026
+doctype[4].inherits[0].idx 10000
+doctype[4].contentstruct 10027
+doctype[4].structtype[0].idx 10027
+doctype[4].structtype[0].name annotationspolymorphy_attribute.header
diff --git a/document/src/test/document/documentmanager.annotationtypes1.cfg b/document/src/test/document/documentmanager.annotationtypes1.cfg
index fe9a666a4ff..07b9dee421a 100755
--- a/document/src/test/document/documentmanager.annotationtypes1.cfg
+++ b/document/src/test/document/documentmanager.annotationtypes1.cfg
@@ -1,121 +1,101 @@
-enablecompression false
-datatype[10]
-datatype[0].id 90768873
-datatype[0].arraytype[0]
-datatype[0].weightedsettype[0]
-datatype[0].structtype[0]
-datatype[0].documenttype[0]
-datatype[0].annotationreftype[1]
-datatype[0].annotationreftype[0].annotation "banana"
-datatype[1].id -1792356253
-datatype[1].arraytype[0]
-datatype[1].weightedsettype[0]
-datatype[1].structtype[0]
-datatype[1].documenttype[0]
-datatype[1].annotationreftype[1]
-datatype[1].annotationreftype[0].annotation "b"
-datatype[2].id 874655144
-datatype[2].arraytype[0]
-datatype[2].weightedsettype[0]
-datatype[2].structtype[0]
-datatype[2].documenttype[0]
-datatype[2].annotationreftype[1]
-datatype[2].annotationreftype[0].annotation "cyclic"
-datatype[3].id 571255414
-datatype[3].arraytype[0]
-datatype[3].weightedsettype[0]
-datatype[3].structtype[1]
-datatype[3].structtype[0].name "annotationsreference.header"
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].field[0]
-datatype[3].structtype[0].inherits[0]
-datatype[3].documenttype[0]
-datatype[3].annotationreftype[0]
-datatype[4].id 1692909067
-datatype[4].arraytype[0]
-datatype[4].weightedsettype[0]
-datatype[4].structtype[1]
-datatype[4].structtype[0].name "annotationsreference.body"
-datatype[4].structtype[0].version 0
-datatype[4].structtype[0].field[0]
-datatype[4].structtype[0].inherits[0]
-datatype[4].documenttype[0]
-datatype[4].annotationreftype[0]
-datatype[5].id -1448377175
-datatype[5].arraytype[0]
-datatype[5].weightedsettype[0]
-datatype[5].structtype[0]
-datatype[5].documenttype[1]
-datatype[5].documenttype[0].name "annotationsreference"
-datatype[5].documenttype[0].version 0
-datatype[5].documenttype[0].headerstruct 571255414
-datatype[5].documenttype[0].bodystruct 1692909067
-datatype[5].documenttype[0].inherits[0]
-datatype[5].annotationreftype[0]
-datatype[6].id 517946310
-datatype[6].arraytype[0]
-datatype[6].weightedsettype[0]
-datatype[6].structtype[1]
-datatype[6].structtype[0].name "annotation.banana"
-datatype[6].structtype[0].version 0
-datatype[6].structtype[0].field[1]
-datatype[6].structtype[0].field[0].name "brand"
-datatype[6].structtype[0].field[0].datatype 2
-datatype[6].structtype[0].field[0].id[0]
-datatype[6].structtype[0].inherits[0]
-datatype[6].documenttype[0]
-datatype[6].annotationreftype[0]
-datatype[7].id -770307521
-datatype[7].arraytype[0]
-datatype[7].weightedsettype[0]
-datatype[7].structtype[1]
-datatype[7].structtype[0].name "annotation.food"
-datatype[7].structtype[0].version 0
-datatype[7].structtype[0].field[1]
-datatype[7].structtype[0].field[0].name "what"
-datatype[7].structtype[0].field[0].datatype 90768873
-datatype[7].structtype[0].field[0].id[0]
-datatype[7].structtype[0].inherits[0]
-datatype[7].documenttype[0]
-datatype[7].annotationreftype[0]
-datatype[8].id 1781099546
-datatype[8].arraytype[0]
-datatype[8].weightedsettype[0]
-datatype[8].structtype[1]
-datatype[8].structtype[0].name "annotation.cyclic"
-datatype[8].structtype[0].version 0
-datatype[8].structtype[0].field[1]
-datatype[8].structtype[0].field[0].name "blah"
-datatype[8].structtype[0].field[0].datatype 874655144
-datatype[8].structtype[0].field[0].id[0]
-datatype[8].structtype[0].inherits[0]
-datatype[8].documenttype[0]
-datatype[8].annotationreftype[0]
-datatype[9].id 1443829412
-datatype[9].arraytype[0]
-datatype[9].weightedsettype[0]
-datatype[9].structtype[1]
-datatype[9].structtype[0].name "annotation.a"
-datatype[9].structtype[0].version 0
-datatype[9].structtype[0].field[1]
-datatype[9].structtype[0].field[0].name "foo"
-datatype[9].structtype[0].field[0].datatype -1792356253
-datatype[9].structtype[0].field[0].id[0]
-datatype[9].structtype[0].inherits[0]
-datatype[9].documenttype[0]
-datatype[9].annotationreftype[0]
-annotationtype[5]
-annotationtype[0].name "banana"
-annotationtype[0].id -269517759
-annotationtype[0].datatype 517946310
-annotationtype[1].name "b"
-annotationtype[1].id 1966167951
-annotationtype[2].name "food"
-annotationtype[2].id 1918102169
-annotationtype[2].datatype -770307521
-annotationtype[3].name "a"
-annotationtype[3].id 1769416289
-annotationtype[3].datatype 1443829412
-annotationtype[4].name "cyclic"
-annotationtype[4].id -1569831750
-annotationtype[4].datatype 1781099546
+doctype[2]
+doctype[0].name "document"
+doctype[0].idx 10000
+doctype[0].contentstruct 10001
+doctype[0].primitivetype[0].idx 10006
+doctype[0].primitivetype[0].internalid 0
+doctype[0].primitivetype[0].name "int"
+doctype[0].primitivetype[1].idx 10007
+doctype[0].primitivetype[1].internalid 5
+doctype[0].primitivetype[1].name "double"
+doctype[0].primitivetype[2].idx 10009
+doctype[0].primitivetype[2].internalid 2
+doctype[0].primitivetype[2].name "string"
+doctype[0].annotationtype[0].idx 10012
+doctype[0].annotationtype[0].name "banana"
+doctype[0].annotationtype[0].internalid -269517759
+doctype[0].annotationtype[0].datatype 10011
+doctype[0].annotationtype[1].idx 10013
+doctype[0].annotationtype[1].name "a"
+doctype[0].annotationtype[1].internalid 1769416289
+doctype[0].annotationtype[1].datatype 10004
+doctype[0].annotationtype[2].idx 10014
+doctype[0].annotationtype[2].name "b"
+doctype[0].annotationtype[2].internalid 1966167951
+doctype[0].annotationtype[3].idx 10015
+doctype[0].annotationtype[3].name "normalized"
+doctype[0].annotationtype[3].internalid 4
+doctype[0].annotationtype[3].datatype 10009
+doctype[0].annotationtype[4].idx 10016
+doctype[0].annotationtype[4].name "reading"
+doctype[0].annotationtype[4].internalid 5
+doctype[0].annotationtype[4].datatype 10009
+doctype[0].annotationtype[5].idx 10017
+doctype[0].annotationtype[5].name "canonical"
+doctype[0].annotationtype[5].internalid 3
+doctype[0].annotationtype[5].datatype 10009
+doctype[0].annotationtype[6].idx 10018
+doctype[0].annotationtype[6].name "token_type"
+doctype[0].annotationtype[6].internalid 2
+doctype[0].annotationtype[6].datatype 10006
+doctype[0].annotationtype[7].idx 10019
+doctype[0].annotationtype[7].name "food"
+doctype[0].annotationtype[7].internalid 1918102169
+doctype[0].annotationtype[7].datatype 10008
+doctype[0].annotationtype[8].idx 10020
+doctype[0].annotationtype[8].name "proximity_break"
+doctype[0].annotationtype[8].internalid 8
+doctype[0].annotationtype[8].datatype 10007
+doctype[0].annotationtype[9].idx 10021
+doctype[0].annotationtype[9].name "term"
+doctype[0].annotationtype[9].internalid 1
+doctype[0].annotationtype[9].datatype 10009
+doctype[0].annotationtype[10].idx 10022
+doctype[0].annotationtype[10].name "transformed"
+doctype[0].annotationtype[10].internalid 7
+doctype[0].annotationtype[10].datatype 10009
+doctype[0].annotationtype[11].idx 10023
+doctype[0].annotationtype[11].name "special_token"
+doctype[0].annotationtype[11].internalid 9
+doctype[0].annotationtype[12].idx 10024
+doctype[0].annotationtype[12].name "cyclic"
+doctype[0].annotationtype[12].internalid -1569831750
+doctype[0].annotationtype[12].datatype 10002
+doctype[0].annotationtype[13].idx 10025
+doctype[0].annotationtype[13].name "stem"
+doctype[0].annotationtype[13].internalid 6
+doctype[0].annotationtype[13].datatype 10009
+doctype[0].annotationref[0].idx 10003
+doctype[0].annotationref[0].annotationtype 10014
+doctype[0].annotationref[1].idx 10005
+doctype[0].annotationref[1].annotationtype 10012
+doctype[0].annotationref[2].idx 10010
+doctype[0].annotationref[2].annotationtype 10024
+doctype[0].structtype[0].idx 10002
+doctype[0].structtype[0].name annotation.cyclic
+doctype[0].structtype[0].field[0].name "blah"
+doctype[0].structtype[0].field[0].internalid 1575612242
+doctype[0].structtype[0].field[0].type 10010
+doctype[0].structtype[1].idx 10001
+doctype[0].structtype[1].name document.header
+doctype[0].structtype[2].idx 10004
+doctype[0].structtype[2].name annotation.a
+doctype[0].structtype[2].field[0].name "foo"
+doctype[0].structtype[2].field[0].internalid 1154429138
+doctype[0].structtype[2].field[0].type 10003
+doctype[0].structtype[3].idx 10008
+doctype[0].structtype[3].name annotation.food
+doctype[0].structtype[3].field[0].name "what"
+doctype[0].structtype[3].field[0].internalid 1767612604
+doctype[0].structtype[3].field[0].type 10005
+doctype[0].structtype[4].idx 10011
+doctype[0].structtype[4].name annotation.banana
+doctype[0].structtype[4].field[0].name "brand"
+doctype[0].structtype[4].field[0].internalid 2085058127
+doctype[0].structtype[4].field[0].type 10009
+doctype[1].name "annotationsreference"
+doctype[1].idx 10026
+doctype[1].inherits[0].idx 10000
+doctype[1].contentstruct 10027
+doctype[1].structtype[0].idx 10027
+doctype[1].structtype[0].name annotationsreference.header
diff --git a/document/src/test/document/documentmanager.annotationtypes2.cfg b/document/src/test/document/documentmanager.annotationtypes2.cfg
index db24517ab47..ecf48e9ad74 100755
--- a/document/src/test/document/documentmanager.annotationtypes2.cfg
+++ b/document/src/test/document/documentmanager.annotationtypes2.cfg
@@ -1,153 +1,126 @@
-enablecompression false
-datatype[10]
-datatype[0].id -1406250281
-datatype[0].arraytype[0]
-datatype[0].weightedsettype[0]
-datatype[0].structtype[1]
-datatype[0].structtype[0].name "annotationsinheritance.header"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].field[0]
-datatype[0].structtype[0].inherits[0]
-datatype[0].documenttype[0]
-datatype[0].annotationreftype[0]
-datatype[1].id 1181354668
-datatype[1].arraytype[0]
-datatype[1].weightedsettype[0]
-datatype[1].structtype[1]
-datatype[1].structtype[0].name "annotationsinheritance.body"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].field[0]
-datatype[1].structtype[0].inherits[0]
-datatype[1].documenttype[0]
-datatype[1].annotationreftype[0]
-datatype[2].id -748546200
-datatype[2].arraytype[0]
-datatype[2].weightedsettype[0]
-datatype[2].structtype[0]
-datatype[2].documenttype[1]
-datatype[2].documenttype[0].name "annotationsinheritance"
-datatype[2].documenttype[0].version 0
-datatype[2].documenttype[0].headerstruct -1406250281
-datatype[2].documenttype[0].bodystruct 1181354668
-datatype[2].documenttype[0].inherits[0]
-datatype[2].annotationreftype[0]
-datatype[3].id 517946310
-datatype[3].arraytype[0]
-datatype[3].weightedsettype[0]
-datatype[3].structtype[1]
-datatype[3].structtype[0].name "annotation.banana"
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].field[1]
-datatype[3].structtype[0].field[0].name "brand"
-datatype[3].structtype[0].field[0].datatype 2
-datatype[3].structtype[0].field[0].id[0]
-datatype[3].structtype[0].inherits[0]
-datatype[3].documenttype[0]
-datatype[3].annotationreftype[0]
-datatype[4].id -1047410193
-datatype[4].arraytype[0]
-datatype[4].weightedsettype[0]
-datatype[4].structtype[1]
-datatype[4].structtype[0].name "annotation.vehicle"
-datatype[4].structtype[0].version 0
-datatype[4].structtype[0].field[1]
-datatype[4].structtype[0].field[0].name "numwheels"
-datatype[4].structtype[0].field[0].datatype 0
-datatype[4].structtype[0].field[0].id[0]
-datatype[4].structtype[0].inherits[0]
-datatype[4].documenttype[0]
-datatype[4].annotationreftype[0]
-datatype[5].id 249059607
-datatype[5].arraytype[0]
-datatype[5].weightedsettype[0]
-datatype[5].structtype[1]
-datatype[5].structtype[0].name "annotation.car"
-datatype[5].structtype[0].version 0
-datatype[5].structtype[0].field[1]
-datatype[5].structtype[0].field[0].name "color"
-datatype[5].structtype[0].field[0].datatype 2
-datatype[5].structtype[0].field[0].id[0]
-datatype[5].structtype[0].inherits[1]
-datatype[5].structtype[0].inherits[0].name "annotation.vehicle"
-datatype[5].structtype[0].inherits[0].version 0
-datatype[5].documenttype[0]
-datatype[5].annotationreftype[0]
-datatype[6].id -1339036621
-datatype[6].arraytype[0]
-datatype[6].weightedsettype[0]
-datatype[6].structtype[1]
-datatype[6].structtype[0].name "annotation.intern"
-datatype[6].structtype[0].version 0
-datatype[6].structtype[0].field[1]
-datatype[6].structtype[0].field[0].name "enddate"
-datatype[6].structtype[0].field[0].datatype 4
-datatype[6].structtype[0].field[0].id[0]
-datatype[6].structtype[0].inherits[1]
-datatype[6].structtype[0].inherits[0].name "annotation.employee"
-datatype[6].structtype[0].inherits[0].version 0
-datatype[6].documenttype[0]
-datatype[6].annotationreftype[0]
-datatype[7].id -858216177
-datatype[7].arraytype[0]
-datatype[7].weightedsettype[0]
-datatype[7].structtype[1]
-datatype[7].structtype[0].name "annotation.employee"
-datatype[7].structtype[0].version 0
-datatype[7].structtype[0].field[1]
-datatype[7].structtype[0].field[0].name "employeeid"
-datatype[7].structtype[0].field[0].datatype 0
-datatype[7].structtype[0].field[0].id[0]
-datatype[7].structtype[0].inherits[1]
-datatype[7].structtype[0].inherits[0].name "annotation.worker"
-datatype[7].structtype[0].inherits[0].version 0
-datatype[7].documenttype[0]
-datatype[7].annotationreftype[0]
-datatype[8].id -1466283082
-datatype[8].arraytype[0]
-datatype[8].weightedsettype[0]
-datatype[8].structtype[1]
-datatype[8].structtype[0].name "annotation.person"
-datatype[8].structtype[0].version 0
-datatype[8].structtype[0].field[1]
-datatype[8].structtype[0].field[0].name "name"
-datatype[8].structtype[0].field[0].datatype 2
-datatype[8].structtype[0].field[0].id[0]
-datatype[8].structtype[0].inherits[0]
-datatype[8].documenttype[0]
-datatype[8].annotationreftype[0]
-datatype[9].id -1874092641
-datatype[9].arraytype[0]
-datatype[9].weightedsettype[0]
-datatype[9].structtype[1]
-datatype[9].structtype[0].name "annotation.worker"
-datatype[9].structtype[0].version 0
-datatype[9].structtype[0].field[0]
-datatype[9].structtype[0].inherits[1]
-datatype[9].structtype[0].inherits[0].name "annotation.person"
-datatype[9].structtype[0].inherits[0].version 0
-datatype[9].documenttype[0]
-datatype[9].annotationreftype[0]
-annotationtype[8]
-annotationtype[0].name "car"
-annotationtype[0].id -973728295
-annotationtype[0].datatype 249059607
-annotationtype[1].name "banana"
-annotationtype[1].id -269517759
-annotationtype[1].datatype 517946310
-annotationtype[2].name "fruit"
-annotationtype[2].id 877283632
-annotationtype[3].name "person"
-annotationtype[3].id 609952424
-annotationtype[3].datatype -1466283082
-annotationtype[4].name "vehicle"
-annotationtype[4].id 290814930
-annotationtype[4].datatype -1047410193
-annotationtype[5].name "intern"
-annotationtype[5].id 855102455
-annotationtype[5].datatype -1339036621
-annotationtype[6].name "worker"
-annotationtype[6].id 881692980
-annotationtype[6].datatype -1874092641
-annotationtype[7].name "employee"
-annotationtype[7].id 804106508
-annotationtype[7].datatype -858216177
+doctype[2]
+doctype[0].name "document"
+doctype[0].idx 10000
+doctype[0].contentstruct 10001
+doctype[0].primitivetype[0].idx 10005
+doctype[0].primitivetype[0].internalid 4
+doctype[0].primitivetype[0].name "long"
+doctype[0].primitivetype[1].idx 10008
+doctype[0].primitivetype[1].internalid 0
+doctype[0].primitivetype[1].name "int"
+doctype[0].primitivetype[2].idx 10009
+doctype[0].primitivetype[2].internalid 5
+doctype[0].primitivetype[2].name "double"
+doctype[0].primitivetype[3].idx 10012
+doctype[0].primitivetype[3].internalid 2
+doctype[0].primitivetype[3].name "string"
+doctype[0].annotationtype[0].idx 10013
+doctype[0].annotationtype[0].name "banana"
+doctype[0].annotationtype[0].internalid -269517759
+doctype[0].annotationtype[0].datatype 10010
+doctype[0].annotationtype[1].idx 10014
+doctype[0].annotationtype[1].name "intern"
+doctype[0].annotationtype[1].internalid 855102455
+doctype[0].annotationtype[1].datatype 10004
+doctype[0].annotationtype[2].idx 10015
+doctype[0].annotationtype[2].name "normalized"
+doctype[0].annotationtype[2].internalid 4
+doctype[0].annotationtype[2].datatype 10012
+doctype[0].annotationtype[3].idx 10016
+doctype[0].annotationtype[3].name "fruit"
+doctype[0].annotationtype[3].internalid 877283632
+doctype[0].annotationtype[4].idx 10017
+doctype[0].annotationtype[4].name "reading"
+doctype[0].annotationtype[4].internalid 5
+doctype[0].annotationtype[4].datatype 10012
+doctype[0].annotationtype[5].idx 10018
+doctype[0].annotationtype[5].name "canonical"
+doctype[0].annotationtype[5].internalid 3
+doctype[0].annotationtype[5].datatype 10012
+doctype[0].annotationtype[6].idx 10019
+doctype[0].annotationtype[6].name "token_type"
+doctype[0].annotationtype[6].internalid 2
+doctype[0].annotationtype[6].datatype 10008
+doctype[0].annotationtype[7].idx 10020
+doctype[0].annotationtype[7].name "employee"
+doctype[0].annotationtype[7].internalid 804106508
+doctype[0].annotationtype[7].datatype 10002
+doctype[0].annotationtype[8].idx 10021
+doctype[0].annotationtype[8].name "vehicle"
+doctype[0].annotationtype[8].internalid 290814930
+doctype[0].annotationtype[8].datatype 10003
+doctype[0].annotationtype[9].idx 10022
+doctype[0].annotationtype[9].name "proximity_break"
+doctype[0].annotationtype[9].internalid 8
+doctype[0].annotationtype[9].datatype 10009
+doctype[0].annotationtype[10].idx 10023
+doctype[0].annotationtype[10].name "car"
+doctype[0].annotationtype[10].internalid -973728295
+doctype[0].annotationtype[10].datatype 10006
+doctype[0].annotationtype[11].idx 10024
+doctype[0].annotationtype[11].name "person"
+doctype[0].annotationtype[11].internalid 609952424
+doctype[0].annotationtype[11].datatype 10011
+doctype[0].annotationtype[12].idx 10025
+doctype[0].annotationtype[12].name "term"
+doctype[0].annotationtype[12].internalid 1
+doctype[0].annotationtype[12].datatype 10012
+doctype[0].annotationtype[13].idx 10026
+doctype[0].annotationtype[13].name "transformed"
+doctype[0].annotationtype[13].internalid 7
+doctype[0].annotationtype[13].datatype 10012
+doctype[0].annotationtype[14].idx 10027
+doctype[0].annotationtype[14].name "worker"
+doctype[0].annotationtype[14].internalid 881692980
+doctype[0].annotationtype[14].datatype 10007
+doctype[0].annotationtype[15].idx 10028
+doctype[0].annotationtype[15].name "special_token"
+doctype[0].annotationtype[15].internalid 9
+doctype[0].annotationtype[16].idx 10029
+doctype[0].annotationtype[16].name "stem"
+doctype[0].annotationtype[16].internalid 6
+doctype[0].annotationtype[16].datatype 10012
+doctype[0].structtype[0].idx 10002
+doctype[0].structtype[0].name annotation.employee
+doctype[0].structtype[0].inherits[0].type 10007
+doctype[0].structtype[0].field[0].name "employeeid"
+doctype[0].structtype[0].field[0].internalid 109528570
+doctype[0].structtype[0].field[0].type 10008
+doctype[0].structtype[1].idx 10001
+doctype[0].structtype[1].name document.header
+doctype[0].structtype[2].idx 10003
+doctype[0].structtype[2].name annotation.vehicle
+doctype[0].structtype[2].field[0].name "numwheels"
+doctype[0].structtype[2].field[0].internalid 50890304
+doctype[0].structtype[2].field[0].type 10008
+doctype[0].structtype[3].idx 10004
+doctype[0].structtype[3].name annotation.intern
+doctype[0].structtype[3].inherits[0].type 10002
+doctype[0].structtype[3].field[0].name "enddate"
+doctype[0].structtype[3].field[0].internalid 206146600
+doctype[0].structtype[3].field[0].type 10005
+doctype[0].structtype[4].idx 10006
+doctype[0].structtype[4].name annotation.car
+doctype[0].structtype[4].inherits[0].type 10003
+doctype[0].structtype[4].field[0].name "color"
+doctype[0].structtype[4].field[0].internalid 344415742
+doctype[0].structtype[4].field[0].type 10012
+doctype[0].structtype[5].idx 10007
+doctype[0].structtype[5].name annotation.worker
+doctype[0].structtype[5].inherits[0].type 10011
+doctype[0].structtype[6].idx 10010
+doctype[0].structtype[6].name annotation.banana
+doctype[0].structtype[6].field[0].name "brand"
+doctype[0].structtype[6].field[0].internalid 2085058127
+doctype[0].structtype[6].field[0].type 10012
+doctype[0].structtype[7].idx 10011
+doctype[0].structtype[7].name annotation.person
+doctype[0].structtype[7].field[0].name "name"
+doctype[0].structtype[7].field[0].internalid 1160796772
+doctype[0].structtype[7].field[0].type 10012
+doctype[1].name "annotationsinheritance"
+doctype[1].idx 10030
+doctype[1].inherits[0].idx 10000
+doctype[1].contentstruct 10031
+doctype[1].structtype[0].idx 10031
+doctype[1].structtype[0].name annotationsinheritance.header
diff --git a/document/src/test/document/documentmanager.cfg b/document/src/test/document/documentmanager.cfg
index a4cf62db0c7..988edb1df8e 100644
--- a/document/src/test/document/documentmanager.cfg
+++ b/document/src/test/document/documentmanager.cfg
@@ -1,105 +1,102 @@
-usev8geopositions true
doctype[4]
doctype[0].name "document"
-doctype[0].idx 1000
-doctype[0].contentstruct 1001
-doctype[0].primitivetype[0].idx 1002
+doctype[0].idx 10000
+doctype[0].contentstruct 10001
+doctype[0].primitivetype[0].idx 10002
+doctype[0].primitivetype[0].internalid 0
doctype[0].primitivetype[0].name "int"
-doctype[0].primitivetype[1].idx 1003
+doctype[0].primitivetype[1].idx 10003
+doctype[0].primitivetype[1].internalid 5
doctype[0].primitivetype[1].name "double"
-doctype[0].primitivetype[2].idx 1004
+doctype[0].primitivetype[2].idx 10004
+doctype[0].primitivetype[2].internalid 2
doctype[0].primitivetype[2].name "string"
-doctype[0].annotationtype[0].idx 1005
+doctype[0].annotationtype[0].idx 10005
doctype[0].annotationtype[0].name "proximity_break"
doctype[0].annotationtype[0].internalid 8
-doctype[0].annotationtype[0].datatype 1003
-doctype[0].annotationtype[1].idx 1006
+doctype[0].annotationtype[0].datatype 10003
+doctype[0].annotationtype[1].idx 10006
doctype[0].annotationtype[1].name "normalized"
doctype[0].annotationtype[1].internalid 4
-doctype[0].annotationtype[1].datatype 1004
-doctype[0].annotationtype[2].idx 1007
+doctype[0].annotationtype[1].datatype 10004
+doctype[0].annotationtype[2].idx 10007
doctype[0].annotationtype[2].name "reading"
doctype[0].annotationtype[2].internalid 5
-doctype[0].annotationtype[2].datatype 1004
-doctype[0].annotationtype[3].idx 1008
+doctype[0].annotationtype[2].datatype 10004
+doctype[0].annotationtype[3].idx 10008
doctype[0].annotationtype[3].name "term"
doctype[0].annotationtype[3].internalid 1
-doctype[0].annotationtype[3].datatype 1004
-doctype[0].annotationtype[4].idx 1009
+doctype[0].annotationtype[3].datatype 10004
+doctype[0].annotationtype[4].idx 10009
doctype[0].annotationtype[4].name "transformed"
doctype[0].annotationtype[4].internalid 7
-doctype[0].annotationtype[4].datatype 1004
-doctype[0].annotationtype[5].idx 1010
+doctype[0].annotationtype[4].datatype 10004
+doctype[0].annotationtype[5].idx 10010
doctype[0].annotationtype[5].name "canonical"
doctype[0].annotationtype[5].internalid 3
-doctype[0].annotationtype[5].datatype 1004
-doctype[0].annotationtype[6].idx 1011
+doctype[0].annotationtype[5].datatype 10004
+doctype[0].annotationtype[6].idx 10011
doctype[0].annotationtype[6].name "token_type"
doctype[0].annotationtype[6].internalid 2
-doctype[0].annotationtype[6].datatype 1002
-doctype[0].annotationtype[7].idx 1012
+doctype[0].annotationtype[6].datatype 10002
+doctype[0].annotationtype[7].idx 10012
doctype[0].annotationtype[7].name "special_token"
doctype[0].annotationtype[7].internalid 9
-doctype[0].annotationtype[8].idx 1013
+doctype[0].annotationtype[8].idx 10013
doctype[0].annotationtype[8].name "stem"
doctype[0].annotationtype[8].internalid 6
-doctype[0].annotationtype[8].datatype 1004
-doctype[0].structtype[0].idx 1001
+doctype[0].annotationtype[8].datatype 10004
+doctype[0].structtype[0].idx 10001
doctype[0].structtype[0].name document.header
-doctype[0].structtype[1].idx 10010
-doctype[0].structtype[1].name "position"
-doctype[0].structtype[1].field[0].name "x"
-doctype[0].structtype[1].field[0].internalid 914677694
-doctype[0].structtype[1].field[0].type 1002
-doctype[0].structtype[1].field[1].name "y"
-doctype[0].structtype[1].field[1].internalid 900009410
-doctype[0].structtype[1].field[1].type 1002
doctype[1].name "foobar"
-doctype[1].idx 1014
-doctype[1].inherits[0].idx 1000
-doctype[1].contentstruct 1015
-doctype[1].primitivetype[0].idx 1016
+doctype[1].idx 10014
+doctype[1].inherits[0].idx 10000
+doctype[1].contentstruct 10015
+doctype[1].primitivetype[0].idx 10016
+doctype[1].primitivetype[0].internalid 4
doctype[1].primitivetype[0].name "long"
-doctype[1].structtype[0].idx 1015
+doctype[1].structtype[0].idx 10015
doctype[1].structtype[0].name foobar.header
doctype[1].structtype[0].field[0].name "foobarfield1"
doctype[1].structtype[0].field[0].internalid 1707020592
-doctype[1].structtype[0].field[0].type 1016
+doctype[1].structtype[0].field[0].type 10016
doctype[1].structtype[0].field[1].name "foobarfield0"
doctype[1].structtype[0].field[1].internalid 1055920092
-doctype[1].structtype[0].field[1].type 1004
+doctype[1].structtype[0].field[1].type 10004
doctype[2].name "banana"
-doctype[2].idx 1017
-doctype[2].inherits[0].idx 1014
-doctype[2].contentstruct 1018
-doctype[2].primitivetype[0].idx 1019
+doctype[2].idx 10017
+doctype[2].inherits[0].idx 10014
+doctype[2].contentstruct 10018
+doctype[2].primitivetype[0].idx 10019
+doctype[2].primitivetype[0].internalid 16
doctype[2].primitivetype[0].name "byte"
-doctype[2].structtype[0].idx 1018
+doctype[2].structtype[0].idx 10018
doctype[2].structtype[0].name banana.header
doctype[2].structtype[0].field[0].name "foobarfield1"
doctype[2].structtype[0].field[0].internalid 1707020592
-doctype[2].structtype[0].field[0].type 1016
+doctype[2].structtype[0].field[0].type 10016
doctype[2].structtype[0].field[1].name "foobarfield0"
doctype[2].structtype[0].field[1].internalid 1055920092
-doctype[2].structtype[0].field[1].type 1004
+doctype[2].structtype[0].field[1].type 10004
doctype[2].structtype[0].field[2].name "bananafield0"
doctype[2].structtype[0].field[2].internalid 1294599520
-doctype[2].structtype[0].field[2].type 1019
+doctype[2].structtype[0].field[2].type 10019
doctype[3].name "customtypes"
-doctype[3].idx 1020
-doctype[3].inherits[0].idx 1000
-doctype[3].contentstruct 1021
-doctype[3].primitivetype[0].idx 1023
+doctype[3].idx 10020
+doctype[3].inherits[0].idx 10000
+doctype[3].contentstruct 10021
+doctype[3].primitivetype[0].idx 10024
+doctype[3].primitivetype[0].internalid 1
doctype[3].primitivetype[0].name "float"
-doctype[3].arraytype[0].idx 1022
-doctype[3].arraytype[0].elementtype 1024
-doctype[3].arraytype[1].idx 1024
-doctype[3].arraytype[1].elementtype 1023
-doctype[3].structtype[0].idx 1021
+doctype[3].arraytype[0].idx 10022
+doctype[3].arraytype[0].elementtype 10023
+doctype[3].arraytype[1].idx 10023
+doctype[3].arraytype[1].elementtype 10024
+doctype[3].structtype[0].idx 10021
doctype[3].structtype[0].name customtypes.header
doctype[3].structtype[0].field[0].name "arrayfloat"
doctype[3].structtype[0].field[0].internalid 1493411963
-doctype[3].structtype[0].field[0].type 1024
+doctype[3].structtype[0].field[0].type 10023
doctype[3].structtype[0].field[1].name "arrayarrayfloat"
doctype[3].structtype[0].field[1].internalid 890649191
-doctype[3].structtype[0].field[1].type 1022
+doctype[3].structtype[0].field[1].type 10022
diff --git a/document/src/test/document/documentmanager.declstruct.cfg b/document/src/test/document/documentmanager.declstruct.cfg
index d9c48ddc42f..2e25ff00619 100644
--- a/document/src/test/document/documentmanager.declstruct.cfg
+++ b/document/src/test/document/documentmanager.declstruct.cfg
@@ -1,89 +1,95 @@
-enablecompression false
-usev8geopositions false
+doctype[5]
doctype[0].name "document"
doctype[0].idx 10000
doctype[0].contentstruct 10001
doctype[0].primitivetype[0].idx 10002
-doctype[0].primitivetype[0].name "bool"
+doctype[0].primitivetype[0].internalid 0
+doctype[0].primitivetype[0].name "int"
doctype[0].primitivetype[1].idx 10003
-doctype[0].primitivetype[1].name "byte"
+doctype[0].primitivetype[1].internalid 5
+doctype[0].primitivetype[1].name "double"
doctype[0].primitivetype[2].idx 10004
-doctype[0].primitivetype[2].name "double"
-doctype[0].primitivetype[3].idx 10005
-doctype[0].primitivetype[3].name "float"
-doctype[0].primitivetype[4].idx 10006
-doctype[0].primitivetype[4].name "float16"
-doctype[0].primitivetype[5].idx 10007
-doctype[0].primitivetype[5].name "int"
-doctype[0].primitivetype[6].idx 10008
-doctype[0].primitivetype[6].name "long"
-doctype[0].primitivetype[7].idx 10010
-doctype[0].primitivetype[7].name "predicate"
-doctype[0].primitivetype[8].idx 10011
-doctype[0].primitivetype[8].name "raw"
-doctype[0].primitivetype[9].idx 10012
-doctype[0].primitivetype[9].name "string"
-doctype[0].primitivetype[10].idx 10014
-doctype[0].primitivetype[10].name "uri"
-doctype[0].wsettype[0].idx 10013
-doctype[0].wsettype[0].elementtype 10012
-doctype[0].wsettype[0].createifnonexistent true
-doctype[0].wsettype[0].removeifzero true
+doctype[0].primitivetype[2].internalid 2
+doctype[0].primitivetype[2].name "string"
+doctype[0].annotationtype[0].idx 10005
+doctype[0].annotationtype[0].name "proximity_break"
+doctype[0].annotationtype[0].internalid 8
+doctype[0].annotationtype[0].datatype 10003
+doctype[0].annotationtype[1].idx 10006
+doctype[0].annotationtype[1].name "normalized"
+doctype[0].annotationtype[1].internalid 4
+doctype[0].annotationtype[1].datatype 10004
+doctype[0].annotationtype[2].idx 10007
+doctype[0].annotationtype[2].name "reading"
+doctype[0].annotationtype[2].internalid 5
+doctype[0].annotationtype[2].datatype 10004
+doctype[0].annotationtype[3].idx 10008
+doctype[0].annotationtype[3].name "term"
+doctype[0].annotationtype[3].internalid 1
+doctype[0].annotationtype[3].datatype 10004
+doctype[0].annotationtype[4].idx 10009
+doctype[0].annotationtype[4].name "transformed"
+doctype[0].annotationtype[4].internalid 7
+doctype[0].annotationtype[4].datatype 10004
+doctype[0].annotationtype[5].idx 10010
+doctype[0].annotationtype[5].name "canonical"
+doctype[0].annotationtype[5].internalid 3
+doctype[0].annotationtype[5].datatype 10004
+doctype[0].annotationtype[6].idx 10011
+doctype[0].annotationtype[6].name "token_type"
+doctype[0].annotationtype[6].internalid 2
+doctype[0].annotationtype[6].datatype 10002
+doctype[0].annotationtype[7].idx 10012
+doctype[0].annotationtype[7].name "special_token"
+doctype[0].annotationtype[7].internalid 9
+doctype[0].annotationtype[8].idx 10013
+doctype[0].annotationtype[8].name "stem"
+doctype[0].annotationtype[8].internalid 6
+doctype[0].annotationtype[8].datatype 10004
doctype[0].structtype[0].idx 10001
-doctype[0].structtype[0].name "document.header"
-doctype[0].structtype[1].idx 10009
-doctype[0].structtype[1].name "position"
-doctype[0].structtype[1].field[0].name "x"
-doctype[0].structtype[1].field[0].internalid 914677694
-doctype[0].structtype[1].field[0].type 10007
-doctype[0].structtype[1].field[1].name "y"
-doctype[0].structtype[1].field[1].internalid 900009410
-doctype[0].structtype[1].field[1].type 10007
+doctype[0].structtype[0].name document.header
doctype[1].name "common"
-doctype[1].idx 10015
+doctype[1].idx 10014
doctype[1].inherits[0].idx 10000
-doctype[1].contentstruct 10016
+doctype[1].contentstruct 10015
doctype[1].structtype[0].idx 10016
-doctype[1].structtype[0].name "common.header"
-doctype[1].structtype[1].idx 10017
-doctype[1].structtype[1].name "mystruct"
-doctype[1].structtype[1].field[0].name "f0"
-doctype[1].structtype[1].field[0].internalid 111558427
-doctype[1].structtype[1].field[0].type 10012
-doctype[2].name "foo"
-doctype[2].idx 10018
-doctype[2].inherits[0].idx 10000
-doctype[2].inherits[1].idx 10015
-doctype[2].contentstruct 10019
+doctype[1].structtype[0].name mystruct
+doctype[1].structtype[0].field[0].name "f0"
+doctype[1].structtype[0].field[0].internalid 111558427
+doctype[1].structtype[0].field[0].type 10004
+doctype[1].structtype[1].idx 10015
+doctype[1].structtype[1].name common.header
+doctype[2].name "bar"
+doctype[2].idx 10017
+doctype[2].inherits[0].idx 10014
+doctype[2].contentstruct 10018
doctype[2].structtype[0].idx 10019
-doctype[2].structtype[0].name "foo.header"
-doctype[2].structtype[1].idx 10020
-doctype[2].structtype[1].name "mystructinfoo"
-doctype[2].structtype[1].field[0].name "f1"
-doctype[2].structtype[1].field[0].internalid 1911889118
-doctype[2].structtype[1].field[0].type 10012
-doctype[3].name "bar"
-doctype[3].idx 10021
-doctype[3].inherits[0].idx 10000
-doctype[3].inherits[1].idx 10015
-doctype[3].contentstruct 10022
-doctype[3].structtype[0].idx 10022
-doctype[3].structtype[0].name "bar.header"
-doctype[3].structtype[1].idx 10023
-doctype[3].structtype[1].name "mystructinbar"
-doctype[3].structtype[1].field[0].name "f2"
-doctype[3].structtype[1].field[0].internalid 84639357
-doctype[3].structtype[1].field[0].type 10012
+doctype[2].structtype[0].name mystructinbar
+doctype[2].structtype[0].field[0].name "f2"
+doctype[2].structtype[0].field[0].internalid 84639357
+doctype[2].structtype[0].field[0].type 10004
+doctype[2].structtype[1].idx 10018
+doctype[2].structtype[1].name bar.header
+doctype[3].name "foo"
+doctype[3].idx 10020
+doctype[3].inherits[0].idx 10014
+doctype[3].contentstruct 10021
+doctype[3].structtype[0].idx 10021
+doctype[3].structtype[0].name foo.header
+doctype[3].structtype[1].idx 10022
+doctype[3].structtype[1].name mystructinfoo
+doctype[3].structtype[1].field[0].name "f1"
+doctype[3].structtype[1].field[0].internalid 1911889118
+doctype[3].structtype[1].field[0].type 10004
doctype[4].name "foobar"
-doctype[4].idx 10024
-doctype[4].inherits[0].idx 10000
-doctype[4].inherits[1].idx 10018
-doctype[4].inherits[2].idx 10021
-doctype[4].contentstruct 10025
-doctype[4].structtype[0].idx 10025
-doctype[4].structtype[0].name "foobar.header"
-doctype[4].structtype[1].idx 10026
-doctype[4].structtype[1].name "mystructinfoobar"
+doctype[4].idx 10023
+doctype[4].inherits[0].idx 10020
+doctype[4].inherits[1].idx 10017
+doctype[4].contentstruct 10024
+doctype[4].structtype[0].idx 10024
+doctype[4].structtype[0].name foobar.header
+doctype[4].structtype[1].idx 10025
+doctype[4].structtype[1].name mystructinfoobar
doctype[4].structtype[1].field[0].name "f3"
doctype[4].structtype[1].field[0].internalid 63940691
-doctype[4].structtype[1].field[0].type 10012
+doctype[4].structtype[1].field[0].type 10004
diff --git a/document/src/test/document/documentmanager.importedfields.cfg b/document/src/test/document/documentmanager.importedfields.cfg
index 765e290ae82..b77b2c71d68 100644
--- a/document/src/test/document/documentmanager.importedfields.cfg
+++ b/document/src/test/document/documentmanager.importedfields.cfg
@@ -1,65 +1,69 @@
-datatype[7]
-datatype[0].id -1365874599
-datatype[0].arraytype[0]
-datatype[0].weightedsettype[0]
-datatype[0].structtype[1]
-datatype[0].structtype[0].name referenced_type.header
-datatype[0].structtype[0].version 9
-datatype[0].structtype[0].field[0]
-datatype[0].documenttype[0]
-datatype[1].id 278604398
-datatype[1].arraytype[0]
-datatype[1].weightedsettype[0]
-datatype[1].structtype[1]
-datatype[1].structtype[0].name referenced_type.body
-datatype[1].structtype[0].version 9
-datatype[1].structtype[0].field[0]
-datatype[1].documenttype[0]
-datatype[2].id 124647170
-datatype[2].arraytype[0]
-datatype[2].weightedsettype[0]
-datatype[2].structtype[0]
-datatype[2].documenttype[1]
-datatype[2].documenttype[0].name referenced_type
-datatype[2].documenttype[0].version 9
-datatype[2].documenttype[0].inherits[0]
-datatype[2].documenttype[0].headerstruct -1365874599
-datatype[2].documenttype[0].bodystruct 278604398
-datatype[3].id 12345678
-datatype[3].arraytype[0]
-datatype[3].weightedsettype[0]
-datatype[3].structtype[0]
-datatype[3].documenttype[0]
-datatype[3].referencetype[1]
-datatype[3].referencetype[0].target_type_id 124647170
-datatype[4].id 673066331
-datatype[4].arraytype[0]
-datatype[4].weightedsettype[0]
-datatype[4].structtype[1]
-datatype[4].structtype[0].name type_with_ref.header
-datatype[4].structtype[0].version 234
-datatype[4].structtype[0].field[1]
-datatype[4].structtype[0].field[0].name my_ref_field
-datatype[4].structtype[0].field[0].id[0]
-datatype[4].structtype[0].field[0].datatype 12345678
-datatype[4].documenttype[0]
-datatype[5].id -176986064
-datatype[5].arraytype[0]
-datatype[5].weightedsettype[0]
-datatype[5].structtype[1]
-datatype[5].structtype[0].name type_with_ref.body
-datatype[5].structtype[0].version 234
-datatype[5].structtype[0].field[0]
-datatype[5].documenttype[0]
-datatype[6].id -1293964543
-datatype[6].arraytype[0]
-datatype[6].weightedsettype[0]
-datatype[6].structtype[0]
-datatype[6].documenttype[1]
-datatype[6].documenttype[0].name type_with_ref
-datatype[6].documenttype[0].version 234
-datatype[6].documenttype[0].inherits[0]
-datatype[6].documenttype[0].headerstruct 673066331
-datatype[6].documenttype[0].bodystruct -176986064
-datatype[6].documenttype[0].importedfield[0].name "my_cool_imported_field"
-datatype[6].documenttype[0].importedfield[1].name "my_awesome_imported_field" \ No newline at end of file
+doctype[3]
+doctype[0].name "document"
+doctype[0].idx 10000
+doctype[0].contentstruct 10001
+doctype[0].primitivetype[0].idx 10002
+doctype[0].primitivetype[0].internalid 0
+doctype[0].primitivetype[0].name "int"
+doctype[0].primitivetype[1].idx 10003
+doctype[0].primitivetype[1].internalid 5
+doctype[0].primitivetype[1].name "double"
+doctype[0].primitivetype[2].idx 10004
+doctype[0].primitivetype[2].internalid 2
+doctype[0].primitivetype[2].name "string"
+doctype[0].annotationtype[0].idx 10005
+doctype[0].annotationtype[0].name "proximity_break"
+doctype[0].annotationtype[0].internalid 8
+doctype[0].annotationtype[0].datatype 10003
+doctype[0].annotationtype[1].idx 10006
+doctype[0].annotationtype[1].name "normalized"
+doctype[0].annotationtype[1].internalid 4
+doctype[0].annotationtype[1].datatype 10004
+doctype[0].annotationtype[2].idx 10007
+doctype[0].annotationtype[2].name "reading"
+doctype[0].annotationtype[2].internalid 5
+doctype[0].annotationtype[2].datatype 10004
+doctype[0].annotationtype[3].idx 10008
+doctype[0].annotationtype[3].name "term"
+doctype[0].annotationtype[3].internalid 1
+doctype[0].annotationtype[3].datatype 10004
+doctype[0].annotationtype[4].idx 10009
+doctype[0].annotationtype[4].name "transformed"
+doctype[0].annotationtype[4].internalid 7
+doctype[0].annotationtype[4].datatype 10004
+doctype[0].annotationtype[5].idx 10010
+doctype[0].annotationtype[5].name "canonical"
+doctype[0].annotationtype[5].internalid 3
+doctype[0].annotationtype[5].datatype 10004
+doctype[0].annotationtype[6].idx 10011
+doctype[0].annotationtype[6].name "token_type"
+doctype[0].annotationtype[6].internalid 2
+doctype[0].annotationtype[6].datatype 10002
+doctype[0].annotationtype[7].idx 10012
+doctype[0].annotationtype[7].name "special_token"
+doctype[0].annotationtype[7].internalid 9
+doctype[0].annotationtype[8].idx 10013
+doctype[0].annotationtype[8].name "stem"
+doctype[0].annotationtype[8].internalid 6
+doctype[0].annotationtype[8].datatype 10004
+doctype[0].structtype[0].idx 10001
+doctype[0].structtype[0].name document.header
+doctype[1].name "type_with_ref"
+doctype[1].idx 10014
+doctype[1].inherits[0].idx 10000
+doctype[1].contentstruct 10015
+doctype[1].importedfield[0].name "my_cool_imported_field"
+doctype[1].importedfield[1].name "my_awesome_imported_field"
+doctype[1].documentref[0].idx 10016
+doctype[1].documentref[0].targettype 10017
+doctype[1].structtype[0].idx 10015
+doctype[1].structtype[0].name type_with_ref.header
+doctype[1].structtype[0].field[0].name "my_ref_field"
+doctype[1].structtype[0].field[0].internalid 489538557
+doctype[1].structtype[0].field[0].type 10016
+doctype[2].name "referenced_type"
+doctype[2].idx 10017
+doctype[2].inherits[0].idx 10000
+doctype[2].contentstruct 10018
+doctype[2].structtype[0].idx 10018
+doctype[2].structtype[0].name referenced_type.header
diff --git a/document/src/test/document/documentmanager.replaced_temporary.cfg b/document/src/test/document/documentmanager.replaced_temporary.cfg
index 06a5364cfb1..6e32f1ac4ed 100644
--- a/document/src/test/document/documentmanager.replaced_temporary.cfg
+++ b/document/src/test/document/documentmanager.replaced_temporary.cfg
@@ -1,55 +1,75 @@
-enablecompression false
-datatype[12].id 1191756824
-datatype[12].referencetype[0].target_type_id 886149367
-datatype[13].id -2054976470
-datatype[13].arraytype[0].datatype 5
-datatype[14].id 959075962
-datatype[14].structtype[0].name "ad.header"
-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[14].structtype[0].field[286].datatype 1191756824
-datatype[14].structtype[0].field[286].name "campaign_ref"
-datatype[14].structtype[0].field[286].detailedtype ""
-datatype[15].id -255288561
-datatype[15].structtype[0].name "ad.body"
-datatype[15].structtype[0].version 0
-datatype[15].structtype[0].compresstype "NONE"
-datatype[15].structtype[0].compresslevel 0
-datatype[15].structtype[0].compressthreshold 95
-datatype[15].structtype[0].compressminsize 800
-datatype[16].id 2987301
-datatype[16].documenttype[0].name "ad"
-datatype[16].documenttype[0].version 0
-datatype[16].documenttype[0].inherits[0].name "document"
-datatype[16].documenttype[0].inherits[0].version 0
-datatype[16].documenttype[0].headerstruct 959075962
-datatype[16].documenttype[0].bodystruct -255288561
-datatype[16].documenttype[0].fieldsets.[document].fields[722] "campaign_ref"
-datatype[57].id 350014056
-datatype[57].structtype[0].name "mystiqueCampaign.header"
-datatype[57].structtype[0].version 0
-datatype[57].structtype[0].compresstype "NONE"
-datatype[57].structtype[0].compresslevel 0
-datatype[57].structtype[0].compressthreshold 95
-datatype[57].structtype[0].compressminsize 800
-datatype[57].structtype[0].field[0].datatype 4
-datatype[57].structtype[0].field[0].name "campaign_id"
-datatype[57].structtype[0].field[0].detailedtype ""
-datatype[58].id -524078467
-datatype[58].structtype[0].name "mystiqueCampaign.body"
-datatype[58].structtype[0].version 0
-datatype[58].structtype[0].compresstype "NONE"
-datatype[58].structtype[0].compresslevel 0
-datatype[58].structtype[0].compressthreshold 95
-datatype[58].structtype[0].compressminsize 800
-datatype[59].id 886149367
-datatype[59].documenttype[0].name "mystiqueCampaign"
-datatype[59].documenttype[0].version 0
-datatype[59].documenttype[0].inherits[0].name "document"
-datatype[59].documenttype[0].inherits[0].version 0
-datatype[59].documenttype[0].headerstruct 350014056
-datatype[59].documenttype[0].bodystruct -524078467
-datatype[59].documenttype[0].fieldsets.[document].fields[0] "campaign_id"
+doctype[3]
+doctype[0].name "document"
+doctype[0].idx 10000
+doctype[0].contentstruct 10001
+doctype[0].primitivetype[0].idx 10002
+doctype[0].primitivetype[0].internalid 0
+doctype[0].primitivetype[0].name "int"
+doctype[0].primitivetype[1].idx 10003
+doctype[0].primitivetype[1].internalid 5
+doctype[0].primitivetype[1].name "double"
+doctype[0].primitivetype[2].idx 10004
+doctype[0].primitivetype[2].internalid 2
+doctype[0].primitivetype[2].name "string"
+doctype[0].annotationtype[0].idx 10005
+doctype[0].annotationtype[0].name "proximity_break"
+doctype[0].annotationtype[0].internalid 8
+doctype[0].annotationtype[0].datatype 10003
+doctype[0].annotationtype[1].idx 10006
+doctype[0].annotationtype[1].name "normalized"
+doctype[0].annotationtype[1].internalid 4
+doctype[0].annotationtype[1].datatype 10004
+doctype[0].annotationtype[2].idx 10007
+doctype[0].annotationtype[2].name "reading"
+doctype[0].annotationtype[2].internalid 5
+doctype[0].annotationtype[2].datatype 10004
+doctype[0].annotationtype[3].idx 10008
+doctype[0].annotationtype[3].name "term"
+doctype[0].annotationtype[3].internalid 1
+doctype[0].annotationtype[3].datatype 10004
+doctype[0].annotationtype[4].idx 10009
+doctype[0].annotationtype[4].name "transformed"
+doctype[0].annotationtype[4].internalid 7
+doctype[0].annotationtype[4].datatype 10004
+doctype[0].annotationtype[5].idx 10010
+doctype[0].annotationtype[5].name "canonical"
+doctype[0].annotationtype[5].internalid 3
+doctype[0].annotationtype[5].datatype 10004
+doctype[0].annotationtype[6].idx 10011
+doctype[0].annotationtype[6].name "token_type"
+doctype[0].annotationtype[6].internalid 2
+doctype[0].annotationtype[6].datatype 10002
+doctype[0].annotationtype[7].idx 10012
+doctype[0].annotationtype[7].name "special_token"
+doctype[0].annotationtype[7].internalid 9
+doctype[0].annotationtype[8].idx 10013
+doctype[0].annotationtype[8].name "stem"
+doctype[0].annotationtype[8].internalid 6
+doctype[0].annotationtype[8].datatype 10004
+doctype[0].structtype[0].idx 10001
+doctype[0].structtype[0].name document.header
+doctype[1].name "mystiqueCampaign"
+doctype[1].idx 10014
+doctype[1].inherits[0].idx 10000
+doctype[1].contentstruct 10015
+doctype[1].fieldsets{[document]}.field[0] campaign_id
+doctype[1].primitivetype[0].idx 10016
+doctype[1].primitivetype[0].internalid 4
+doctype[1].primitivetype[0].name "long"
+doctype[1].structtype[0].idx 10015
+doctype[1].structtype[0].name mystiqueCampaign.header
+doctype[1].structtype[0].field[0].name "campaign_id"
+doctype[1].structtype[0].field[0].internalid 1587347654
+doctype[1].structtype[0].field[0].type 10016
+doctype[2].name "ad"
+doctype[2].idx 10017
+doctype[2].inherits[0].idx 10000
+doctype[2].contentstruct 10018
+doctype[2].fieldsets{[document]}.field[0] campaign_ref
+doctype[2].documentref[0].idx 10019
+doctype[2].documentref[0].targettype 10014
+doctype[2].structtype[0].idx 10018
+doctype[2].structtype[0].name ad.header
+doctype[2].structtype[0].field[0].name "campaign_ref"
+doctype[2].structtype[0].field[0].internalid 1721523890
+doctype[2].structtype[0].field[0].type 10019
diff --git a/document/src/test/document/documentmanager.sombrero1.cfg b/document/src/test/document/documentmanager.sombrero1.cfg
index 1a8bfed7649..8d2e35b2757 100644
--- a/document/src/test/document/documentmanager.sombrero1.cfg
+++ b/document/src/test/document/documentmanager.sombrero1.cfg
@@ -1,68 +1,75 @@
-enablecompression false
-datatype[5]
-datatype[0].id 2131819585
-datatype[0].arraytype[0]
-datatype[0].weightedsettype[0]
-datatype[0].structtype[1]
-datatype[0].structtype[0].name "example.app.header"
-datatype[0].structtype[0].version 1
-datatype[0].structtype[0].field[1]
-datatype[0].structtype[0].field[0].name "text"
-datatype[0].structtype[0].field[0].datatype 2
-datatype[0].structtype[0].field[0].id[0]
-datatype[0].structtype[0].inherits[0]
-datatype[0].documenttype[0]
-datatype[0].annotationreftype[0]
-datatype[1].id 1636432470
-datatype[1].arraytype[0]
-datatype[1].weightedsettype[0]
-datatype[1].structtype[1]
-datatype[1].structtype[0].name "example.app.body"
-datatype[1].structtype[0].version 1
-datatype[1].structtype[0].field[0]
-datatype[1].structtype[0].inherits[0]
-datatype[1].documenttype[0]
-datatype[1].annotationreftype[0]
-datatype[2].id 112411168
-datatype[2].arraytype[0]
-datatype[2].weightedsettype[0]
-datatype[2].structtype[0]
-datatype[2].documenttype[1]
-datatype[2].documenttype[0].name "example.app"
-datatype[2].documenttype[0].version 1
-datatype[2].documenttype[0].headerstruct 2131819585
-datatype[2].documenttype[0].bodystruct 1636432470
-datatype[2].documenttype[0].inherits[0]
-datatype[2].annotationreftype[0]
-datatype[3].id -897633294
-datatype[3].arraytype[0]
-datatype[3].weightedsettype[0]
-datatype[3].structtype[1]
-datatype[3].structtype[0].name "annotation.base"
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].field[1]
-datatype[3].structtype[0].field[0].name "x"
-datatype[3].structtype[0].field[0].datatype 0
-datatype[3].structtype[0].field[0].id[0]
-datatype[3].structtype[0].inherits[0]
-datatype[3].documenttype[0]
-datatype[3].annotationreftype[0]
-datatype[4].id 1724438688
-datatype[4].arraytype[0]
-datatype[4].weightedsettype[0]
-datatype[4].structtype[1]
-datatype[4].structtype[0].name "annotation.derived"
-datatype[4].structtype[0].version 0
-datatype[4].structtype[0].field[0]
-datatype[4].structtype[0].inherits[1]
-datatype[4].structtype[0].inherits[0].name "annotation.base"
-datatype[4].structtype[0].inherits[0].version 0
-datatype[4].documenttype[0]
-datatype[4].annotationreftype[0]
-annotationtype[2]
-annotationtype[0].name "base"
-annotationtype[0].id 1091303828
-annotationtype[0].datatype -897633294
-annotationtype[1].name "derived"
-annotationtype[1].id 1799352802
-annotationtype[1].datatype 1724438688
+doctype[2]
+doctype[0].name "document"
+doctype[0].idx 10000
+doctype[0].contentstruct 10001
+doctype[0].primitivetype[0].idx 10002
+doctype[0].primitivetype[0].internalid 0
+doctype[0].primitivetype[0].name "int"
+doctype[0].primitivetype[1].idx 10003
+doctype[0].primitivetype[1].internalid 5
+doctype[0].primitivetype[1].name "double"
+doctype[0].primitivetype[2].idx 10005
+doctype[0].primitivetype[2].internalid 2
+doctype[0].primitivetype[2].name "string"
+doctype[0].annotationtype[0].idx 10007
+doctype[0].annotationtype[0].name "proximity_break"
+doctype[0].annotationtype[0].internalid 8
+doctype[0].annotationtype[0].datatype 10003
+doctype[0].annotationtype[1].idx 10008
+doctype[0].annotationtype[1].name "normalized"
+doctype[0].annotationtype[1].internalid 4
+doctype[0].annotationtype[1].datatype 10005
+doctype[0].annotationtype[2].idx 10009
+doctype[0].annotationtype[2].name "reading"
+doctype[0].annotationtype[2].internalid 5
+doctype[0].annotationtype[2].datatype 10005
+doctype[0].annotationtype[3].idx 10010
+doctype[0].annotationtype[3].name "term"
+doctype[0].annotationtype[3].internalid 1
+doctype[0].annotationtype[3].datatype 10005
+doctype[0].annotationtype[4].idx 10011
+doctype[0].annotationtype[4].name "transformed"
+doctype[0].annotationtype[4].internalid 7
+doctype[0].annotationtype[4].datatype 10005
+doctype[0].annotationtype[5].idx 10012
+doctype[0].annotationtype[5].name "canonical"
+doctype[0].annotationtype[5].internalid 3
+doctype[0].annotationtype[5].datatype 10005
+doctype[0].annotationtype[6].idx 10013
+doctype[0].annotationtype[6].name "token_type"
+doctype[0].annotationtype[6].internalid 2
+doctype[0].annotationtype[6].datatype 10002
+doctype[0].annotationtype[7].idx 10014
+doctype[0].annotationtype[7].name "derived"
+doctype[0].annotationtype[7].internalid 1799352802
+doctype[0].annotationtype[7].datatype 10004
+doctype[0].annotationtype[8].idx 10015
+doctype[0].annotationtype[8].name "special_token"
+doctype[0].annotationtype[8].internalid 9
+doctype[0].annotationtype[9].idx 10016
+doctype[0].annotationtype[9].name "stem"
+doctype[0].annotationtype[9].internalid 6
+doctype[0].annotationtype[9].datatype 10005
+doctype[0].annotationtype[10].idx 10017
+doctype[0].annotationtype[10].name "base"
+doctype[0].annotationtype[10].internalid 1091303828
+doctype[0].annotationtype[10].datatype 10006
+doctype[0].structtype[0].idx 10001
+doctype[0].structtype[0].name document.header
+doctype[0].structtype[1].idx 10004
+doctype[0].structtype[1].name annotation.derived
+doctype[0].structtype[1].inherits[0].type 10006
+doctype[0].structtype[2].idx 10006
+doctype[0].structtype[2].name annotation.base
+doctype[0].structtype[2].field[0].name "x"
+doctype[0].structtype[2].field[0].internalid 914677694
+doctype[0].structtype[2].field[0].type 10002
+doctype[1].name "example.app"
+doctype[1].idx 10018
+doctype[1].inherits[0].idx 10000
+doctype[1].contentstruct 10019
+doctype[1].structtype[0].idx 10019
+doctype[1].structtype[0].name example.app.header
+doctype[1].structtype[0].field[0].name "text"
+doctype[1].structtype[0].field[0].internalid 161039912
+doctype[1].structtype[0].field[0].type 10005
diff --git a/document/src/test/document/documentmanager.testv8pos.cfg b/document/src/test/document/documentmanager.testv8pos.cfg
index 3f776748b79..8425859b2b5 100644
--- a/document/src/test/document/documentmanager.testv8pos.cfg
+++ b/document/src/test/document/documentmanager.testv8pos.cfg
@@ -1,31 +1,72 @@
-usev8geopositions true
doctype[2]
doctype[0].name "document"
-doctype[0].idx 1000
-doctype[0].contentstruct 1001
-doctype[0].primitivetype[0].idx 1002
+doctype[0].idx 10000
+doctype[0].contentstruct 10001
+doctype[0].primitivetype[0].idx 10002
+doctype[0].primitivetype[0].internalid 0
doctype[0].primitivetype[0].name "int"
-doctype[0].structtype[0].idx 1001
+doctype[0].primitivetype[1].idx 10003
+doctype[0].primitivetype[1].internalid 5
+doctype[0].primitivetype[1].name "double"
+doctype[0].primitivetype[2].idx 10004
+doctype[0].primitivetype[2].internalid 2
+doctype[0].primitivetype[2].name "string"
+doctype[0].annotationtype[0].idx 10005
+doctype[0].annotationtype[0].name "proximity_break"
+doctype[0].annotationtype[0].internalid 8
+doctype[0].annotationtype[0].datatype 10003
+doctype[0].annotationtype[1].idx 10006
+doctype[0].annotationtype[1].name "normalized"
+doctype[0].annotationtype[1].internalid 4
+doctype[0].annotationtype[1].datatype 10004
+doctype[0].annotationtype[2].idx 10007
+doctype[0].annotationtype[2].name "reading"
+doctype[0].annotationtype[2].internalid 5
+doctype[0].annotationtype[2].datatype 10004
+doctype[0].annotationtype[3].idx 10008
+doctype[0].annotationtype[3].name "term"
+doctype[0].annotationtype[3].internalid 1
+doctype[0].annotationtype[3].datatype 10004
+doctype[0].annotationtype[4].idx 10009
+doctype[0].annotationtype[4].name "transformed"
+doctype[0].annotationtype[4].internalid 7
+doctype[0].annotationtype[4].datatype 10004
+doctype[0].annotationtype[5].idx 10010
+doctype[0].annotationtype[5].name "canonical"
+doctype[0].annotationtype[5].internalid 3
+doctype[0].annotationtype[5].datatype 10004
+doctype[0].annotationtype[6].idx 10011
+doctype[0].annotationtype[6].name "token_type"
+doctype[0].annotationtype[6].internalid 2
+doctype[0].annotationtype[6].datatype 10002
+doctype[0].annotationtype[7].idx 10012
+doctype[0].annotationtype[7].name "special_token"
+doctype[0].annotationtype[7].internalid 9
+doctype[0].annotationtype[8].idx 10013
+doctype[0].annotationtype[8].name "stem"
+doctype[0].annotationtype[8].internalid 6
+doctype[0].annotationtype[8].datatype 10004
+doctype[0].structtype[0].idx 10001
doctype[0].structtype[0].name document.header
-doctype[0].structtype[1].idx 10010
-doctype[0].structtype[1].name "position"
-doctype[0].structtype[1].field[0].name "x"
-doctype[0].structtype[1].field[0].internalid 914677694
-doctype[0].structtype[1].field[0].type 1002
-doctype[0].structtype[1].field[1].name "y"
-doctype[0].structtype[1].field[1].internalid 900009410
-doctype[0].structtype[1].field[1].type 1002
doctype[1].name "foobar"
-doctype[1].idx 1014
-doctype[1].contentstruct 1015
-doctype[1].inherits[0].idx 1000
-doctype[1].arraytype[0].idx 1017
-doctype[1].arraytype[0].elementtype 10010
-doctype[1].structtype[0].idx 1015
-doctype[1].structtype[0].name foobar.header
-doctype[1].structtype[0].field[0].name "simplepos"
-doctype[1].structtype[0].field[0].internalid 1707020592
-doctype[1].structtype[0].field[0].type 10010
-doctype[1].structtype[0].field[1].name "arraypos"
-doctype[1].structtype[0].field[1].internalid 1055920092
-doctype[1].structtype[0].field[1].type 1017
+doctype[1].idx 10014
+doctype[1].inherits[0].idx 10000
+doctype[1].contentstruct 10015
+doctype[1].arraytype[0].idx 10017
+doctype[1].arraytype[0].elementtype 10016
+doctype[1].structtype[0].idx 10016
+doctype[1].structtype[0].name position
+doctype[1].structtype[0].field[0].name "x"
+doctype[1].structtype[0].field[0].internalid 914677694
+doctype[1].structtype[0].field[0].type 10002
+doctype[1].structtype[0].field[1].name "y"
+doctype[1].structtype[0].field[1].internalid 900009410
+doctype[1].structtype[0].field[1].type 10002
+doctype[1].structtype[1].idx 10015
+doctype[1].structtype[1].name foobar.header
+doctype[1].structtype[1].field[0].name "simplepos"
+doctype[1].structtype[1].field[0].internalid 1707020592
+doctype[1].structtype[1].field[0].type 10016
+doctype[1].structtype[1].field[1].name "arraypos"
+doctype[1].structtype[1].field[1].internalid 1055920092
+doctype[1].structtype[1].field[1].type 10017
diff --git a/document/src/test/document/documentmanager.updated.cfg b/document/src/test/document/documentmanager.updated.cfg
index 7e2a0bb682c..d56999ee386 100644
--- a/document/src/test/document/documentmanager.updated.cfg
+++ b/document/src/test/document/documentmanager.updated.cfg
@@ -1,108 +1,86 @@
-datatype[11]
-datatype[0].id -1365874599
-datatype[0].arraytype[0]
-datatype[0].weightedsettype[0]
-datatype[0].structtype[1]
-datatype[0].structtype[0].name foobar.header
-datatype[0].structtype[0].version 9
-datatype[0].structtype[0].field[1]
-datatype[0].structtype[0].field[0].name foobarfield1
-datatype[0].structtype[0].field[0].id[0]
-datatype[0].structtype[0].field[0].datatype 4
-datatype[0].documenttype[0]
-datatype[1].id 278604398
-datatype[1].arraytype[0]
-datatype[1].weightedsettype[0]
-datatype[1].structtype[1]
-datatype[1].structtype[0].name foobar.body
-datatype[1].structtype[0].version 9
-datatype[1].structtype[0].field[1]
-datatype[1].structtype[0].field[0].name foobarfield0
-datatype[1].structtype[0].field[0].id[0]
-datatype[1].structtype[0].field[0].datatype 2
-datatype[1].documenttype[0]
-datatype[2].id 378030104
-datatype[2].arraytype[0]
-datatype[2].weightedsettype[0]
-datatype[2].structtype[0]
-datatype[2].documenttype[1]
-datatype[2].documenttype[0].name foobar
-datatype[2].documenttype[0].version 9
-datatype[2].documenttype[0].inherits[0]
-datatype[2].documenttype[0].headerstruct -1365874599
-datatype[2].documenttype[0].bodystruct 278604398
-datatype[3].id 673066331
-datatype[3].arraytype[0]
-datatype[3].weightedsettype[0]
-datatype[3].structtype[1]
-datatype[3].structtype[0].name banana.header
-datatype[3].structtype[0].version 234
-datatype[3].structtype[0].field[2]
-datatype[3].structtype[0].field[0].name bananafield0
-datatype[3].structtype[0].field[0].id[0]
-datatype[3].structtype[0].field[0].datatype 16
-datatype[3].structtype[0].field[1].name newfield
-datatype[3].structtype[0].field[1].id[0]
-datatype[3].structtype[0].field[1].datatype 2
-datatype[3].documenttype[0]
-datatype[4].id -176986064
-datatype[4].arraytype[0]
-datatype[4].weightedsettype[0]
-datatype[4].structtype[1]
-datatype[4].structtype[0].name banana.body
-datatype[4].structtype[0].version 234
-datatype[4].structtype[0].field[0]
-datatype[4].documenttype[0]
-datatype[5].id 556449802
-datatype[5].arraytype[0]
-datatype[5].weightedsettype[0]
-datatype[5].structtype[0]
-datatype[5].documenttype[1]
-datatype[5].documenttype[0].name banana
-datatype[5].documenttype[0].version 234
-datatype[5].documenttype[0].inherits[1]
-datatype[5].documenttype[0].inherits[0].name foobar
-datatype[5].documenttype[0].inherits[0].version 9
-datatype[5].documenttype[0].headerstruct 673066331
-datatype[5].documenttype[0].bodystruct -176986064
-datatype[6].id -858669928
-datatype[6].arraytype[0]
-datatype[6].weightedsettype[0]
-datatype[6].structtype[1]
-datatype[6].structtype[0].name customtypes.header
-datatype[6].structtype[0].version 3
-datatype[6].structtype[0].field[0]
-datatype[6].documenttype[0]
-datatype[7].id 99
-datatype[7].arraytype[1]
-datatype[7].arraytype[0].datatype 1
-datatype[7].weightedsettype[0]
-datatype[7].structtype[0]
-datatype[7].documenttype[0]
-datatype[8].id 4003
-datatype[8].arraytype[1]
-datatype[8].arraytype[0].datatype 99
-datatype[8].weightedsettype[0]
-datatype[8].structtype[0]
-datatype[8].documenttype[0]
-datatype[9].id 2142817261
-datatype[9].arraytype[0]
-datatype[9].weightedsettype[0]
-datatype[9].structtype[1]
-datatype[9].structtype[0].name customtypes.body
-datatype[9].structtype[0].version 3
-datatype[9].structtype[0].field[1]
-datatype[9].structtype[0].field[0].name arrayarrayfloat
-datatype[9].structtype[0].field[0].id[0]
-datatype[9].structtype[0].field[0].datatype 4003
-datatype[9].documenttype[0]
-datatype[10].id -1500313747
-datatype[10].arraytype[0]
-datatype[10].weightedsettype[0]
-datatype[10].structtype[0]
-datatype[10].documenttype[1]
-datatype[10].documenttype[0].name customtypes
-datatype[10].documenttype[0].version 3
-datatype[10].documenttype[0].inherits[0]
-datatype[10].documenttype[0].headerstruct -858669928
-datatype[10].documenttype[0].bodystruct 2142817261
+doctype[4]
+doctype[0].name "document"
+doctype[0].idx 10000
+doctype[0].contentstruct 10001
+doctype[0].primitivetype[0].idx 10002
+doctype[0].primitivetype[0].internalid 0
+doctype[0].primitivetype[0].name "int"
+doctype[0].primitivetype[1].idx 10003
+doctype[0].primitivetype[1].internalid 5
+doctype[0].primitivetype[1].name "double"
+doctype[0].primitivetype[2].idx 10004
+doctype[0].primitivetype[2].internalid 2
+doctype[0].primitivetype[2].name "string"
+doctype[0].annotationtype[0].idx 10005
+doctype[0].annotationtype[0].name "proximity_break"
+doctype[0].annotationtype[0].internalid 8
+doctype[0].annotationtype[0].datatype 10003
+doctype[0].annotationtype[1].idx 10006
+doctype[0].annotationtype[1].name "normalized"
+doctype[0].annotationtype[1].internalid 4
+doctype[0].annotationtype[1].datatype 10004
+doctype[0].annotationtype[2].idx 10007
+doctype[0].annotationtype[2].name "reading"
+doctype[0].annotationtype[2].internalid 5
+doctype[0].annotationtype[2].datatype 10004
+doctype[0].annotationtype[3].idx 10008
+doctype[0].annotationtype[3].name "term"
+doctype[0].annotationtype[3].internalid 1
+doctype[0].annotationtype[3].datatype 10004
+doctype[0].annotationtype[4].idx 10009
+doctype[0].annotationtype[4].name "transformed"
+doctype[0].annotationtype[4].internalid 7
+doctype[0].annotationtype[4].datatype 10004
+doctype[0].annotationtype[5].idx 10010
+doctype[0].annotationtype[5].name "canonical"
+doctype[0].annotationtype[5].internalid 3
+doctype[0].annotationtype[5].datatype 10004
+doctype[0].annotationtype[6].idx 10011
+doctype[0].annotationtype[6].name "token_type"
+doctype[0].annotationtype[6].internalid 2
+doctype[0].annotationtype[6].datatype 10002
+doctype[0].annotationtype[7].idx 10012
+doctype[0].annotationtype[7].name "special_token"
+doctype[0].annotationtype[7].internalid 9
+doctype[0].annotationtype[8].idx 10013
+doctype[0].annotationtype[8].name "stem"
+doctype[0].annotationtype[8].internalid 6
+doctype[0].annotationtype[8].datatype 10004
+doctype[0].structtype[0].idx 10001
+doctype[0].structtype[0].name document.header
+doctype[1].name "foobar"
+doctype[1].idx 10014
+doctype[1].inherits[0].idx 10000
+doctype[1].contentstruct 10015
+doctype[1].primitivetype[0].idx 10016
+doctype[1].primitivetype[0].internalid 4
+doctype[1].primitivetype[0].name "long"
+doctype[1].structtype[0].idx 10015
+doctype[1].structtype[0].name foobar.header
+doctype[1].structtype[0].field[0].name "foobarfield1"
+doctype[1].structtype[0].field[0].internalid 1707020592
+doctype[1].structtype[0].field[0].type 10016
+doctype[2].name "banana"
+doctype[2].idx 10017
+doctype[2].inherits[0].idx 10014
+doctype[2].contentstruct 10018
+doctype[2].primitivetype[0].idx 10019
+doctype[2].primitivetype[0].internalid 16
+doctype[2].primitivetype[0].name "byte"
+doctype[2].structtype[0].idx 10018
+doctype[2].structtype[0].name banana.header
+doctype[2].structtype[0].field[0].name "foobarfield1"
+doctype[2].structtype[0].field[0].internalid 1707020592
+doctype[2].structtype[0].field[0].type 10016
+doctype[2].structtype[0].field[1].name "bananafield0"
+doctype[2].structtype[0].field[1].internalid 1294599520
+doctype[2].structtype[0].field[1].type 10019
+doctype[2].structtype[0].field[2].name "newfield"
+doctype[2].structtype[0].field[2].internalid 1628979147
+doctype[2].structtype[0].field[2].type 10004
+doctype[3].name "customtypes"
+doctype[3].idx 10020
+doctype[3].inherits[0].idx 10000
+doctype[3].contentstruct 10021
+doctype[3].structtype[0].idx 10021
+doctype[3].structtype[0].name customtypes.header
diff --git a/document/src/test/java/com/yahoo/document/annotation/documentmanager.6394548.cfg b/document/src/test/java/com/yahoo/document/annotation/documentmanager.6394548.cfg
index 35717a3e0c1..ee78c2708fe 100644
--- a/document/src/test/java/com/yahoo/document/annotation/documentmanager.6394548.cfg
+++ b/document/src/test/java/com/yahoo/document/annotation/documentmanager.6394548.cfg
@@ -1,189 +1,212 @@
-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 -1466283082
-datatype[1].structtype[0].name "annotation.person"
-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 "name"
-datatype[1].structtype[0].field[0].datatype 2
-datatype[2].id -1149562679
-datatype[2].annotationreftype[0].annotation "person"
-datatype[3].id -772171888
-datatype[3].annotationreftype[0].annotation "date"
-datatype[4].id -2109350185
-datatype[4].annotationreftype[0].annotation "place"
-datatype[5].id 1194300957
-datatype[5].structtype[0].name "annotation.event"
-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 "description"
-datatype[5].structtype[0].field[0].datatype 2
-datatype[5].structtype[0].field[1].name "person"
-datatype[5].structtype[0].field[1].datatype -1149562679
-datatype[5].structtype[0].field[2].name "date"
-datatype[5].structtype[0].field[2].datatype -772171888
-datatype[5].structtype[0].field[3].name "place"
-datatype[5].structtype[0].field[3].datatype -2109350185
-datatype[6].id 1463704666
-datatype[6].structtype[0].name "annotation.morty.RICK_DOCSTATS"
-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 "bodycount"
-datatype[6].structtype[0].field[0].datatype 0
-datatype[6].structtype[0].field[1].name "anchorcount"
-datatype[6].structtype[0].field[1].datatype 0
-datatype[7].id 1157126952
-datatype[7].structtype[0].name "annotation.artist"
-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 "instrument"
-datatype[7].structtype[0].field[0].datatype 0
-datatype[7].structtype[0].inherits[0].name "annotation.person"
-datatype[7].structtype[0].inherits[0].version 0
-datatype[8].id 2076579146
-datatype[8].structtype[0].name "annotation.place"
-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 "lat"
-datatype[8].structtype[0].field[0].datatype 4
-datatype[8].structtype[0].field[1].name "lon"
-datatype[8].structtype[0].field[1].datatype 4
-datatype[9].id -840345201
-datatype[9].structtype[0].name "annotation.date"
-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 "exacttime"
-datatype[9].structtype[0].field[0].datatype 4
-datatype[10].id -1486737430
-datatype[10].arraytype[0].datatype 2
-datatype[11].id 1021048351
-datatype[11].structtype[0].name "annotation.morty.RICK_FEATURESET"
-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 "foo1"
-datatype[11].structtype[0].field[0].datatype 2
-datatype[11].structtype[0].field[1].name "foo2"
-datatype[11].structtype[0].field[1].datatype 0
-datatype[11].structtype[0].field[2].name "foo3"
-datatype[11].structtype[0].field[2].datatype 0
-datatype[11].structtype[0].field[3].name "foo4"
-datatype[11].structtype[0].field[3].datatype 2
-datatype[11].structtype[0].field[4].name "foo5"
-datatype[11].structtype[0].field[4].datatype 2
-datatype[11].structtype[0].field[5].name "foo6"
-datatype[11].structtype[0].field[5].datatype -1486737430
-datatype[11].structtype[0].field[6].name "foo7"
-datatype[11].structtype[0].field[6].datatype 0
-datatype[11].structtype[0].field[7].name "foo8"
-datatype[11].structtype[0].field[7].datatype 0
-datatype[11].structtype[0].field[8].name "foo9"
-datatype[11].structtype[0].field[8].datatype 1
-datatype[11].structtype[0].field[9].name "foo10"
-datatype[11].structtype[0].field[9].datatype -1486737430
-datatype[11].structtype[0].inherits[0].name "annotation.morty.FEATURESET"
-datatype[11].structtype[0].inherits[0].version 0
-datatype[12].id -228273582
-datatype[12].maptype[0].keytype 2
-datatype[12].maptype[0].valtype 5
-datatype[13].id -1584287606
-datatype[13].maptype[0].keytype 2
-datatype[13].maptype[0].valtype 0
-datatype[14].id 1980242844
-datatype[14].structtype[0].name "annotation.morty.FEATURESET"
-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[14].structtype[0].field[0].name "realvaluedfeatures"
-datatype[14].structtype[0].field[0].datatype -228273582
-datatype[14].structtype[0].field[1].name "discretevaluedfeatures"
-datatype[14].structtype[0].field[1].datatype -1584287606
-datatype[14].structtype[0].field[2].name "score"
-datatype[14].structtype[0].field[2].datatype 5
-datatype[15].id 892457735
-datatype[15].structtype[0].name "article.header"
-datatype[15].structtype[0].version 0
-datatype[15].structtype[0].compresstype NONE
-datatype[15].structtype[0].compresslevel 0
-datatype[15].structtype[0].compressthreshold 95
-datatype[15].structtype[0].compressminsize 800
-datatype[15].structtype[0].field[0].name "title"
-datatype[15].structtype[0].field[0].datatype 2
-datatype[15].structtype[0].field[1].name "content"
-datatype[15].structtype[0].field[1].datatype 2
-datatype[15].structtype[0].field[2].name "rankfeatures"
-datatype[15].structtype[0].field[2].datatype 2
-datatype[15].structtype[0].field[3].name "summaryfeatures"
-datatype[15].structtype[0].field[3].datatype 2
-datatype[16].id -1984964900
-datatype[16].structtype[0].name "article.body"
-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[17].id 559508792
-datatype[17].documenttype[0].name "article"
-datatype[17].documenttype[0].version 0
-datatype[17].documenttype[0].inherits[0].name "document"
-datatype[17].documenttype[0].inherits[0].version 0
-datatype[17].documenttype[0].headerstruct 892457735
-datatype[17].documenttype[0].bodystruct -1984964900
-annotationtype[0].id 609952424
-annotationtype[0].name "person"
-annotationtype[0].datatype -1466283082
-annotationtype[1].id -455530995
-annotationtype[1].name "event"
-annotationtype[1].datatype 1194300957
-annotationtype[2].id 295631537
-annotationtype[2].name "morty.RICK_DOCSTATS"
-annotationtype[2].datatype 1463704666
-annotationtype[3].id 690330276
-annotationtype[3].name "artist"
-annotationtype[3].datatype 1157126952
-annotationtype[3].inherits[0].id 609952424
-annotationtype[4].id -162455681
-annotationtype[4].name "date"
-annotationtype[4].datatype -840345201
-annotationtype[5].id 1707984040
-annotationtype[5].name "place"
-annotationtype[5].datatype 2076579146
-annotationtype[6].id -62680437
-annotationtype[6].name "morty.FEATURESET"
-annotationtype[6].datatype 1980242844
-annotationtype[7].id 1056322897
-annotationtype[7].name "morty.RICK_FEATURESET"
-annotationtype[7].datatype 1021048351
-annotationtype[7].inherits[0].id -62680437
+doctype[2]
+doctype[0].name "document"
+doctype[0].idx 10000
+doctype[0].contentstruct 10001
+doctype[0].primitivetype[0].idx 10005
+doctype[0].primitivetype[0].internalid 4
+doctype[0].primitivetype[0].name "long"
+doctype[0].primitivetype[1].idx 10009
+doctype[0].primitivetype[1].internalid 0
+doctype[0].primitivetype[1].name "int"
+doctype[0].primitivetype[2].idx 10012
+doctype[0].primitivetype[2].internalid 5
+doctype[0].primitivetype[2].name "double"
+doctype[0].primitivetype[3].idx 10018
+doctype[0].primitivetype[3].internalid 2
+doctype[0].primitivetype[3].name "string"
+doctype[0].primitivetype[4].idx 10019
+doctype[0].primitivetype[4].internalid 1
+doctype[0].primitivetype[4].name "float"
+doctype[0].arraytype[0].idx 10011
+doctype[0].arraytype[0].elementtype 10018
+doctype[0].maptype[0].idx 10017
+doctype[0].maptype[0].keytype 10018
+doctype[0].maptype[0].valuetype 10009
+doctype[0].maptype[1].idx 10020
+doctype[0].maptype[1].keytype 10018
+doctype[0].maptype[1].valuetype 10012
+doctype[0].annotationtype[0].idx 10021
+doctype[0].annotationtype[0].name "date"
+doctype[0].annotationtype[0].internalid -162455681
+doctype[0].annotationtype[0].datatype 10010
+doctype[0].annotationtype[1].idx 10022
+doctype[0].annotationtype[1].name "morty.RICK_FEATURESET"
+doctype[0].annotationtype[1].internalid 1056322897
+doctype[0].annotationtype[1].datatype 10003
+doctype[0].annotationtype[1].inherits[0].idx 10023
+doctype[0].annotationtype[2].idx 10024
+doctype[0].annotationtype[2].name "artist"
+doctype[0].annotationtype[2].internalid 690330276
+doctype[0].annotationtype[2].datatype 10007
+doctype[0].annotationtype[2].inherits[0].idx 10025
+doctype[0].annotationtype[3].idx 10026
+doctype[0].annotationtype[3].name "normalized"
+doctype[0].annotationtype[3].internalid 4
+doctype[0].annotationtype[3].datatype 10018
+doctype[0].annotationtype[4].idx 10027
+doctype[0].annotationtype[4].name "reading"
+doctype[0].annotationtype[4].internalid 5
+doctype[0].annotationtype[4].datatype 10018
+doctype[0].annotationtype[5].idx 10028
+doctype[0].annotationtype[5].name "morty.RICK_DOCSTATS"
+doctype[0].annotationtype[5].internalid 295631537
+doctype[0].annotationtype[5].datatype 10008
+doctype[0].annotationtype[6].idx 10029
+doctype[0].annotationtype[6].name "canonical"
+doctype[0].annotationtype[6].internalid 3
+doctype[0].annotationtype[6].datatype 10018
+doctype[0].annotationtype[7].idx 10030
+doctype[0].annotationtype[7].name "token_type"
+doctype[0].annotationtype[7].internalid 2
+doctype[0].annotationtype[7].datatype 10009
+doctype[0].annotationtype[8].idx 10031
+doctype[0].annotationtype[8].name "proximity_break"
+doctype[0].annotationtype[8].internalid 8
+doctype[0].annotationtype[8].datatype 10012
+doctype[0].annotationtype[9].idx 10025
+doctype[0].annotationtype[9].name "person"
+doctype[0].annotationtype[9].internalid 609952424
+doctype[0].annotationtype[9].datatype 10004
+doctype[0].annotationtype[10].idx 10032
+doctype[0].annotationtype[10].name "term"
+doctype[0].annotationtype[10].internalid 1
+doctype[0].annotationtype[10].datatype 10018
+doctype[0].annotationtype[11].idx 10033
+doctype[0].annotationtype[11].name "transformed"
+doctype[0].annotationtype[11].internalid 7
+doctype[0].annotationtype[11].datatype 10018
+doctype[0].annotationtype[12].idx 10023
+doctype[0].annotationtype[12].name "morty.FEATURESET"
+doctype[0].annotationtype[12].internalid -62680437
+doctype[0].annotationtype[12].datatype 10016
+doctype[0].annotationtype[13].idx 10034
+doctype[0].annotationtype[13].name "place"
+doctype[0].annotationtype[13].internalid 1707984040
+doctype[0].annotationtype[13].datatype 10002
+doctype[0].annotationtype[14].idx 10035
+doctype[0].annotationtype[14].name "event"
+doctype[0].annotationtype[14].internalid -455530995
+doctype[0].annotationtype[14].datatype 10015
+doctype[0].annotationtype[15].idx 10036
+doctype[0].annotationtype[15].name "special_token"
+doctype[0].annotationtype[15].internalid 9
+doctype[0].annotationtype[16].idx 10037
+doctype[0].annotationtype[16].name "stem"
+doctype[0].annotationtype[16].internalid 6
+doctype[0].annotationtype[16].datatype 10018
+doctype[0].annotationref[0].idx 10006
+doctype[0].annotationref[0].annotationtype 10025
+doctype[0].annotationref[1].idx 10013
+doctype[0].annotationref[1].annotationtype 10021
+doctype[0].annotationref[2].idx 10014
+doctype[0].annotationref[2].annotationtype 10034
+doctype[0].structtype[0].idx 10002
+doctype[0].structtype[0].name annotation.place
+doctype[0].structtype[0].field[0].name "lat"
+doctype[0].structtype[0].field[0].internalid 1056483963
+doctype[0].structtype[0].field[0].type 10005
+doctype[0].structtype[0].field[1].name "lon"
+doctype[0].structtype[0].field[1].internalid 383109411
+doctype[0].structtype[0].field[1].type 10005
+doctype[0].structtype[1].idx 10001
+doctype[0].structtype[1].name document.header
+doctype[0].structtype[2].idx 10003
+doctype[0].structtype[2].name annotation.morty.RICK_FEATURESET
+doctype[0].structtype[2].inherits[0].type 10016
+doctype[0].structtype[2].field[0].name "foo1"
+doctype[0].structtype[2].field[0].internalid 396139730
+doctype[0].structtype[2].field[0].type 10018
+doctype[0].structtype[2].field[1].name "foo2"
+doctype[0].structtype[2].field[1].internalid 847515256
+doctype[0].structtype[2].field[1].type 10009
+doctype[0].structtype[2].field[2].name "foo3"
+doctype[0].structtype[2].field[2].internalid 25653132
+doctype[0].structtype[2].field[2].type 10009
+doctype[0].structtype[2].field[3].name "foo4"
+doctype[0].structtype[2].field[3].internalid 1192267954
+doctype[0].structtype[2].field[3].type 10018
+doctype[0].structtype[2].field[4].name "foo5"
+doctype[0].structtype[2].field[4].internalid 468247057
+doctype[0].structtype[2].field[4].type 10018
+doctype[0].structtype[2].field[5].name "foo6"
+doctype[0].structtype[2].field[5].internalid 239079944
+doctype[0].structtype[2].field[5].type 10011
+doctype[0].structtype[2].field[6].name "foo7"
+doctype[0].structtype[2].field[6].internalid 1888765556
+doctype[0].structtype[2].field[6].type 10009
+doctype[0].structtype[2].field[7].name "foo8"
+doctype[0].structtype[2].field[7].internalid 787262953
+doctype[0].structtype[2].field[7].type 10009
+doctype[0].structtype[2].field[8].name "foo9"
+doctype[0].structtype[2].field[8].internalid 644176133
+doctype[0].structtype[2].field[8].type 10019
+doctype[0].structtype[2].field[9].name "foo10"
+doctype[0].structtype[2].field[9].internalid 1512634272
+doctype[0].structtype[2].field[9].type 10011
+doctype[0].structtype[3].idx 10004
+doctype[0].structtype[3].name annotation.person
+doctype[0].structtype[3].field[0].name "name"
+doctype[0].structtype[3].field[0].internalid 1160796772
+doctype[0].structtype[3].field[0].type 10018
+doctype[0].structtype[4].idx 10007
+doctype[0].structtype[4].name annotation.artist
+doctype[0].structtype[4].inherits[0].type 10004
+doctype[0].structtype[4].field[0].name "instrument"
+doctype[0].structtype[4].field[0].internalid 1675549145
+doctype[0].structtype[4].field[0].type 10009
+doctype[0].structtype[5].idx 10008
+doctype[0].structtype[5].name annotation.morty.RICK_DOCSTATS
+doctype[0].structtype[5].field[0].name "bodycount"
+doctype[0].structtype[5].field[0].internalid 1292978986
+doctype[0].structtype[5].field[0].type 10009
+doctype[0].structtype[5].field[1].name "anchorcount"
+doctype[0].structtype[5].field[1].internalid 1464022877
+doctype[0].structtype[5].field[1].type 10009
+doctype[0].structtype[6].idx 10010
+doctype[0].structtype[6].name annotation.date
+doctype[0].structtype[6].field[0].name "exacttime"
+doctype[0].structtype[6].field[0].internalid 1338792252
+doctype[0].structtype[6].field[0].type 10005
+doctype[0].structtype[7].idx 10015
+doctype[0].structtype[7].name annotation.event
+doctype[0].structtype[7].field[0].name "description"
+doctype[0].structtype[7].field[0].internalid 85817688
+doctype[0].structtype[7].field[0].type 10018
+doctype[0].structtype[7].field[1].name "person"
+doctype[0].structtype[7].field[1].internalid 446122015
+doctype[0].structtype[7].field[1].type 10006
+doctype[0].structtype[7].field[2].name "date"
+doctype[0].structtype[7].field[2].internalid 821159826
+doctype[0].structtype[7].field[2].type 10013
+doctype[0].structtype[7].field[3].name "place"
+doctype[0].structtype[7].field[3].internalid 573928371
+doctype[0].structtype[7].field[3].type 10014
+doctype[0].structtype[8].idx 10016
+doctype[0].structtype[8].name annotation.morty.FEATURESET
+doctype[0].structtype[8].field[0].name "realvaluedfeatures"
+doctype[0].structtype[8].field[0].internalid 1422153900
+doctype[0].structtype[8].field[0].type 10020
+doctype[0].structtype[8].field[1].name "discretevaluedfeatures"
+doctype[0].structtype[8].field[1].internalid 1778471774
+doctype[0].structtype[8].field[1].type 10017
+doctype[0].structtype[8].field[2].name "score"
+doctype[0].structtype[8].field[2].internalid 1975414760
+doctype[0].structtype[8].field[2].type 10012
+doctype[1].name "article"
+doctype[1].idx 10038
+doctype[1].inherits[0].idx 10000
+doctype[1].contentstruct 10039
+doctype[1].structtype[0].idx 10039
+doctype[1].structtype[0].name article.header
+doctype[1].structtype[0].field[0].name "title"
+doctype[1].structtype[0].field[0].internalid 567626448
+doctype[1].structtype[0].field[0].type 10018
+doctype[1].structtype[0].field[1].name "content"
+doctype[1].structtype[0].field[1].internalid 482196823
+doctype[1].structtype[0].field[1].type 10018
+doctype[1].structtype[0].field[2].name "rankfeatures"
+doctype[1].structtype[0].field[2].internalid 1883197392
+doctype[1].structtype[0].field[2].type 10018
+doctype[1].structtype[0].field[3].name "summaryfeatures"
+doctype[1].structtype[0].field[3].internalid 1840337115
+doctype[1].structtype[0].field[3].type 10018
diff --git a/document/src/test/java/com/yahoo/document/annotation/documentmanager.bug4259784.cfg b/document/src/test/java/com/yahoo/document/annotation/documentmanager.bug4259784.cfg
index 77d72ed264e..485e83ab8b7 100644
--- a/document/src/test/java/com/yahoo/document/annotation/documentmanager.bug4259784.cfg
+++ b/document/src/test/java/com/yahoo/document/annotation/documentmanager.bug4259784.cfg
@@ -1,147 +1,127 @@
-enablecompression false
-annotationtype[4]
-annotationtype[0].datatype -476092672
-annotationtype[0].id 1278713514
-annotationtype[0].name "company"
-annotationtype[0].inherits[1]
-annotationtype[0].inherits[0].id 9765800
-annotationtype[1].datatype 912259135
-annotationtype[1].id 9765800
-annotationtype[1].name "industry"
-annotationtype[1].inherits[0]
-annotationtype[2].datatype 515587158
-annotationtype[2].id -270471211
-annotationtype[2].name "location"
-annotationtype[2].inherits[0]
-annotationtype[3].datatype -1466283082
-annotationtype[3].id 609952424
-annotationtype[3].name "person"
-annotationtype[3].inherits[0]
-datatype[10]
-datatype[0].id -1149562679
-datatype[0].annotationreftype[1]
-datatype[0].annotationreftype[0].annotation "person"
-datatype[0].arraytype[0]
-datatype[0].documenttype[0]
-datatype[0].structtype[0]
-datatype[0].weightedsettype[0]
-datatype[1].id -1386162972
-datatype[1].annotationreftype[0]
-datatype[1].arraytype[0]
-datatype[1].documenttype[1]
-datatype[1].documenttype[0].bodystruct 1387420336
-datatype[1].documenttype[0].headerstruct -945638949
-datatype[1].documenttype[0].name "blog"
-datatype[1].documenttype[0].version 0
-datatype[1].documenttype[0].inherits[0]
-datatype[1].structtype[0]
-datatype[1].weightedsettype[0]
-datatype[2].id -1466283082
-datatype[2].annotationreftype[0]
-datatype[2].arraytype[0]
-datatype[2].documenttype[0]
-datatype[2].structtype[1]
-datatype[2].structtype[0].name "annotation.person"
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].field[1]
-datatype[2].structtype[0].field[0].datatype 2
-datatype[2].structtype[0].field[0].name "name"
-datatype[2].structtype[0].field[0].id[0]
-datatype[2].structtype[0].inherits[0]
-datatype[2].weightedsettype[0]
-datatype[3].id -476092672
-datatype[3].annotationreftype[0]
-datatype[3].arraytype[0]
-datatype[3].documenttype[0]
-datatype[3].structtype[1]
-datatype[3].structtype[0].name "annotation.company"
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].field[3]
-datatype[3].structtype[0].field[0].datatype 1184817987
-datatype[3].structtype[0].field[0].name "directors"
-datatype[3].structtype[0].field[0].id[0]
-datatype[3].structtype[0].field[1].datatype 2
-datatype[3].structtype[0].field[1].name "name"
-datatype[3].structtype[0].field[1].id[0]
-datatype[3].structtype[0].field[2].datatype 1321486441
-datatype[3].structtype[0].field[2].name "place"
-datatype[3].structtype[0].field[2].id[0]
-datatype[3].structtype[0].inherits[1]
-datatype[3].structtype[0].inherits[0].name "annotation.industry"
-datatype[3].structtype[0].inherits[0].version 0
-datatype[3].weightedsettype[0]
-datatype[4].id -945638949
-datatype[4].annotationreftype[0]
-datatype[4].arraytype[0]
-datatype[4].documenttype[0]
-datatype[4].structtype[1]
-datatype[4].structtype[0].name "blog.header"
-datatype[4].structtype[0].version 0
-datatype[4].structtype[0].field[4]
-datatype[4].structtype[0].field[0].datatype 2
-datatype[4].structtype[0].field[0].name "author"
-datatype[4].structtype[0].field[0].id[0]
-datatype[4].structtype[0].field[1].datatype 2
-datatype[4].structtype[0].field[1].name "body"
-datatype[4].structtype[0].field[1].id[0]
-datatype[4].structtype[0].field[2].datatype 2
-datatype[4].structtype[0].field[2].name "title"
-datatype[4].structtype[0].field[2].id[0]
-datatype[4].structtype[0].field[3].datatype 10
-datatype[4].structtype[0].field[3].name "url"
-datatype[4].structtype[0].field[3].id[0]
-datatype[4].structtype[0].inherits[0]
-datatype[4].weightedsettype[0]
-datatype[5].id 1184817987
-datatype[5].annotationreftype[0]
-datatype[5].arraytype[1]
-datatype[5].arraytype[0].datatype -1149562679
-datatype[5].documenttype[0]
-datatype[5].structtype[0]
-datatype[5].weightedsettype[0]
-datatype[6].id 1321486441
-datatype[6].annotationreftype[1]
-datatype[6].annotationreftype[0].annotation "location"
-datatype[6].arraytype[0]
-datatype[6].documenttype[0]
-datatype[6].structtype[0]
-datatype[6].weightedsettype[0]
-datatype[7].id 1387420336
-datatype[7].annotationreftype[0]
-datatype[7].arraytype[0]
-datatype[7].documenttype[0]
-datatype[7].structtype[1]
-datatype[7].structtype[0].name "blog.body"
-datatype[7].structtype[0].version 0
-datatype[7].structtype[0].field[0]
-datatype[7].structtype[0].inherits[0]
-datatype[7].weightedsettype[0]
-datatype[8].id 515587158
-datatype[8].annotationreftype[0]
-datatype[8].arraytype[0]
-datatype[8].documenttype[0]
-datatype[8].structtype[1]
-datatype[8].structtype[0].name "annotation.location"
-datatype[8].structtype[0].version 0
-datatype[8].structtype[0].field[2]
-datatype[8].structtype[0].field[0].datatype 1
-datatype[8].structtype[0].field[0].name "lat"
-datatype[8].structtype[0].field[0].id[0]
-datatype[8].structtype[0].field[1].datatype 1
-datatype[8].structtype[0].field[1].name "lon"
-datatype[8].structtype[0].field[1].id[0]
-datatype[8].structtype[0].inherits[0]
-datatype[8].weightedsettype[0]
-datatype[9].id 912259135
-datatype[9].annotationreftype[0]
-datatype[9].arraytype[0]
-datatype[9].documenttype[0]
-datatype[9].structtype[1]
-datatype[9].structtype[0].name "annotation.industry"
-datatype[9].structtype[0].version 0
-datatype[9].structtype[0].field[1]
-datatype[9].structtype[0].field[0].datatype 2
-datatype[9].structtype[0].field[0].name "vertical"
-datatype[9].structtype[0].field[0].id[0]
-datatype[9].structtype[0].inherits[0]
-datatype[9].weightedsettype[0]
+doctype[2]
+doctype[0].name "document"
+doctype[0].idx 10000
+doctype[0].contentstruct 10001
+doctype[0].primitivetype[0].idx 10002
+doctype[0].primitivetype[0].internalid 0
+doctype[0].primitivetype[0].name "int"
+doctype[0].primitivetype[1].idx 10004
+doctype[0].primitivetype[1].internalid 5
+doctype[0].primitivetype[1].name "double"
+doctype[0].primitivetype[2].idx 10011
+doctype[0].primitivetype[2].internalid 2
+doctype[0].primitivetype[2].name "string"
+doctype[0].primitivetype[3].idx 10012
+doctype[0].primitivetype[3].internalid 1
+doctype[0].primitivetype[3].name "float"
+doctype[0].arraytype[0].idx 10003
+doctype[0].arraytype[0].elementtype 10008
+doctype[0].annotationtype[0].idx 10013
+doctype[0].annotationtype[0].name "normalized"
+doctype[0].annotationtype[0].internalid 4
+doctype[0].annotationtype[0].datatype 10011
+doctype[0].annotationtype[1].idx 10014
+doctype[0].annotationtype[1].name "reading"
+doctype[0].annotationtype[1].internalid 5
+doctype[0].annotationtype[1].datatype 10011
+doctype[0].annotationtype[2].idx 10015
+doctype[0].annotationtype[2].name "industry"
+doctype[0].annotationtype[2].internalid 9765800
+doctype[0].annotationtype[2].datatype 10005
+doctype[0].annotationtype[3].idx 10016
+doctype[0].annotationtype[3].name "canonical"
+doctype[0].annotationtype[3].internalid 3
+doctype[0].annotationtype[3].datatype 10011
+doctype[0].annotationtype[4].idx 10017
+doctype[0].annotationtype[4].name "token_type"
+doctype[0].annotationtype[4].internalid 2
+doctype[0].annotationtype[4].datatype 10002
+doctype[0].annotationtype[5].idx 10018
+doctype[0].annotationtype[5].name "proximity_break"
+doctype[0].annotationtype[5].internalid 8
+doctype[0].annotationtype[5].datatype 10004
+doctype[0].annotationtype[6].idx 10019
+doctype[0].annotationtype[6].name "person"
+doctype[0].annotationtype[6].internalid 609952424
+doctype[0].annotationtype[6].datatype 10006
+doctype[0].annotationtype[7].idx 10020
+doctype[0].annotationtype[7].name "term"
+doctype[0].annotationtype[7].internalid 1
+doctype[0].annotationtype[7].datatype 10011
+doctype[0].annotationtype[8].idx 10021
+doctype[0].annotationtype[8].name "transformed"
+doctype[0].annotationtype[8].internalid 7
+doctype[0].annotationtype[8].datatype 10011
+doctype[0].annotationtype[9].idx 10022
+doctype[0].annotationtype[9].name "company"
+doctype[0].annotationtype[9].internalid 1278713514
+doctype[0].annotationtype[9].datatype 10007
+doctype[0].annotationtype[9].inherits[0].idx 10015
+doctype[0].annotationtype[10].idx 10023
+doctype[0].annotationtype[10].name "location"
+doctype[0].annotationtype[10].internalid -270471211
+doctype[0].annotationtype[10].datatype 10010
+doctype[0].annotationtype[11].idx 10024
+doctype[0].annotationtype[11].name "special_token"
+doctype[0].annotationtype[11].internalid 9
+doctype[0].annotationtype[12].idx 10025
+doctype[0].annotationtype[12].name "stem"
+doctype[0].annotationtype[12].internalid 6
+doctype[0].annotationtype[12].datatype 10011
+doctype[0].annotationref[0].idx 10008
+doctype[0].annotationref[0].annotationtype 10019
+doctype[0].annotationref[1].idx 10009
+doctype[0].annotationref[1].annotationtype 10023
+doctype[0].structtype[0].idx 10001
+doctype[0].structtype[0].name document.header
+doctype[0].structtype[1].idx 10005
+doctype[0].structtype[1].name annotation.industry
+doctype[0].structtype[1].field[0].name "vertical"
+doctype[0].structtype[1].field[0].internalid 1054642217
+doctype[0].structtype[1].field[0].type 10011
+doctype[0].structtype[2].idx 10006
+doctype[0].structtype[2].name annotation.person
+doctype[0].structtype[2].field[0].name "name"
+doctype[0].structtype[2].field[0].internalid 1160796772
+doctype[0].structtype[2].field[0].type 10011
+doctype[0].structtype[3].idx 10007
+doctype[0].structtype[3].name annotation.company
+doctype[0].structtype[3].inherits[0].type 10005
+doctype[0].structtype[3].field[0].name "directors"
+doctype[0].structtype[3].field[0].internalid 1954735596
+doctype[0].structtype[3].field[0].type 10003
+doctype[0].structtype[3].field[1].name "name"
+doctype[0].structtype[3].field[1].internalid 1160796772
+doctype[0].structtype[3].field[1].type 10011
+doctype[0].structtype[3].field[2].name "place"
+doctype[0].structtype[3].field[2].internalid 780257720
+doctype[0].structtype[3].field[2].type 10009
+doctype[0].structtype[4].idx 10010
+doctype[0].structtype[4].name annotation.location
+doctype[0].structtype[4].field[0].name "lat"
+doctype[0].structtype[4].field[0].internalid 348215633
+doctype[0].structtype[4].field[0].type 10012
+doctype[0].structtype[4].field[1].name "lon"
+doctype[0].structtype[4].field[1].internalid 290823024
+doctype[0].structtype[4].field[1].type 10012
+doctype[1].name "blog"
+doctype[1].idx 10026
+doctype[1].inherits[0].idx 10000
+doctype[1].contentstruct 10027
+doctype[1].primitivetype[0].idx 10028
+doctype[1].primitivetype[0].internalid 10
+doctype[1].primitivetype[0].name "uri"
+doctype[1].structtype[0].idx 10027
+doctype[1].structtype[0].name blog.header
+doctype[1].structtype[0].field[0].name "author"
+doctype[1].structtype[0].field[0].internalid 644499292
+doctype[1].structtype[0].field[0].type 10011
+doctype[1].structtype[0].field[1].name "body"
+doctype[1].structtype[0].field[1].internalid 563132339
+doctype[1].structtype[0].field[1].type 10011
+doctype[1].structtype[0].field[2].name "title"
+doctype[1].structtype[0].field[2].internalid 567626448
+doctype[1].structtype[0].field[2].type 10011
+doctype[1].structtype[0].field[3].name "url"
+doctype[1].structtype[0].field[3].internalid 2095970198
+doctype[1].structtype[0].field[3].type 10028
diff --git a/document/src/test/java/com/yahoo/document/annotation/documentmanager.bug4261985.cfg b/document/src/test/java/com/yahoo/document/annotation/documentmanager.bug4261985.cfg
index bbc67412652..65703d69902 100644
--- a/document/src/test/java/com/yahoo/document/annotation/documentmanager.bug4261985.cfg
+++ b/document/src/test/java/com/yahoo/document/annotation/documentmanager.bug4261985.cfg
@@ -1,181 +1,143 @@
-enablecompression false
-annotationtype[5]
-annotationtype[0].datatype 1574163290
-annotationtype[0].id 1883143872
-annotationtype[0].name "bigshots"
-annotationtype[0].inherits[0]
-annotationtype[1].datatype -476092672
-annotationtype[1].id 1278713514
-annotationtype[1].name "company"
-annotationtype[1].inherits[1]
-annotationtype[1].inherits[0].id 9765800
-annotationtype[2].datatype 912259135
-annotationtype[2].id 9765800
-annotationtype[2].name "industry"
-annotationtype[2].inherits[0]
-annotationtype[3].datatype 515587158
-annotationtype[3].id -270471211
-annotationtype[3].name "location"
-annotationtype[3].inherits[0]
-annotationtype[4].datatype -1466283082
-annotationtype[4].id 609952424
-annotationtype[4].name "person"
-annotationtype[4].inherits[0]
-datatype[13]
-datatype[00].id -1149562679
-datatype[00].annotationreftype[1]
-datatype[00].annotationreftype[0].annotation "person"
-datatype[00].arraytype[0]
-datatype[00].documenttype[0]
-datatype[00].structtype[0]
-datatype[00].weightedsettype[0]
-datatype[01].id -1386162972
-datatype[01].annotationreftype[0]
-datatype[01].arraytype[0]
-datatype[01].documenttype[1]
-datatype[01].documenttype[0].bodystruct 1387420336
-datatype[01].documenttype[0].headerstruct -945638949
-datatype[01].documenttype[0].name "blog"
-datatype[01].documenttype[0].version 0
-datatype[01].documenttype[0].inherits[0]
-datatype[01].structtype[0]
-datatype[01].weightedsettype[0]
-datatype[02].id -1466283082
-datatype[02].annotationreftype[0]
-datatype[02].arraytype[0]
-datatype[02].documenttype[0]
-datatype[02].structtype[1]
-datatype[02].structtype[0].name "annotation.person"
-datatype[02].structtype[0].version 0
-datatype[02].structtype[0].field[1]
-datatype[02].structtype[0].field[0].datatype 2
-datatype[02].structtype[0].field[0].name "name"
-datatype[02].structtype[0].field[0].id[0]
-datatype[02].structtype[0].inherits[0]
-datatype[02].weightedsettype[0]
-datatype[03].id -476092672
-datatype[03].annotationreftype[0]
-datatype[03].arraytype[0]
-datatype[03].documenttype[0]
-datatype[03].structtype[1]
-datatype[03].structtype[0].name "annotation.company"
-datatype[03].structtype[0].version 0
-datatype[03].structtype[0].field[2]
-datatype[03].structtype[0].field[0].datatype 1184817987
-datatype[03].structtype[0].field[0].name "directors"
-datatype[03].structtype[0].field[0].id[0]
-datatype[03].structtype[0].field[1].datatype 2
-datatype[03].structtype[0].field[1].name "name"
-datatype[03].structtype[0].field[1].id[0]
-datatype[03].structtype[0].inherits[1]
-datatype[03].structtype[0].inherits[0].name "annotation.industry"
-datatype[03].structtype[0].inherits[0].version 0
-datatype[03].weightedsettype[0]
-datatype[04].id -945638949
-datatype[04].annotationreftype[0]
-datatype[04].arraytype[0]
-datatype[04].documenttype[0]
-datatype[04].structtype[1]
-datatype[04].structtype[0].name "blog.header"
-datatype[04].structtype[0].version 0
-datatype[04].structtype[0].field[4]
-datatype[04].structtype[0].field[0].datatype 2
-datatype[04].structtype[0].field[0].name "author"
-datatype[04].structtype[0].field[0].id[0]
-datatype[04].structtype[0].field[1].datatype 2
-datatype[04].structtype[0].field[1].name "body"
-datatype[04].structtype[0].field[1].id[0]
-datatype[04].structtype[0].field[2].datatype 2
-datatype[04].structtype[0].field[2].name "title"
-datatype[04].structtype[0].field[2].id[0]
-datatype[04].structtype[0].field[3].datatype 10
-datatype[04].structtype[0].field[3].name "url"
-datatype[04].structtype[0].field[3].id[0]
-datatype[04].structtype[0].inherits[0]
-datatype[04].weightedsettype[0]
-datatype[05].id 108708069
-datatype[05].annotationreftype[1]
-datatype[05].annotationreftype[0].annotation "bigshots"
-datatype[05].arraytype[0]
-datatype[05].documenttype[0]
-datatype[05].structtype[0]
-datatype[05].weightedsettype[0]
-datatype[06].id 1184817987
-datatype[06].annotationreftype[0]
-datatype[06].arraytype[1]
-datatype[06].arraytype[0].datatype -1149562679
-datatype[06].documenttype[0]
-datatype[06].structtype[0]
-datatype[06].weightedsettype[0]
-datatype[07].id 1321486441
-datatype[07].annotationreftype[1]
-datatype[07].annotationreftype[0].annotation "location"
-datatype[07].arraytype[0]
-datatype[07].documenttype[0]
-datatype[07].structtype[0]
-datatype[07].weightedsettype[0]
-datatype[08].id 1387420336
-datatype[08].annotationreftype[0]
-datatype[08].arraytype[0]
-datatype[08].documenttype[0]
-datatype[08].structtype[1]
-datatype[08].structtype[0].name "blog.body"
-datatype[08].structtype[0].version 0
-datatype[08].structtype[0].field[0]
-datatype[08].structtype[0].inherits[0]
-datatype[08].weightedsettype[0]
-datatype[09].id 1574163290
-datatype[09].annotationreftype[0]
-datatype[09].arraytype[0]
-datatype[09].documenttype[0]
-datatype[09].structtype[1]
-datatype[09].structtype[0].name "annotation.bigshots"
-datatype[09].structtype[0].version 0
-datatype[09].structtype[0].field[2]
-datatype[09].structtype[0].field[0].datatype 1975335457
-datatype[09].structtype[0].field[0].name "ceos"
-datatype[09].structtype[0].field[0].id[0]
-datatype[09].structtype[0].field[1].datatype 108708069
-datatype[09].structtype[0].field[1].name "self"
-datatype[09].structtype[0].field[1].id[0]
-datatype[09].structtype[0].inherits[0]
-datatype[09].weightedsettype[0]
-datatype[10].id 1975335457
-datatype[10].annotationreftype[1]
-datatype[10].annotationreftype[0].annotation "company"
-datatype[10].arraytype[0]
-datatype[10].documenttype[0]
-datatype[10].structtype[0]
-datatype[10].weightedsettype[0]
-datatype[11].id 515587158
-datatype[11].annotationreftype[0]
-datatype[11].arraytype[0]
-datatype[11].documenttype[0]
-datatype[11].structtype[1]
-datatype[11].structtype[0].name "annotation.location"
-datatype[11].structtype[0].version 0
-datatype[11].structtype[0].field[2]
-datatype[11].structtype[0].field[0].datatype 1
-datatype[11].structtype[0].field[0].name "lat"
-datatype[11].structtype[0].field[0].id[0]
-datatype[11].structtype[0].field[1].datatype 1
-datatype[11].structtype[0].field[1].name "lon"
-datatype[11].structtype[0].field[1].id[0]
-datatype[11].structtype[0].inherits[0]
-datatype[11].weightedsettype[0]
-datatype[12].id 912259135
-datatype[12].annotationreftype[0]
-datatype[12].arraytype[0]
-datatype[12].documenttype[0]
-datatype[12].structtype[1]
-datatype[12].structtype[0].name "annotation.industry"
-datatype[12].structtype[0].version 0
-datatype[12].structtype[0].field[2]
-datatype[12].structtype[0].field[0].datatype 1321486441
-datatype[12].structtype[0].field[0].name "place"
-datatype[12].structtype[0].field[0].id[0]
-datatype[12].structtype[0].field[1].datatype 2
-datatype[12].structtype[0].field[1].name "vertical"
-datatype[12].structtype[0].field[1].id[0]
-datatype[12].structtype[0].inherits[0]
-datatype[12].weightedsettype[0]
+doctype[2]
+doctype[0].name "document"
+doctype[0].idx 10000
+doctype[0].contentstruct 10001
+doctype[0].primitivetype[0].idx 10007
+doctype[0].primitivetype[0].internalid 0
+doctype[0].primitivetype[0].name "int"
+doctype[0].primitivetype[1].idx 10008
+doctype[0].primitivetype[1].internalid 5
+doctype[0].primitivetype[1].name "double"
+doctype[0].primitivetype[2].idx 10013
+doctype[0].primitivetype[2].internalid 2
+doctype[0].primitivetype[2].name "string"
+doctype[0].primitivetype[3].idx 10014
+doctype[0].primitivetype[3].internalid 1
+doctype[0].primitivetype[3].name "float"
+doctype[0].arraytype[0].idx 10015
+doctype[0].arraytype[0].elementtype 10002
+doctype[0].annotationtype[0].idx 10016
+doctype[0].annotationtype[0].name "normalized"
+doctype[0].annotationtype[0].internalid 4
+doctype[0].annotationtype[0].datatype 10013
+doctype[0].annotationtype[1].idx 10017
+doctype[0].annotationtype[1].name "reading"
+doctype[0].annotationtype[1].internalid 5
+doctype[0].annotationtype[1].datatype 10013
+doctype[0].annotationtype[2].idx 10018
+doctype[0].annotationtype[2].name "industry"
+doctype[0].annotationtype[2].internalid 9765800
+doctype[0].annotationtype[2].datatype 10012
+doctype[0].annotationtype[3].idx 10019
+doctype[0].annotationtype[3].name "canonical"
+doctype[0].annotationtype[3].internalid 3
+doctype[0].annotationtype[3].datatype 10013
+doctype[0].annotationtype[4].idx 10020
+doctype[0].annotationtype[4].name "token_type"
+doctype[0].annotationtype[4].internalid 2
+doctype[0].annotationtype[4].datatype 10007
+doctype[0].annotationtype[5].idx 10021
+doctype[0].annotationtype[5].name "proximity_break"
+doctype[0].annotationtype[5].internalid 8
+doctype[0].annotationtype[5].datatype 10008
+doctype[0].annotationtype[6].idx 10022
+doctype[0].annotationtype[6].name "bigshots"
+doctype[0].annotationtype[6].internalid 1883143872
+doctype[0].annotationtype[6].datatype 10010
+doctype[0].annotationtype[7].idx 10023
+doctype[0].annotationtype[7].name "person"
+doctype[0].annotationtype[7].internalid 609952424
+doctype[0].annotationtype[7].datatype 10006
+doctype[0].annotationtype[8].idx 10024
+doctype[0].annotationtype[8].name "term"
+doctype[0].annotationtype[8].internalid 1
+doctype[0].annotationtype[8].datatype 10013
+doctype[0].annotationtype[9].idx 10025
+doctype[0].annotationtype[9].name "transformed"
+doctype[0].annotationtype[9].internalid 7
+doctype[0].annotationtype[9].datatype 10013
+doctype[0].annotationtype[10].idx 10026
+doctype[0].annotationtype[10].name "company"
+doctype[0].annotationtype[10].internalid 1278713514
+doctype[0].annotationtype[10].datatype 10004
+doctype[0].annotationtype[10].inherits[0].idx 10018
+doctype[0].annotationtype[11].idx 10027
+doctype[0].annotationtype[11].name "location"
+doctype[0].annotationtype[11].internalid -270471211
+doctype[0].annotationtype[11].datatype 10005
+doctype[0].annotationtype[12].idx 10028
+doctype[0].annotationtype[12].name "special_token"
+doctype[0].annotationtype[12].internalid 9
+doctype[0].annotationtype[13].idx 10029
+doctype[0].annotationtype[13].name "stem"
+doctype[0].annotationtype[13].internalid 6
+doctype[0].annotationtype[13].datatype 10013
+doctype[0].annotationref[0].idx 10002
+doctype[0].annotationref[0].annotationtype 10023
+doctype[0].annotationref[1].idx 10003
+doctype[0].annotationref[1].annotationtype 10027
+doctype[0].annotationref[2].idx 10009
+doctype[0].annotationref[2].annotationtype 10026
+doctype[0].annotationref[3].idx 10011
+doctype[0].annotationref[3].annotationtype 10022
+doctype[0].structtype[0].idx 10001
+doctype[0].structtype[0].name document.header
+doctype[0].structtype[1].idx 10004
+doctype[0].structtype[1].name annotation.company
+doctype[0].structtype[1].inherits[0].type 10012
+doctype[0].structtype[1].field[0].name "directors"
+doctype[0].structtype[1].field[0].internalid 1954735596
+doctype[0].structtype[1].field[0].type 10015
+doctype[0].structtype[1].field[1].name "name"
+doctype[0].structtype[1].field[1].internalid 1160796772
+doctype[0].structtype[1].field[1].type 10013
+doctype[0].structtype[2].idx 10005
+doctype[0].structtype[2].name annotation.location
+doctype[0].structtype[2].field[0].name "lat"
+doctype[0].structtype[2].field[0].internalid 348215633
+doctype[0].structtype[2].field[0].type 10014
+doctype[0].structtype[2].field[1].name "lon"
+doctype[0].structtype[2].field[1].internalid 290823024
+doctype[0].structtype[2].field[1].type 10014
+doctype[0].structtype[3].idx 10006
+doctype[0].structtype[3].name annotation.person
+doctype[0].structtype[3].field[0].name "name"
+doctype[0].structtype[3].field[0].internalid 1160796772
+doctype[0].structtype[3].field[0].type 10013
+doctype[0].structtype[4].idx 10010
+doctype[0].structtype[4].name annotation.bigshots
+doctype[0].structtype[4].field[0].name "ceos"
+doctype[0].structtype[4].field[0].internalid 217466272
+doctype[0].structtype[4].field[0].type 10009
+doctype[0].structtype[4].field[1].name "self"
+doctype[0].structtype[4].field[1].internalid 170584449
+doctype[0].structtype[4].field[1].type 10011
+doctype[0].structtype[5].idx 10012
+doctype[0].structtype[5].name annotation.industry
+doctype[0].structtype[5].field[0].name "place"
+doctype[0].structtype[5].field[0].internalid 780257720
+doctype[0].structtype[5].field[0].type 10003
+doctype[0].structtype[5].field[1].name "vertical"
+doctype[0].structtype[5].field[1].internalid 1054642217
+doctype[0].structtype[5].field[1].type 10013
+doctype[1].name "blog"
+doctype[1].idx 10030
+doctype[1].inherits[0].idx 10000
+doctype[1].contentstruct 10031
+doctype[1].primitivetype[0].idx 10032
+doctype[1].primitivetype[0].internalid 10
+doctype[1].primitivetype[0].name "uri"
+doctype[1].structtype[0].idx 10031
+doctype[1].structtype[0].name blog.header
+doctype[1].structtype[0].field[0].name "author"
+doctype[1].structtype[0].field[0].internalid 644499292
+doctype[1].structtype[0].field[0].type 10013
+doctype[1].structtype[0].field[1].name "body"
+doctype[1].structtype[0].field[1].internalid 563132339
+doctype[1].structtype[0].field[1].type 10013
+doctype[1].structtype[0].field[2].name "title"
+doctype[1].structtype[0].field[2].internalid 567626448
+doctype[1].structtype[0].field[2].type 10013
+doctype[1].structtype[0].field[3].name "url"
+doctype[1].structtype[0].field[3].internalid 2095970198
+doctype[1].structtype[0].field[3].type 10032
diff --git a/document/src/test/java/com/yahoo/document/annotation/documentmanager.bug4475379.cfg b/document/src/test/java/com/yahoo/document/annotation/documentmanager.bug4475379.cfg
index ae299ab81fa..5420595a487 100644
--- a/document/src/test/java/com/yahoo/document/annotation/documentmanager.bug4475379.cfg
+++ b/document/src/test/java/com/yahoo/document/annotation/documentmanager.bug4475379.cfg
@@ -1,129 +1,127 @@
-enablecompression false
-annotationtype[4]
-annotationtype[0].datatype -476092672
-annotationtype[0].id 1278713514
-annotationtype[0].name "company"
-annotationtype[0].inherits[1]
-annotationtype[0].inherits[0].id 9765800
-annotationtype[1].datatype 912259135
-annotationtype[1].id 9765800
-annotationtype[1].name "industry"
-annotationtype[1].inherits[0]
-annotationtype[2].datatype 515587158
-annotationtype[2].id -270471211
-annotationtype[2].name "location"
-annotationtype[2].inherits[0]
-annotationtype[3].datatype -1466283082
-annotationtype[3].id 609952424
-annotationtype[3].name "person"
-annotationtype[3].inherits[0]
-datatype[7]
-datatype[0].id -1386162972
-datatype[0].annotationreftype[0]
-datatype[0].arraytype[0]
-datatype[0].documenttype[1]
-datatype[0].documenttype[0].bodystruct 1387420336
-datatype[0].documenttype[0].headerstruct -945638949
-datatype[0].documenttype[0].name "blog"
-datatype[0].documenttype[0].version 0
-datatype[0].documenttype[0].inherits[0]
-datatype[0].structtype[0]
-datatype[0].weightedsettype[0]
-datatype[1].id -1466283082
-datatype[1].annotationreftype[0]
-datatype[1].arraytype[0]
-datatype[1].documenttype[0]
-datatype[1].structtype[1]
-datatype[1].structtype[0].name "annotation.person"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].field[1]
-datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].name "name"
-datatype[1].structtype[0].field[0].id[0]
-datatype[1].structtype[0].inherits[0]
-datatype[1].weightedsettype[0]
-datatype[2].id -476092672
-datatype[2].annotationreftype[0]
-datatype[2].arraytype[0]
-datatype[2].documenttype[0]
-datatype[2].structtype[1]
-datatype[2].structtype[0].name "annotation.company"
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].field[5]
-datatype[2].structtype[0].field[0].datatype 4
-datatype[2].structtype[0].field[0].name "alt"
-datatype[2].structtype[0].field[0].id[0]
-datatype[2].structtype[0].field[1].datatype 2
-datatype[2].structtype[0].field[1].name "ceo"
-datatype[2].structtype[0].field[1].id[0]
-datatype[2].structtype[0].field[2].datatype 1
-datatype[2].structtype[0].field[2].name "lat"
-datatype[2].structtype[0].field[2].id[0]
-datatype[2].structtype[0].field[3].datatype 1
-datatype[2].structtype[0].field[3].name "lon"
-datatype[2].structtype[0].field[3].id[0]
-datatype[2].structtype[0].field[4].datatype 2
-datatype[2].structtype[0].field[4].name "name"
-datatype[2].structtype[0].field[4].id[0]
-datatype[2].structtype[0].inherits[1]
-datatype[2].structtype[0].inherits[0].name "annotation.industry"
-datatype[2].structtype[0].inherits[0].version 0
-datatype[2].weightedsettype[0]
-datatype[3].id -945638949
-datatype[3].annotationreftype[0]
-datatype[3].arraytype[0]
-datatype[3].documenttype[0]
-datatype[3].structtype[1]
-datatype[3].structtype[0].name "blog.header"
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].field[4]
-datatype[3].structtype[0].field[0].datatype 2
-datatype[3].structtype[0].field[0].name "author"
-datatype[3].structtype[0].field[0].id[0]
-datatype[3].structtype[0].field[1].datatype 2
-datatype[3].structtype[0].field[1].name "body"
-datatype[3].structtype[0].field[1].id[0]
-datatype[3].structtype[0].field[2].datatype 2
-datatype[3].structtype[0].field[2].name "title"
-datatype[3].structtype[0].field[2].id[0]
-datatype[3].structtype[0].field[3].datatype 10
-datatype[3].structtype[0].field[3].name "url"
-datatype[3].structtype[0].field[3].id[0]
-datatype[3].structtype[0].inherits[0]
-datatype[3].weightedsettype[0]
-datatype[4].id 1387420336
-datatype[4].annotationreftype[0]
-datatype[4].arraytype[0]
-datatype[4].documenttype[0]
-datatype[4].structtype[1]
-datatype[4].structtype[0].name "blog.body"
-datatype[4].structtype[0].version 0
-datatype[4].structtype[0].field[0]
-datatype[4].structtype[0].inherits[0]
-datatype[4].weightedsettype[0]
-datatype[5].id 515587158
-datatype[5].annotationreftype[0]
-datatype[5].arraytype[0]
-datatype[5].documenttype[0]
-datatype[5].structtype[1]
-datatype[5].structtype[0].name "annotation.location"
-datatype[5].structtype[0].version 0
-datatype[5].structtype[0].field[1]
-datatype[5].structtype[0].field[0].datatype 2
-datatype[5].structtype[0].field[0].name "name"
-datatype[5].structtype[0].field[0].id[0]
-datatype[5].structtype[0].inherits[0]
-datatype[5].weightedsettype[0]
-datatype[6].id 912259135
-datatype[6].annotationreftype[0]
-datatype[6].arraytype[0]
-datatype[6].documenttype[0]
-datatype[6].structtype[1]
-datatype[6].structtype[0].name "annotation.industry"
-datatype[6].structtype[0].version 0
-datatype[6].structtype[0].field[1]
-datatype[6].structtype[0].field[0].datatype 2
-datatype[6].structtype[0].field[0].name "vertical"
-datatype[6].structtype[0].field[0].id[0]
-datatype[6].structtype[0].inherits[0]
-datatype[6].weightedsettype[0]
+doctype[2]
+doctype[0].name "document"
+doctype[0].idx 10000
+doctype[0].contentstruct 10001
+doctype[0].primitivetype[0].idx 10002
+doctype[0].primitivetype[0].internalid 4
+doctype[0].primitivetype[0].name "long"
+doctype[0].primitivetype[1].idx 10004
+doctype[0].primitivetype[1].internalid 0
+doctype[0].primitivetype[1].name "int"
+doctype[0].primitivetype[2].idx 10007
+doctype[0].primitivetype[2].internalid 5
+doctype[0].primitivetype[2].name "double"
+doctype[0].primitivetype[3].idx 10009
+doctype[0].primitivetype[3].internalid 2
+doctype[0].primitivetype[3].name "string"
+doctype[0].primitivetype[4].idx 10010
+doctype[0].primitivetype[4].internalid 1
+doctype[0].primitivetype[4].name "float"
+doctype[0].annotationtype[0].idx 10011
+doctype[0].annotationtype[0].name "normalized"
+doctype[0].annotationtype[0].internalid 4
+doctype[0].annotationtype[0].datatype 10009
+doctype[0].annotationtype[1].idx 10012
+doctype[0].annotationtype[1].name "reading"
+doctype[0].annotationtype[1].internalid 5
+doctype[0].annotationtype[1].datatype 10009
+doctype[0].annotationtype[2].idx 10013
+doctype[0].annotationtype[2].name "industry"
+doctype[0].annotationtype[2].internalid 9765800
+doctype[0].annotationtype[2].datatype 10006
+doctype[0].annotationtype[3].idx 10014
+doctype[0].annotationtype[3].name "canonical"
+doctype[0].annotationtype[3].internalid 3
+doctype[0].annotationtype[3].datatype 10009
+doctype[0].annotationtype[4].idx 10015
+doctype[0].annotationtype[4].name "token_type"
+doctype[0].annotationtype[4].internalid 2
+doctype[0].annotationtype[4].datatype 10004
+doctype[0].annotationtype[5].idx 10016
+doctype[0].annotationtype[5].name "proximity_break"
+doctype[0].annotationtype[5].internalid 8
+doctype[0].annotationtype[5].datatype 10007
+doctype[0].annotationtype[6].idx 10017
+doctype[0].annotationtype[6].name "person"
+doctype[0].annotationtype[6].internalid 609952424
+doctype[0].annotationtype[6].datatype 10003
+doctype[0].annotationtype[7].idx 10018
+doctype[0].annotationtype[7].name "term"
+doctype[0].annotationtype[7].internalid 1
+doctype[0].annotationtype[7].datatype 10009
+doctype[0].annotationtype[8].idx 10019
+doctype[0].annotationtype[8].name "transformed"
+doctype[0].annotationtype[8].internalid 7
+doctype[0].annotationtype[8].datatype 10009
+doctype[0].annotationtype[9].idx 10020
+doctype[0].annotationtype[9].name "company"
+doctype[0].annotationtype[9].internalid 1278713514
+doctype[0].annotationtype[9].datatype 10005
+doctype[0].annotationtype[9].inherits[0].idx 10013
+doctype[0].annotationtype[10].idx 10021
+doctype[0].annotationtype[10].name "location"
+doctype[0].annotationtype[10].internalid -270471211
+doctype[0].annotationtype[10].datatype 10008
+doctype[0].annotationtype[11].idx 10022
+doctype[0].annotationtype[11].name "special_token"
+doctype[0].annotationtype[11].internalid 9
+doctype[0].annotationtype[12].idx 10023
+doctype[0].annotationtype[12].name "stem"
+doctype[0].annotationtype[12].internalid 6
+doctype[0].annotationtype[12].datatype 10009
+doctype[0].structtype[0].idx 10001
+doctype[0].structtype[0].name document.header
+doctype[0].structtype[1].idx 10003
+doctype[0].structtype[1].name annotation.person
+doctype[0].structtype[1].field[0].name "name"
+doctype[0].structtype[1].field[0].internalid 1160796772
+doctype[0].structtype[1].field[0].type 10009
+doctype[0].structtype[2].idx 10005
+doctype[0].structtype[2].name annotation.company
+doctype[0].structtype[2].inherits[0].type 10006
+doctype[0].structtype[2].field[0].name "alt"
+doctype[0].structtype[2].field[0].internalid 2045080471
+doctype[0].structtype[2].field[0].type 10002
+doctype[0].structtype[2].field[1].name "ceo"
+doctype[0].structtype[2].field[1].internalid 1461191475
+doctype[0].structtype[2].field[1].type 10009
+doctype[0].structtype[2].field[2].name "lat"
+doctype[0].structtype[2].field[2].internalid 348215633
+doctype[0].structtype[2].field[2].type 10010
+doctype[0].structtype[2].field[3].name "lon"
+doctype[0].structtype[2].field[3].internalid 290823024
+doctype[0].structtype[2].field[3].type 10010
+doctype[0].structtype[2].field[4].name "name"
+doctype[0].structtype[2].field[4].internalid 1160796772
+doctype[0].structtype[2].field[4].type 10009
+doctype[0].structtype[3].idx 10006
+doctype[0].structtype[3].name annotation.industry
+doctype[0].structtype[3].field[0].name "vertical"
+doctype[0].structtype[3].field[0].internalid 1054642217
+doctype[0].structtype[3].field[0].type 10009
+doctype[0].structtype[4].idx 10008
+doctype[0].structtype[4].name annotation.location
+doctype[0].structtype[4].field[0].name "name"
+doctype[0].structtype[4].field[0].internalid 1160796772
+doctype[0].structtype[4].field[0].type 10009
+doctype[1].name "blog"
+doctype[1].idx 10024
+doctype[1].inherits[0].idx 10000
+doctype[1].contentstruct 10025
+doctype[1].primitivetype[0].idx 10026
+doctype[1].primitivetype[0].internalid 10
+doctype[1].primitivetype[0].name "uri"
+doctype[1].structtype[0].idx 10025
+doctype[1].structtype[0].name blog.header
+doctype[1].structtype[0].field[0].name "author"
+doctype[1].structtype[0].field[0].internalid 644499292
+doctype[1].structtype[0].field[0].type 10009
+doctype[1].structtype[0].field[1].name "body"
+doctype[1].structtype[0].field[1].internalid 563132339
+doctype[1].structtype[0].field[1].type 10009
+doctype[1].structtype[0].field[2].name "title"
+doctype[1].structtype[0].field[2].internalid 567626448
+doctype[1].structtype[0].field[2].type 10009
+doctype[1].structtype[0].field[3].name "url"
+doctype[1].structtype[0].field[3].internalid 2095970198
+doctype[1].structtype[0].field[3].type 10026
diff --git a/document/src/test/java/com/yahoo/document/annotation/documentmanager.systemtest.cfg b/document/src/test/java/com/yahoo/document/annotation/documentmanager.systemtest.cfg
index ce8be4410a1..4233088ae9f 100644
--- a/document/src/test/java/com/yahoo/document/annotation/documentmanager.systemtest.cfg
+++ b/document/src/test/java/com/yahoo/document/annotation/documentmanager.systemtest.cfg
@@ -1,155 +1,129 @@
-enablecompression false
-datatype[11]
-datatype[0].id -198681903
-datatype[0].arraytype[0]
-datatype[0].weightedsettype[0]
-datatype[0].structtype[0]
-datatype[0].documenttype[0]
-datatype[0].annotationreftype[1]
-datatype[0].annotationreftype[0].annotation "person"
-datatype[1].id 1812054936
-datatype[1].arraytype[0]
-datatype[1].weightedsettype[0]
-datatype[1].structtype[0]
-datatype[1].documenttype[0]
-datatype[1].annotationreftype[1]
-datatype[1].annotationreftype[0].annotation "date"
-datatype[2].id 692270031
-datatype[2].arraytype[0]
-datatype[2].weightedsettype[0]
-datatype[2].structtype[0]
-datatype[2].documenttype[0]
-datatype[2].annotationreftype[1]
-datatype[2].annotationreftype[0].annotation "place"
-datatype[3].id 892457735
-datatype[3].arraytype[0]
-datatype[3].weightedsettype[0]
-datatype[3].structtype[1]
-datatype[3].structtype[0].name "article.header"
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].field[2]
-datatype[3].structtype[0].field[0].name "title"
-datatype[3].structtype[0].field[0].datatype 2
-datatype[3].structtype[0].field[0].id[0]
-datatype[3].structtype[0].field[1].name "content"
-datatype[3].structtype[0].field[1].datatype 2
-datatype[3].structtype[0].field[1].id[0]
-datatype[3].structtype[0].inherits[0]
-datatype[3].documenttype[0]
-datatype[3].annotationreftype[0]
-datatype[4].id -1984964900
-datatype[4].arraytype[0]
-datatype[4].weightedsettype[0]
-datatype[4].structtype[1]
-datatype[4].structtype[0].name "article.body"
-datatype[4].structtype[0].version 0
-datatype[4].structtype[0].field[0]
-datatype[4].structtype[0].inherits[0]
-datatype[4].documenttype[0]
-datatype[4].annotationreftype[0]
-datatype[5].id 559508792
-datatype[5].arraytype[0]
-datatype[5].weightedsettype[0]
-datatype[5].structtype[0]
-datatype[5].documenttype[1]
-datatype[5].documenttype[0].name "article"
-datatype[5].documenttype[0].version 0
-datatype[5].documenttype[0].headerstruct 892457735
-datatype[5].documenttype[0].bodystruct -1984964900
-datatype[5].documenttype[0].inherits[0]
-datatype[5].annotationreftype[0]
-datatype[6].id -1466283082
-datatype[6].arraytype[0]
-datatype[6].weightedsettype[0]
-datatype[6].structtype[1]
-datatype[6].structtype[0].name "annotation.person"
-datatype[6].structtype[0].version 0
-datatype[6].structtype[0].field[1]
-datatype[6].structtype[0].field[0].name "name"
-datatype[6].structtype[0].field[0].datatype 2
-datatype[6].structtype[0].field[0].id[0]
-datatype[6].structtype[0].inherits[0]
-datatype[6].documenttype[0]
-datatype[6].annotationreftype[0]
-datatype[7].id 1157126952
-datatype[7].arraytype[0]
-datatype[7].weightedsettype[0]
-datatype[7].structtype[1]
-datatype[7].structtype[0].name "annotation.artist"
-datatype[7].structtype[0].version 0
-datatype[7].structtype[0].field[1]
-datatype[7].structtype[0].field[0].name "instrument"
-datatype[7].structtype[0].field[0].datatype 0
-datatype[7].structtype[0].field[0].id[0]
-datatype[7].structtype[0].inherits[1]
-datatype[7].structtype[0].inherits[0].name "annotation.person"
-datatype[7].structtype[0].inherits[0].version 0
-datatype[7].documenttype[0]
-datatype[7].annotationreftype[0]
-datatype[8].id -840345201
-datatype[8].arraytype[0]
-datatype[8].weightedsettype[0]
-datatype[8].structtype[1]
-datatype[8].structtype[0].name "annotation.date"
-datatype[8].structtype[0].version 0
-datatype[8].structtype[0].field[1]
-datatype[8].structtype[0].field[0].name "exacttime"
-datatype[8].structtype[0].field[0].datatype 4
-datatype[8].structtype[0].field[0].id[0]
-datatype[8].structtype[0].inherits[0]
-datatype[8].documenttype[0]
-datatype[8].annotationreftype[0]
-datatype[9].id 2076579146
-datatype[9].arraytype[0]
-datatype[9].weightedsettype[0]
-datatype[9].structtype[1]
-datatype[9].structtype[0].name "annotation.place"
-datatype[9].structtype[0].version 0
-datatype[9].structtype[0].field[2]
-datatype[9].structtype[0].field[0].name "lat"
-datatype[9].structtype[0].field[0].datatype 4
-datatype[9].structtype[0].field[0].id[0]
-datatype[9].structtype[0].field[1].name "lon"
-datatype[9].structtype[0].field[1].datatype 4
-datatype[9].structtype[0].field[1].id[0]
-datatype[9].structtype[0].inherits[0]
-datatype[9].documenttype[0]
-datatype[9].annotationreftype[0]
-datatype[10].id 1194300957
-datatype[10].arraytype[0]
-datatype[10].weightedsettype[0]
-datatype[10].structtype[1]
-datatype[10].structtype[0].name "annotation.event"
-datatype[10].structtype[0].version 0
-datatype[10].structtype[0].field[4]
-datatype[10].structtype[0].field[0].name "description"
-datatype[10].structtype[0].field[0].datatype 2
-datatype[10].structtype[0].field[0].id[0]
-datatype[10].structtype[0].field[1].name "person"
-datatype[10].structtype[0].field[1].datatype -198681903
-datatype[10].structtype[0].field[1].id[0]
-datatype[10].structtype[0].field[2].name "date"
-datatype[10].structtype[0].field[2].datatype 1812054936
-datatype[10].structtype[0].field[2].id[0]
-datatype[10].structtype[0].field[3].name "place"
-datatype[10].structtype[0].field[3].datatype 692270031
-datatype[10].structtype[0].field[3].id[0]
-datatype[10].structtype[0].inherits[0]
-datatype[10].documenttype[0]
-datatype[10].annotationreftype[0]
-annotationtype[5]
-annotationtype[0].name "person"
-annotationtype[0].id 609952424
-annotationtype[0].datatype -1466283082
-annotationtype[1].name "event"
-annotationtype[1].id -455530995
-annotationtype[1].datatype 1194300957
-annotationtype[2].name "artist"
-annotationtype[2].id 690330276
-annotationtype[2].datatype 1157126952
-annotationtype[3].name "date"
-annotationtype[3].id -162455681
-annotationtype[3].datatype -840345201
-annotationtype[4].name "place"
-annotationtype[4].id 1707984040
-annotationtype[4].datatype 2076579146
+doctype[2]
+doctype[0].name "document"
+doctype[0].idx 10000
+doctype[0].contentstruct 10001
+doctype[0].primitivetype[0].idx 10005
+doctype[0].primitivetype[0].internalid 4
+doctype[0].primitivetype[0].name "long"
+doctype[0].primitivetype[1].idx 10007
+doctype[0].primitivetype[1].internalid 0
+doctype[0].primitivetype[1].name "int"
+doctype[0].primitivetype[2].idx 10009
+doctype[0].primitivetype[2].internalid 5
+doctype[0].primitivetype[2].name "double"
+doctype[0].primitivetype[3].idx 10013
+doctype[0].primitivetype[3].internalid 2
+doctype[0].primitivetype[3].name "string"
+doctype[0].annotationtype[0].idx 10014
+doctype[0].annotationtype[0].name "date"
+doctype[0].annotationtype[0].internalid -162455681
+doctype[0].annotationtype[0].datatype 10012
+doctype[0].annotationtype[1].idx 10015
+doctype[0].annotationtype[1].name "artist"
+doctype[0].annotationtype[1].internalid 690330276
+doctype[0].annotationtype[1].datatype 10002
+doctype[0].annotationtype[2].idx 10016
+doctype[0].annotationtype[2].name "normalized"
+doctype[0].annotationtype[2].internalid 4
+doctype[0].annotationtype[2].datatype 10013
+doctype[0].annotationtype[3].idx 10017
+doctype[0].annotationtype[3].name "reading"
+doctype[0].annotationtype[3].internalid 5
+doctype[0].annotationtype[3].datatype 10013
+doctype[0].annotationtype[4].idx 10018
+doctype[0].annotationtype[4].name "canonical"
+doctype[0].annotationtype[4].internalid 3
+doctype[0].annotationtype[4].datatype 10013
+doctype[0].annotationtype[5].idx 10019
+doctype[0].annotationtype[5].name "token_type"
+doctype[0].annotationtype[5].internalid 2
+doctype[0].annotationtype[5].datatype 10007
+doctype[0].annotationtype[6].idx 10020
+doctype[0].annotationtype[6].name "proximity_break"
+doctype[0].annotationtype[6].internalid 8
+doctype[0].annotationtype[6].datatype 10009
+doctype[0].annotationtype[7].idx 10021
+doctype[0].annotationtype[7].name "person"
+doctype[0].annotationtype[7].internalid 609952424
+doctype[0].annotationtype[7].datatype 10011
+doctype[0].annotationtype[8].idx 10022
+doctype[0].annotationtype[8].name "term"
+doctype[0].annotationtype[8].internalid 1
+doctype[0].annotationtype[8].datatype 10013
+doctype[0].annotationtype[9].idx 10023
+doctype[0].annotationtype[9].name "transformed"
+doctype[0].annotationtype[9].internalid 7
+doctype[0].annotationtype[9].datatype 10013
+doctype[0].annotationtype[10].idx 10024
+doctype[0].annotationtype[10].name "place"
+doctype[0].annotationtype[10].internalid 1707984040
+doctype[0].annotationtype[10].datatype 10004
+doctype[0].annotationtype[11].idx 10025
+doctype[0].annotationtype[11].name "event"
+doctype[0].annotationtype[11].internalid -455530995
+doctype[0].annotationtype[11].datatype 10006
+doctype[0].annotationtype[12].idx 10026
+doctype[0].annotationtype[12].name "special_token"
+doctype[0].annotationtype[12].internalid 9
+doctype[0].annotationtype[13].idx 10027
+doctype[0].annotationtype[13].name "stem"
+doctype[0].annotationtype[13].internalid 6
+doctype[0].annotationtype[13].datatype 10013
+doctype[0].annotationref[0].idx 10003
+doctype[0].annotationref[0].annotationtype 10024
+doctype[0].annotationref[1].idx 10008
+doctype[0].annotationref[1].annotationtype 10014
+doctype[0].annotationref[2].idx 10010
+doctype[0].annotationref[2].annotationtype 10021
+doctype[0].structtype[0].idx 10002
+doctype[0].structtype[0].name annotation.artist
+doctype[0].structtype[0].inherits[0].type 10011
+doctype[0].structtype[0].field[0].name "instrument"
+doctype[0].structtype[0].field[0].internalid 1675549145
+doctype[0].structtype[0].field[0].type 10007
+doctype[0].structtype[1].idx 10004
+doctype[0].structtype[1].name annotation.place
+doctype[0].structtype[1].field[0].name "lat"
+doctype[0].structtype[1].field[0].internalid 1056483963
+doctype[0].structtype[1].field[0].type 10005
+doctype[0].structtype[1].field[1].name "lon"
+doctype[0].structtype[1].field[1].internalid 383109411
+doctype[0].structtype[1].field[1].type 10005
+doctype[0].structtype[2].idx 10001
+doctype[0].structtype[2].name document.header
+doctype[0].structtype[3].idx 10006
+doctype[0].structtype[3].name annotation.event
+doctype[0].structtype[3].field[0].name "description"
+doctype[0].structtype[3].field[0].internalid 85817688
+doctype[0].structtype[3].field[0].type 10013
+doctype[0].structtype[3].field[1].name "person"
+doctype[0].structtype[3].field[1].internalid 1424249475
+doctype[0].structtype[3].field[1].type 10010
+doctype[0].structtype[3].field[2].name "date"
+doctype[0].structtype[3].field[2].internalid 1946744928
+doctype[0].structtype[3].field[2].type 10008
+doctype[0].structtype[3].field[3].name "place"
+doctype[0].structtype[3].field[3].internalid 1257855785
+doctype[0].structtype[3].field[3].type 10003
+doctype[0].structtype[4].idx 10011
+doctype[0].structtype[4].name annotation.person
+doctype[0].structtype[4].field[0].name "name"
+doctype[0].structtype[4].field[0].internalid 1160796772
+doctype[0].structtype[4].field[0].type 10013
+doctype[0].structtype[5].idx 10012
+doctype[0].structtype[5].name annotation.date
+doctype[0].structtype[5].field[0].name "exacttime"
+doctype[0].structtype[5].field[0].internalid 1338792252
+doctype[0].structtype[5].field[0].type 10005
+doctype[1].name "article"
+doctype[1].idx 10028
+doctype[1].inherits[0].idx 10000
+doctype[1].contentstruct 10029
+doctype[1].structtype[0].idx 10029
+doctype[1].structtype[0].name article.header
+doctype[1].structtype[0].field[0].name "title"
+doctype[1].structtype[0].field[0].internalid 567626448
+doctype[1].structtype[0].field[0].type 10013
+doctype[1].structtype[0].field[1].name "content"
+doctype[1].structtype[0].field[1].internalid 482196823
+doctype[1].structtype[0].field[1].type 10013
diff --git a/document/src/test/java/com/yahoo/document/datatypes/documentmanager.blog.sd b/document/src/test/java/com/yahoo/document/datatypes/documentmanager.blog.sd
index 9b5966bd458..4f0cfd204ea 100644
--- a/document/src/test/java/com/yahoo/document/datatypes/documentmanager.blog.sd
+++ b/document/src/test/java/com/yahoo/document/datatypes/documentmanager.blog.sd
@@ -1,127 +1,121 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-enablecompression false
-datatype[7]
-datatype[0].id -945638949
-datatype[0].arraytype[0]
-datatype[0].weightedsettype[0]
-datatype[0].structtype[1]
-datatype[0].structtype[0].name "blog.header"
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].field[4]
-datatype[0].structtype[0].field[0].name "title"
-datatype[0].structtype[0].field[0].datatype 2
-datatype[0].structtype[0].field[0].id[0]
-datatype[0].structtype[0].field[1].name "author"
-datatype[0].structtype[0].field[1].datatype 2
-datatype[0].structtype[0].field[1].id[0]
-datatype[0].structtype[0].field[2].name "body"
-datatype[0].structtype[0].field[2].datatype 2
-datatype[0].structtype[0].field[2].id[0]
-datatype[0].structtype[0].field[3].name "url"
-datatype[0].structtype[0].field[3].datatype 10
-datatype[0].structtype[0].field[3].id[0]
-datatype[0].structtype[0].inherits[0]
-datatype[0].documenttype[0]
-datatype[0].annotationreftype[0]
-datatype[1].id 1387420336
-datatype[1].arraytype[0]
-datatype[1].weightedsettype[0]
-datatype[1].structtype[1]
-datatype[1].structtype[0].name "blog.body"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].field[0]
-datatype[1].structtype[0].inherits[0]
-datatype[1].documenttype[0]
-datatype[1].annotationreftype[0]
-datatype[2].id -1386162972
-datatype[2].arraytype[0]
-datatype[2].weightedsettype[0]
-datatype[2].structtype[0]
-datatype[2].documenttype[1]
-datatype[2].documenttype[0].name "blog"
-datatype[2].documenttype[0].version 0
-datatype[2].documenttype[0].headerstruct -945638949
-datatype[2].documenttype[0].bodystruct 1387420336
-datatype[2].documenttype[0].inherits[0]
-datatype[2].annotationreftype[0]
-datatype[3].id 912259135
-datatype[3].arraytype[0]
-datatype[3].weightedsettype[0]
-datatype[3].structtype[1]
-datatype[3].structtype[0].name "annotation.industry"
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].field[1]
-datatype[3].structtype[0].field[0].name "vertical"
-datatype[3].structtype[0].field[0].datatype 2
-datatype[3].structtype[0].field[0].id[0]
-datatype[3].structtype[0].inherits[0]
-datatype[3].documenttype[0]
-datatype[3].annotationreftype[0]
-datatype[4].id -476092672
-datatype[4].arraytype[0]
-datatype[4].weightedsettype[0]
-datatype[4].structtype[1]
-datatype[4].structtype[0].name "annotation.company"
-datatype[4].structtype[0].version 0
-datatype[4].structtype[0].field[4]
-datatype[4].structtype[0].field[0].name "name"
-datatype[4].structtype[0].field[0].datatype 2
-datatype[4].structtype[0].field[0].id[0]
-datatype[4].structtype[0].field[1].name "ceo"
-datatype[4].structtype[0].field[1].datatype 2
-datatype[4].structtype[0].field[1].id[0]
-datatype[4].structtype[0].field[2].name "lat"
-datatype[4].structtype[0].field[2].datatype 4
-datatype[4].structtype[0].field[2].id[0]
-datatype[4].structtype[0].field[3].name "lon"
-datatype[4].structtype[0].field[3].datatype 4
-datatype[4].structtype[0].field[3].id[0]
-datatype[4].structtype[0].inherits[1]
-datatype[4].structtype[0].inherits[0].name "annotation.industry"
-datatype[4].structtype[0].inherits[0].version 0
-datatype[4].documenttype[0]
-datatype[4].annotationreftype[0]
-datatype[5].id -1466283082
-datatype[5].arraytype[0]
-datatype[5].weightedsettype[0]
-datatype[5].structtype[1]
-datatype[5].structtype[0].name "annotation.person"
-datatype[5].structtype[0].version 0
-datatype[5].structtype[0].field[1]
-datatype[5].structtype[0].field[0].name "name"
-datatype[5].structtype[0].field[0].datatype 2
-datatype[5].structtype[0].field[0].id[0]
-datatype[5].structtype[0].inherits[0]
-datatype[5].documenttype[0]
-datatype[5].annotationreftype[0]
-datatype[6].id 515587158
-datatype[6].arraytype[0]
-datatype[6].weightedsettype[0]
-datatype[6].structtype[1]
-datatype[6].structtype[0].name "annotation.location"
-datatype[6].structtype[0].version 0
-datatype[6].structtype[0].field[1]
-datatype[6].structtype[0].field[0].name "name"
-datatype[6].structtype[0].field[0].datatype 2
-datatype[6].structtype[0].field[0].id[0]
-datatype[6].structtype[0].inherits[0]
-datatype[6].documenttype[0]
-datatype[6].annotationreftype[0]
-annotationtype[4]
-annotationtype[0].name "person"
-annotationtype[0].id 609952424
-annotationtype[0].datatype -1466283082
-annotationtype[0].inherits[0]
-annotationtype[1].name "location"
-annotationtype[1].id -270471211
-annotationtype[1].datatype 515587158
-annotationtype[1].inherits[0]
-annotationtype[2].name "company"
-annotationtype[2].id 1278713514
-annotationtype[2].datatype -476092672
-annotationtype[2].inherits[1]
-annotationtype[2].inherits[0].id 9765800
-annotationtype[3].name "industry"
-annotationtype[3].id 9765800
-annotationtype[3].datatype 912259135
-annotationtype[3].inherits[0]
+doctype[2]
+doctype[0].name "document"
+doctype[0].idx 10000
+doctype[0].contentstruct 10001
+doctype[0].primitivetype[0].idx 10003
+doctype[0].primitivetype[0].internalid 4
+doctype[0].primitivetype[0].name "long"
+doctype[0].primitivetype[1].idx 10005
+doctype[0].primitivetype[1].internalid 0
+doctype[0].primitivetype[1].name "int"
+doctype[0].primitivetype[2].idx 10006
+doctype[0].primitivetype[2].internalid 5
+doctype[0].primitivetype[2].name "double"
+doctype[0].primitivetype[3].idx 10007
+doctype[0].primitivetype[3].internalid 2
+doctype[0].primitivetype[3].name "string"
+doctype[0].annotationtype[0].idx 10010
+doctype[0].annotationtype[0].name "normalized"
+doctype[0].annotationtype[0].internalid 4
+doctype[0].annotationtype[0].datatype 10007
+doctype[0].annotationtype[1].idx 10011
+doctype[0].annotationtype[1].name "reading"
+doctype[0].annotationtype[1].internalid 5
+doctype[0].annotationtype[1].datatype 10007
+doctype[0].annotationtype[2].idx 10012
+doctype[0].annotationtype[2].name "industry"
+doctype[0].annotationtype[2].internalid 9765800
+doctype[0].annotationtype[2].datatype 10008
+doctype[0].annotationtype[3].idx 10013
+doctype[0].annotationtype[3].name "canonical"
+doctype[0].annotationtype[3].internalid 3
+doctype[0].annotationtype[3].datatype 10007
+doctype[0].annotationtype[4].idx 10014
+doctype[0].annotationtype[4].name "token_type"
+doctype[0].annotationtype[4].internalid 2
+doctype[0].annotationtype[4].datatype 10005
+doctype[0].annotationtype[5].idx 10015
+doctype[0].annotationtype[5].name "proximity_break"
+doctype[0].annotationtype[5].internalid 8
+doctype[0].annotationtype[5].datatype 10006
+doctype[0].annotationtype[6].idx 10016
+doctype[0].annotationtype[6].name "person"
+doctype[0].annotationtype[6].internalid 609952424
+doctype[0].annotationtype[6].datatype 10004
+doctype[0].annotationtype[7].idx 10017
+doctype[0].annotationtype[7].name "term"
+doctype[0].annotationtype[7].internalid 1
+doctype[0].annotationtype[7].datatype 10007
+doctype[0].annotationtype[8].idx 10018
+doctype[0].annotationtype[8].name "transformed"
+doctype[0].annotationtype[8].internalid 7
+doctype[0].annotationtype[8].datatype 10007
+doctype[0].annotationtype[9].idx 10019
+doctype[0].annotationtype[9].name "location"
+doctype[0].annotationtype[9].internalid -270471211
+doctype[0].annotationtype[9].datatype 10009
+doctype[0].annotationtype[10].idx 10020
+doctype[0].annotationtype[10].name "company"
+doctype[0].annotationtype[10].internalid 1278713514
+doctype[0].annotationtype[10].datatype 10002
+doctype[0].annotationtype[10].inherits[0].idx 10012
+doctype[0].annotationtype[11].idx 10021
+doctype[0].annotationtype[11].name "special_token"
+doctype[0].annotationtype[11].internalid 9
+doctype[0].annotationtype[12].idx 10022
+doctype[0].annotationtype[12].name "stem"
+doctype[0].annotationtype[12].internalid 6
+doctype[0].annotationtype[12].datatype 10007
+doctype[0].structtype[0].idx 10001
+doctype[0].structtype[0].name document.header
+doctype[0].structtype[1].idx 10002
+doctype[0].structtype[1].name annotation.company
+doctype[0].structtype[1].inherits[0].type 10008
+doctype[0].structtype[1].field[0].name "name"
+doctype[0].structtype[1].field[0].internalid 1160796772
+doctype[0].structtype[1].field[0].type 10007
+doctype[0].structtype[1].field[1].name "ceo"
+doctype[0].structtype[1].field[1].internalid 1461191475
+doctype[0].structtype[1].field[1].type 10007
+doctype[0].structtype[1].field[2].name "lat"
+doctype[0].structtype[1].field[2].internalid 1056483963
+doctype[0].structtype[1].field[2].type 10003
+doctype[0].structtype[1].field[3].name "lon"
+doctype[0].structtype[1].field[3].internalid 383109411
+doctype[0].structtype[1].field[3].type 10003
+doctype[0].structtype[2].idx 10004
+doctype[0].structtype[2].name annotation.person
+doctype[0].structtype[2].field[0].name "name"
+doctype[0].structtype[2].field[0].internalid 1160796772
+doctype[0].structtype[2].field[0].type 10007
+doctype[0].structtype[3].idx 10008
+doctype[0].structtype[3].name annotation.industry
+doctype[0].structtype[3].field[0].name "vertical"
+doctype[0].structtype[3].field[0].internalid 1054642217
+doctype[0].structtype[3].field[0].type 10007
+doctype[0].structtype[4].idx 10009
+doctype[0].structtype[4].name annotation.location
+doctype[0].structtype[4].field[0].name "name"
+doctype[0].structtype[4].field[0].internalid 1160796772
+doctype[0].structtype[4].field[0].type 10007
+doctype[1].name "blog"
+doctype[1].idx 10023
+doctype[1].inherits[0].idx 10000
+doctype[1].contentstruct 10024
+doctype[1].primitivetype[0].idx 10025
+doctype[1].primitivetype[0].internalid 10
+doctype[1].primitivetype[0].name "uri"
+doctype[1].structtype[0].idx 10024
+doctype[1].structtype[0].name blog.header
+doctype[1].structtype[0].field[0].name "title"
+doctype[1].structtype[0].field[0].internalid 567626448
+doctype[1].structtype[0].field[0].type 10007
+doctype[1].structtype[0].field[1].name "author"
+doctype[1].structtype[0].field[1].internalid 644499292
+doctype[1].structtype[0].field[1].type 10007
+doctype[1].structtype[0].field[2].name "body"
+doctype[1].structtype[0].field[2].internalid 563132339
+doctype[1].structtype[0].field[2].type 10007
+doctype[1].structtype[0].field[3].name "url"
+doctype[1].structtype[0].field[3].internalid 2095970198
+doctype[1].structtype[0].field[3].type 10025
diff --git a/document/src/test/java/com/yahoo/document/documentmanager.docindoc.cfg b/document/src/test/java/com/yahoo/document/documentmanager.docindoc.cfg
index 65ce1b56811..0b6c59ca381 100644
--- a/document/src/test/java/com/yahoo/document/documentmanager.docindoc.cfg
+++ b/document/src/test/java/com/yahoo/document/documentmanager.docindoc.cfg
@@ -1,41 +1,73 @@
-enablecompression false
-datatype[7]
-datatype[0].id -1407012075
-datatype[0].structtype[1]
-datatype[0].structtype[0].name "outerdoc.body"
-datatype[0].structtype[0].version 0
-datatype[1].id -1686125086
-datatype[1].structtype[1]
-datatype[1].structtype[0].name "docindoc.header"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].field[2]
-datatype[1].structtype[0].field[0].datatype 2
-datatype[1].structtype[0].field[0].name "name"
-datatype[1].structtype[0].field[1].datatype 2
-datatype[1].structtype[0].field[1].name "content"
-datatype[2].id -2035324352
-datatype[2].arraytype[1]
-datatype[2].arraytype[0].datatype 1447635645
-datatype[3].id -2040625920
-datatype[3].structtype[1]
-datatype[3].structtype[0].name "outerdoc.header"
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].field[1]
-datatype[3].structtype[0].field[0].datatype -2035324352
-datatype[3].structtype[0].field[0].name "innerdocuments"
-datatype[4].id 1447635645
-datatype[4].documenttype[1]
-datatype[4].documenttype[0].bodystruct 2030224503
-datatype[4].documenttype[0].headerstruct -1686125086
-datatype[4].documenttype[0].name "docindoc"
-datatype[4].documenttype[0].version 0
-datatype[5].id 1748635999
-datatype[5].documenttype[1]
-datatype[5].documenttype[0].bodystruct -1407012075
-datatype[5].documenttype[0].headerstruct -2040625920
-datatype[5].documenttype[0].name "outerdoc"
-datatype[5].documenttype[0].version 0
-datatype[6].id 2030224503
-datatype[6].structtype[1]
-datatype[6].structtype[0].name "docindoc.body"
-datatype[6].structtype[0].version 0
+doctype[3]
+doctype[0].name "document"
+doctype[0].idx 10000
+doctype[0].contentstruct 10001
+doctype[0].primitivetype[0].idx 10002
+doctype[0].primitivetype[0].internalid 0
+doctype[0].primitivetype[0].name "int"
+doctype[0].primitivetype[1].idx 10003
+doctype[0].primitivetype[1].internalid 5
+doctype[0].primitivetype[1].name "double"
+doctype[0].primitivetype[2].idx 10004
+doctype[0].primitivetype[2].internalid 2
+doctype[0].primitivetype[2].name "string"
+doctype[0].annotationtype[0].idx 10005
+doctype[0].annotationtype[0].name "proximity_break"
+doctype[0].annotationtype[0].internalid 8
+doctype[0].annotationtype[0].datatype 10003
+doctype[0].annotationtype[1].idx 10006
+doctype[0].annotationtype[1].name "normalized"
+doctype[0].annotationtype[1].internalid 4
+doctype[0].annotationtype[1].datatype 10004
+doctype[0].annotationtype[2].idx 10007
+doctype[0].annotationtype[2].name "reading"
+doctype[0].annotationtype[2].internalid 5
+doctype[0].annotationtype[2].datatype 10004
+doctype[0].annotationtype[3].idx 10008
+doctype[0].annotationtype[3].name "term"
+doctype[0].annotationtype[3].internalid 1
+doctype[0].annotationtype[3].datatype 10004
+doctype[0].annotationtype[4].idx 10009
+doctype[0].annotationtype[4].name "transformed"
+doctype[0].annotationtype[4].internalid 7
+doctype[0].annotationtype[4].datatype 10004
+doctype[0].annotationtype[5].idx 10010
+doctype[0].annotationtype[5].name "canonical"
+doctype[0].annotationtype[5].internalid 3
+doctype[0].annotationtype[5].datatype 10004
+doctype[0].annotationtype[6].idx 10011
+doctype[0].annotationtype[6].name "token_type"
+doctype[0].annotationtype[6].internalid 2
+doctype[0].annotationtype[6].datatype 10002
+doctype[0].annotationtype[7].idx 10012
+doctype[0].annotationtype[7].name "special_token"
+doctype[0].annotationtype[7].internalid 9
+doctype[0].annotationtype[8].idx 10013
+doctype[0].annotationtype[8].name "stem"
+doctype[0].annotationtype[8].internalid 6
+doctype[0].annotationtype[8].datatype 10004
+doctype[0].structtype[0].idx 10001
+doctype[0].structtype[0].name document.header
+doctype[1].name "docindoc"
+doctype[1].idx 10014
+doctype[1].inherits[0].idx 10000
+doctype[1].contentstruct 10015
+doctype[1].structtype[0].idx 10015
+doctype[1].structtype[0].name docindoc.header
+doctype[1].structtype[0].field[0].name "name"
+doctype[1].structtype[0].field[0].internalid 1160796772
+doctype[1].structtype[0].field[0].type 10004
+doctype[1].structtype[0].field[1].name "content"
+doctype[1].structtype[0].field[1].internalid 482196823
+doctype[1].structtype[0].field[1].type 10004
+doctype[2].name "outerdoc"
+doctype[2].idx 10016
+doctype[2].inherits[0].idx 10000
+doctype[2].contentstruct 10017
+doctype[2].arraytype[0].idx 10018
+doctype[2].arraytype[0].elementtype 10014
+doctype[2].structtype[0].idx 10017
+doctype[2].structtype[0].name outerdoc.header
+doctype[2].structtype[0].field[0].name "innerdocuments"
+doctype[2].structtype[0].field[0].internalid 1655182511
+doctype[2].structtype[0].field[0].type 10018
diff --git a/document/src/test/vespaxmlparser/documentmanager2.cfg b/document/src/test/vespaxmlparser/documentmanager2.cfg
index 578fa740a6c..cedf46fa7ab 100644
--- a/document/src/test/vespaxmlparser/documentmanager2.cfg
+++ b/document/src/test/vespaxmlparser/documentmanager2.cfg
@@ -1,220 +1,173 @@
-enablecompression false
-datatype[16]
-datatype[0].id -1486737430
-datatype[0].arraytype[1]
-datatype[0].arraytype[0].datatype 2
-datatype[0].maptype[0]
-datatype[0].weightedsettype[0]
-datatype[0].structtype[0]
-datatype[0].annotationreftype[0]
-datatype[0].documenttype[0]
-datatype[1].id -1245117006
-datatype[1].arraytype[1]
-datatype[1].arraytype[0].datatype 0
-datatype[1].maptype[0]
-datatype[1].weightedsettype[0]
-datatype[1].structtype[0]
-datatype[1].annotationreftype[0]
-datatype[1].documenttype[0]
-datatype[2].id 58874399
-datatype[2].arraytype[1]
-datatype[2].arraytype[0].datatype 4
-datatype[2].maptype[0]
-datatype[2].weightedsettype[0]
-datatype[2].structtype[0]
-datatype[2].annotationreftype[0]
-datatype[2].documenttype[0]
-datatype[3].id 49942803
-datatype[3].arraytype[1]
-datatype[3].arraytype[0].datatype 16
-datatype[3].maptype[0]
-datatype[3].weightedsettype[0]
-datatype[3].structtype[0]
-datatype[3].annotationreftype[0]
-datatype[3].documenttype[0]
-datatype[4].id 1650586661
-datatype[4].arraytype[1]
-datatype[4].arraytype[0].datatype 1
-datatype[4].maptype[0]
-datatype[4].weightedsettype[0]
-datatype[4].structtype[0]
-datatype[4].annotationreftype[0]
-datatype[4].documenttype[0]
-datatype[5].id 519906144
-datatype[5].arraytype[0]
-datatype[5].maptype[0]
-datatype[5].weightedsettype[1]
-datatype[5].weightedsettype[0].datatype 0
-datatype[5].weightedsettype[0].createifnonexistant false
-datatype[5].weightedsettype[0].removeifzero false
-datatype[5].structtype[0]
-datatype[5].annotationreftype[0]
-datatype[5].documenttype[0]
-datatype[6].id 1328286588
-datatype[6].arraytype[0]
-datatype[6].maptype[0]
-datatype[6].weightedsettype[1]
-datatype[6].weightedsettype[0].datatype 2
-datatype[6].weightedsettype[0].createifnonexistant false
-datatype[6].weightedsettype[0].removeifzero false
-datatype[6].structtype[0]
-datatype[6].annotationreftype[0]
-datatype[6].documenttype[0]
-datatype[7].id 339965458
-datatype[7].arraytype[0]
-datatype[7].maptype[1]
-datatype[7].maptype[0].keytype 2
-datatype[7].maptype[0].valtype 2
-datatype[7].weightedsettype[0]
-datatype[7].structtype[0]
-datatype[7].annotationreftype[0]
-datatype[7].documenttype[0]
-datatype[8].id -2092985853
-datatype[8].arraytype[0]
-datatype[8].maptype[0]
-datatype[8].weightedsettype[0]
-datatype[8].structtype[1]
-datatype[8].structtype[0].name "mystruct"
-datatype[8].structtype[0].version 0
-datatype[8].structtype[0].field[4]
-datatype[8].structtype[0].field[0].name "bytearr"
-datatype[8].structtype[0].field[0].datatype 49942803
-datatype[8].structtype[0].field[0].id[0]
-datatype[8].structtype[0].field[1].name "mymap"
-datatype[8].structtype[0].field[1].datatype 339965458
-datatype[8].structtype[0].field[1].id[0]
-datatype[8].structtype[0].field[2].name "title"
-datatype[8].structtype[0].field[2].datatype 2
-datatype[8].structtype[0].field[2].id[0]
-datatype[8].structtype[0].field[3].name "structfield"
-datatype[8].structtype[0].field[3].datatype 2
-datatype[8].structtype[0].field[3].id[0]
-datatype[8].structtype[0].inherits[0]
-datatype[8].annotationreftype[0]
-datatype[8].documenttype[0]
-datatype[9].id 1901258752
-datatype[9].arraytype[0]
-datatype[9].maptype[1]
-datatype[9].maptype[0].keytype 0
-datatype[9].maptype[0].valtype -2092985853
-datatype[9].weightedsettype[0]
-datatype[9].structtype[0]
-datatype[9].annotationreftype[0]
-datatype[9].documenttype[0]
-datatype[10].id 759956026
-datatype[10].arraytype[1]
-datatype[10].arraytype[0].datatype -2092985853
-datatype[10].maptype[0]
-datatype[10].weightedsettype[0]
-datatype[10].structtype[0]
-datatype[10].annotationreftype[0]
-datatype[10].documenttype[0]
-datatype[11].id -1220861393
-datatype[11].arraytype[0]
-datatype[11].maptype[1]
-datatype[11].maptype[0].keytype 2
-datatype[11].maptype[0].valtype -1486737430
-datatype[11].weightedsettype[0]
-datatype[11].structtype[0]
-datatype[11].annotationreftype[0]
-datatype[11].documenttype[0]
-datatype[12].id 69621385
-datatype[12].arraytype[1]
-datatype[12].arraytype[0].datatype 339965458
-datatype[12].maptype[0]
-datatype[12].weightedsettype[0]
-datatype[12].structtype[0]
-datatype[12].annotationreftype[0]
-datatype[12].documenttype[0]
-datatype[13].id -628990518
-datatype[13].arraytype[0]
-datatype[13].maptype[0]
-datatype[13].weightedsettype[0]
-datatype[13].structtype[1]
-datatype[13].structtype[0].name "news.header"
-datatype[13].structtype[0].version 0
-datatype[13].structtype[0].field[19]
-datatype[13].structtype[0].field[0].name "url"
-datatype[13].structtype[0].field[0].datatype 10
-datatype[13].structtype[0].field[0].id[0]
-datatype[13].structtype[0].field[1].name "title"
-datatype[13].structtype[0].field[1].datatype 2
-datatype[13].structtype[0].field[1].id[0]
-datatype[13].structtype[0].field[2].name "last_downloaded"
-datatype[13].structtype[0].field[2].datatype 0
-datatype[13].structtype[0].field[2].id[0]
-datatype[13].structtype[0].field[3].name "value_long"
-datatype[13].structtype[0].field[3].datatype 4
-datatype[13].structtype[0].field[3].id[0]
-datatype[13].structtype[0].field[4].name "value_content"
-datatype[13].structtype[0].field[4].datatype 2
-datatype[13].structtype[0].field[4].id[0]
-datatype[13].structtype[0].field[5].name "value_raw"
-datatype[13].structtype[0].field[5].datatype 3
-datatype[13].structtype[0].field[5].id[0]
-datatype[13].structtype[0].field[6].name "stringarr"
-datatype[13].structtype[0].field[6].datatype -1486737430
-datatype[13].structtype[0].field[6].id[0]
-datatype[13].structtype[0].field[7].name "intarr"
-datatype[13].structtype[0].field[7].datatype -1245117006
-datatype[13].structtype[0].field[7].id[0]
-datatype[13].structtype[0].field[8].name "longarr"
-datatype[13].structtype[0].field[8].datatype 58874399
-datatype[13].structtype[0].field[8].id[0]
-datatype[13].structtype[0].field[9].name "bytearr"
-datatype[13].structtype[0].field[9].datatype 49942803
-datatype[13].structtype[0].field[9].id[0]
-datatype[13].structtype[0].field[10].name "floatarr"
-datatype[13].structtype[0].field[10].datatype 1650586661
-datatype[13].structtype[0].field[10].id[0]
-datatype[13].structtype[0].field[11].name "weightedsetint"
-datatype[13].structtype[0].field[11].datatype 519906144
-datatype[13].structtype[0].field[11].id[0]
-datatype[13].structtype[0].field[12].name "weightedsetstring"
-datatype[13].structtype[0].field[12].datatype 1328286588
-datatype[13].structtype[0].field[12].id[0]
-datatype[13].structtype[0].field[13].name "stringmap"
-datatype[13].structtype[0].field[13].datatype 339965458
-datatype[13].structtype[0].field[13].id[0]
-datatype[13].structtype[0].field[14].name "structfield"
-datatype[13].structtype[0].field[14].datatype -2092985853
-datatype[13].structtype[0].field[14].id[0]
-datatype[13].structtype[0].field[15].name "structmap"
-datatype[13].structtype[0].field[15].datatype 1901258752
-datatype[13].structtype[0].field[15].id[0]
-datatype[13].structtype[0].field[16].name "structarr"
-datatype[13].structtype[0].field[16].datatype 759956026
-datatype[13].structtype[0].field[16].id[0]
-datatype[13].structtype[0].field[17].name "arrmap"
-datatype[13].structtype[0].field[17].datatype -1220861393
-datatype[13].structtype[0].field[17].id[0]
-datatype[13].structtype[0].field[18].name "maparr"
-datatype[13].structtype[0].field[18].datatype 69621385
-datatype[13].structtype[0].field[18].id[0]
-datatype[13].structtype[0].inherits[0]
-datatype[13].annotationreftype[0]
-datatype[13].documenttype[0]
-datatype[14].id 538588767
-datatype[14].arraytype[0]
-datatype[14].maptype[0]
-datatype[14].weightedsettype[0]
-datatype[14].structtype[1]
-datatype[14].structtype[0].name "news.body"
-datatype[14].structtype[0].version 0
-datatype[14].structtype[0].field[0]
-datatype[14].structtype[0].inherits[0]
-datatype[14].annotationreftype[0]
-datatype[14].documenttype[0]
-datatype[15].id -1048827947
-datatype[15].arraytype[0]
-datatype[15].maptype[0]
-datatype[15].weightedsettype[0]
-datatype[15].structtype[0]
-datatype[15].annotationreftype[0]
-datatype[15].documenttype[1]
-datatype[15].documenttype[0].name "news"
-datatype[15].documenttype[0].version 0
-datatype[15].documenttype[0].headerstruct -628990518
-datatype[15].documenttype[0].bodystruct 538588767
-datatype[15].documenttype[0].inherits[0]
-annotationtype[0]
+doctype[2]
+doctype[0].name "document"
+doctype[0].idx 10000
+doctype[0].contentstruct 10001
+doctype[0].primitivetype[0].idx 10002
+doctype[0].primitivetype[0].internalid 0
+doctype[0].primitivetype[0].name "int"
+doctype[0].primitivetype[1].idx 10003
+doctype[0].primitivetype[1].internalid 5
+doctype[0].primitivetype[1].name "double"
+doctype[0].primitivetype[2].idx 10004
+doctype[0].primitivetype[2].internalid 2
+doctype[0].primitivetype[2].name "string"
+doctype[0].annotationtype[0].idx 10005
+doctype[0].annotationtype[0].name "proximity_break"
+doctype[0].annotationtype[0].internalid 8
+doctype[0].annotationtype[0].datatype 10003
+doctype[0].annotationtype[1].idx 10006
+doctype[0].annotationtype[1].name "normalized"
+doctype[0].annotationtype[1].internalid 4
+doctype[0].annotationtype[1].datatype 10004
+doctype[0].annotationtype[2].idx 10007
+doctype[0].annotationtype[2].name "reading"
+doctype[0].annotationtype[2].internalid 5
+doctype[0].annotationtype[2].datatype 10004
+doctype[0].annotationtype[3].idx 10008
+doctype[0].annotationtype[3].name "term"
+doctype[0].annotationtype[3].internalid 1
+doctype[0].annotationtype[3].datatype 10004
+doctype[0].annotationtype[4].idx 10009
+doctype[0].annotationtype[4].name "transformed"
+doctype[0].annotationtype[4].internalid 7
+doctype[0].annotationtype[4].datatype 10004
+doctype[0].annotationtype[5].idx 10010
+doctype[0].annotationtype[5].name "canonical"
+doctype[0].annotationtype[5].internalid 3
+doctype[0].annotationtype[5].datatype 10004
+doctype[0].annotationtype[6].idx 10011
+doctype[0].annotationtype[6].name "token_type"
+doctype[0].annotationtype[6].internalid 2
+doctype[0].annotationtype[6].datatype 10002
+doctype[0].annotationtype[7].idx 10012
+doctype[0].annotationtype[7].name "special_token"
+doctype[0].annotationtype[7].internalid 9
+doctype[0].annotationtype[8].idx 10013
+doctype[0].annotationtype[8].name "stem"
+doctype[0].annotationtype[8].internalid 6
+doctype[0].annotationtype[8].datatype 10004
+doctype[0].structtype[0].idx 10001
+doctype[0].structtype[0].name document.header
+doctype[1].name "news"
+doctype[1].idx 10014
+doctype[1].inherits[0].idx 10000
+doctype[1].contentstruct 10015
+doctype[1].primitivetype[0].idx 10017
+doctype[1].primitivetype[0].internalid 4
+doctype[1].primitivetype[0].name "long"
+doctype[1].primitivetype[1].idx 10024
+doctype[1].primitivetype[1].internalid 1
+doctype[1].primitivetype[1].name "float"
+doctype[1].primitivetype[2].idx 10030
+doctype[1].primitivetype[2].internalid 3
+doctype[1].primitivetype[2].name "raw"
+doctype[1].primitivetype[3].idx 10032
+doctype[1].primitivetype[3].internalid 10
+doctype[1].primitivetype[3].name "uri"
+doctype[1].primitivetype[4].idx 10033
+doctype[1].primitivetype[4].internalid 16
+doctype[1].primitivetype[4].name "byte"
+doctype[1].arraytype[0].idx 10018
+doctype[1].arraytype[0].elementtype 10024
+doctype[1].arraytype[1].idx 10019
+doctype[1].arraytype[1].elementtype 10033
+doctype[1].arraytype[2].idx 10025
+doctype[1].arraytype[2].elementtype 10020
+doctype[1].arraytype[3].idx 10026
+doctype[1].arraytype[3].elementtype 10002
+doctype[1].arraytype[4].idx 10027
+doctype[1].arraytype[4].elementtype 10004
+doctype[1].arraytype[5].idx 10028
+doctype[1].arraytype[5].elementtype 10017
+doctype[1].arraytype[6].idx 10029
+doctype[1].arraytype[6].elementtype 10021
+doctype[1].maptype[0].idx 10016
+doctype[1].maptype[0].keytype 10002
+doctype[1].maptype[0].valuetype 10020
+doctype[1].maptype[1].idx 10021
+doctype[1].maptype[1].keytype 10004
+doctype[1].maptype[1].valuetype 10004
+doctype[1].maptype[2].idx 10022
+doctype[1].maptype[2].keytype 10004
+doctype[1].maptype[2].valuetype 10027
+doctype[1].wsettype[0].idx 10023
+doctype[1].wsettype[0].elementtype 10002
+doctype[1].wsettype[0].createifnonexistent false
+doctype[1].wsettype[0].removeifzero false
+doctype[1].wsettype[1].idx 10031
+doctype[1].wsettype[1].elementtype 10004
+doctype[1].wsettype[1].createifnonexistent false
+doctype[1].wsettype[1].removeifzero false
+doctype[1].structtype[0].idx 10020
+doctype[1].structtype[0].name mystruct
+doctype[1].structtype[0].field[0].name "bytearr"
+doctype[1].structtype[0].field[0].internalid 1079701754
+doctype[1].structtype[0].field[0].type 10019
+doctype[1].structtype[0].field[1].name "mymap"
+doctype[1].structtype[0].field[1].internalid 1954178122
+doctype[1].structtype[0].field[1].type 10021
+doctype[1].structtype[0].field[2].name "title"
+doctype[1].structtype[0].field[2].internalid 567626448
+doctype[1].structtype[0].field[2].type 10004
+doctype[1].structtype[0].field[3].name "structfield"
+doctype[1].structtype[0].field[3].internalid 1726890940
+doctype[1].structtype[0].field[3].type 10004
+doctype[1].structtype[1].idx 10015
+doctype[1].structtype[1].name news.header
+doctype[1].structtype[1].field[0].name "url"
+doctype[1].structtype[1].field[0].internalid 2095970198
+doctype[1].structtype[1].field[0].type 10032
+doctype[1].structtype[1].field[1].name "title"
+doctype[1].structtype[1].field[1].internalid 567626448
+doctype[1].structtype[1].field[1].type 10004
+doctype[1].structtype[1].field[2].name "last_downloaded"
+doctype[1].structtype[1].field[2].internalid 325799058
+doctype[1].structtype[1].field[2].type 10002
+doctype[1].structtype[1].field[3].name "value_long"
+doctype[1].structtype[1].field[3].internalid 1781968956
+doctype[1].structtype[1].field[3].type 10017
+doctype[1].structtype[1].field[4].name "value_content"
+doctype[1].structtype[1].field[4].internalid 349894968
+doctype[1].structtype[1].field[4].type 10004
+doctype[1].structtype[1].field[5].name "value_raw"
+doctype[1].structtype[1].field[5].internalid 2034830479
+doctype[1].structtype[1].field[5].type 10030
+doctype[1].structtype[1].field[6].name "stringarr"
+doctype[1].structtype[1].field[6].internalid 1071958435
+doctype[1].structtype[1].field[6].type 10027
+doctype[1].structtype[1].field[7].name "intarr"
+doctype[1].structtype[1].field[7].internalid 1265212828
+doctype[1].structtype[1].field[7].type 10026
+doctype[1].structtype[1].field[8].name "longarr"
+doctype[1].structtype[1].field[8].internalid 1127864171
+doctype[1].structtype[1].field[8].type 10028
+doctype[1].structtype[1].field[9].name "bytearr"
+doctype[1].structtype[1].field[9].internalid 1079701754
+doctype[1].structtype[1].field[9].type 10019
+doctype[1].structtype[1].field[10].name "floatarr"
+doctype[1].structtype[1].field[10].internalid 330273222
+doctype[1].structtype[1].field[10].type 10018
+doctype[1].structtype[1].field[11].name "weightedsetint"
+doctype[1].structtype[1].field[11].internalid 1137331670
+doctype[1].structtype[1].field[11].type 10023
+doctype[1].structtype[1].field[12].name "weightedsetstring"
+doctype[1].structtype[1].field[12].internalid 1600330172
+doctype[1].structtype[1].field[12].type 10031
+doctype[1].structtype[1].field[13].name "stringmap"
+doctype[1].structtype[1].field[13].internalid 2011144711
+doctype[1].structtype[1].field[13].type 10021
+doctype[1].structtype[1].field[14].name "structfield"
+doctype[1].structtype[1].field[14].internalid 996343187
+doctype[1].structtype[1].field[14].type 10020
+doctype[1].structtype[1].field[15].name "structmap"
+doctype[1].structtype[1].field[15].internalid 150832769
+doctype[1].structtype[1].field[15].type 10016
+doctype[1].structtype[1].field[16].name "structarr"
+doctype[1].structtype[1].field[16].internalid 617419033
+doctype[1].structtype[1].field[16].type 10025
+doctype[1].structtype[1].field[17].name "arrmap"
+doctype[1].structtype[1].field[17].internalid 1713471530
+doctype[1].structtype[1].field[17].type 10022
+doctype[1].structtype[1].field[18].name "maparr"
+doctype[1].structtype[1].field[18].internalid 904375219
+doctype[1].structtype[1].field[18].type 10029
diff --git a/document/src/tests/data/compressed.cfg b/document/src/tests/data/compressed.cfg
index 740e56c47ac..1036840edf6 100644
--- a/document/src/tests/data/compressed.cfg
+++ b/document/src/tests/data/compressed.cfg
@@ -1,139 +1,89 @@
-enablecompression true
-datatype[11]
-datatype[0].id -260050933
-datatype[0].arraytype[0]
-datatype[0].weightedsettype[0]
-datatype[0].structtype[1]
-datatype[0].structtype[0].name serializetest.header
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].compresstype LZ4
-datatype[0].structtype[0].compresslevel 9
-datatype[0].structtype[0].compressthreshold 99
-datatype[0].structtype[0].compressminsize 0
-datatype[0].structtype[0].field[4]
-datatype[0].structtype[0].field[0].name floatfield
-datatype[0].structtype[0].field[0].id[0]
-datatype[0].structtype[0].field[0].datatype 1
-datatype[0].structtype[0].field[1].name stringfield
-datatype[0].structtype[0].field[1].id[0]
-datatype[0].structtype[0].field[1].datatype 2
-datatype[0].structtype[0].field[2].name longfield
-datatype[0].structtype[0].field[2].id[0]
-datatype[0].structtype[0].field[2].datatype 4
-datatype[0].structtype[0].field[3].name urifield
-datatype[0].structtype[0].field[3].id[0]
-datatype[0].structtype[0].field[3].datatype 10
-datatype[0].documenttype[0]
-datatype[1].id 1001
-datatype[1].arraytype[1]
-datatype[1].arraytype[0].datatype 1
-datatype[1].weightedsettype[0]
-datatype[1].structtype[0]
-datatype[1].documenttype[0]
-datatype[2].id 2001
-datatype[2].arraytype[1]
-datatype[2].arraytype[0].datatype 1001
-datatype[2].weightedsettype[0]
-datatype[2].structtype[0]
-datatype[2].documenttype[0]
-datatype[3].id 1026122976
-datatype[3].arraytype[0]
-datatype[3].weightedsettype[0]
-datatype[3].structtype[1]
-datatype[3].structtype[0].name serializetest.body
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].compresstype LZ4
-datatype[3].structtype[0].compresslevel 9
-datatype[3].structtype[0].compressthreshold 99
-datatype[3].structtype[0].compressminsize 0
-datatype[3].structtype[0].field[8]
-datatype[3].structtype[0].field[0].name intfield
-datatype[3].structtype[0].field[0].id[0]
-datatype[3].structtype[0].field[0].datatype 0
-datatype[3].structtype[0].field[1].name rawfield
-datatype[3].structtype[0].field[1].id[0]
-datatype[3].structtype[0].field[1].datatype 3
-datatype[3].structtype[0].field[2].name doublefield
-datatype[3].structtype[0].field[2].id[0]
-datatype[3].structtype[0].field[2].datatype 5
-datatype[3].structtype[0].field[3].name contentfield
-datatype[3].structtype[0].field[3].id[0]
-datatype[3].structtype[0].field[3].datatype 2
-datatype[3].structtype[0].field[4].name bytefield
-datatype[3].structtype[0].field[4].id[0]
-datatype[3].structtype[0].field[4].datatype 16
-datatype[3].structtype[0].field[5].name arrayoffloatfield
-datatype[3].structtype[0].field[5].id[0]
-datatype[3].structtype[0].field[5].datatype 1001
-datatype[3].structtype[0].field[6].name arrayofarrayoffloatfield
-datatype[3].structtype[0].field[6].id[0]
-datatype[3].structtype[0].field[6].datatype 2001
-datatype[3].structtype[0].field[7].name docfield
-datatype[3].structtype[0].field[7].id[0]
-datatype[3].structtype[0].field[7].datatype 8
-datatype[3].documenttype[0]
-datatype[4].id 1306012852
-datatype[4].arraytype[0]
-datatype[4].weightedsettype[0]
-datatype[4].structtype[0]
-datatype[4].documenttype[1]
-datatype[4].documenttype[0].name serializetest
-datatype[4].documenttype[0].version 0
-datatype[4].documenttype[0].inherits[0]
-datatype[4].documenttype[0].headerstruct -260050933
-datatype[4].documenttype[0].bodystruct 1026122976
-datatype[5].id -1686125086
-datatype[5].arraytype[0]
-datatype[5].weightedsettype[0]
-datatype[5].structtype[1]
-datatype[5].structtype[0].name docindoc.header
-datatype[5].structtype[0].version 0
-datatype[5].structtype[0].field[0]
-datatype[5].documenttype[0]
-datatype[6].id 2030224503
-datatype[6].arraytype[0]
-datatype[6].weightedsettype[0]
-datatype[6].structtype[1]
-datatype[6].structtype[0].name docindoc.body
-datatype[6].structtype[0].version 0
-datatype[6].structtype[0].field[0]
-datatype[6].documenttype[0]
-datatype[7].id 1447635645
-datatype[7].arraytype[0]
-datatype[7].weightedsettype[0]
-datatype[7].structtype[0]
-datatype[7].documenttype[1]
-datatype[7].documenttype[0].name docindoc
-datatype[7].documenttype[0].version 0
-datatype[7].documenttype[0].inherits[0]
-datatype[7].documenttype[0].headerstruct -1686125086
-datatype[7].documenttype[0].bodystruct 2030224503
-datatype[8].id -792441727
-datatype[8].arraytype[0]
-datatype[8].weightedsettype[0]
-datatype[8].structtype[1]
-datatype[8].structtype[0].name mapindocindoc.header
-datatype[8].structtype[0].version 0
-datatype[8].structtype[0].field[0]
-datatype[8].documenttype[0]
-datatype[9].id 145123030
-datatype[9].arraytype[0]
-datatype[9].weightedsettype[0]
-datatype[9].structtype[1]
-datatype[9].structtype[0].name mapindocindoc.body
-datatype[9].structtype[0].version 0
-datatype[9].structtype[0].field[1]
-datatype[9].structtype[0].field[0].name stringinmap
-datatype[9].structtype[0].field[0].id[0]
-datatype[9].structtype[0].field[0].datatype 2
-datatype[9].documenttype[0]
-datatype[10].id -1456256770
-datatype[10].arraytype[0]
-datatype[10].weightedsettype[0]
-datatype[10].structtype[0]
-datatype[10].documenttype[1]
-datatype[10].documenttype[0].name mapindocindoc
-datatype[10].documenttype[0].version 0
-datatype[10].documenttype[0].inherits[0]
-datatype[10].documenttype[0].headerstruct -792441727
-datatype[10].documenttype[0].bodystruct 145123030
+doctype[4]
+doctype[0].name "document"
+doctype[0].idx 10000
+doctype[0].contentstruct 10001
+doctype[0].primitivetype[0].idx 10002
+doctype[0].primitivetype[0].internalid 0
+doctype[0].primitivetype[0].name "int"
+doctype[0].primitivetype[1].idx 10003
+doctype[0].primitivetype[1].internalid 5
+doctype[0].primitivetype[1].name "double"
+doctype[0].primitivetype[2].idx 10004
+doctype[0].primitivetype[2].internalid 2
+doctype[0].primitivetype[2].name "string"
+doctype[0].annotationtype[0].idx 10005
+doctype[0].annotationtype[0].name "proximity_break"
+doctype[0].annotationtype[0].internalid 8
+doctype[0].annotationtype[0].datatype 10003
+doctype[0].annotationtype[1].idx 10006
+doctype[0].annotationtype[1].name "normalized"
+doctype[0].annotationtype[1].internalid 4
+doctype[0].annotationtype[1].datatype 10004
+doctype[0].annotationtype[2].idx 10007
+doctype[0].annotationtype[2].name "reading"
+doctype[0].annotationtype[2].internalid 5
+doctype[0].annotationtype[2].datatype 10004
+doctype[0].annotationtype[3].idx 10008
+doctype[0].annotationtype[3].name "term"
+doctype[0].annotationtype[3].internalid 1
+doctype[0].annotationtype[3].datatype 10004
+doctype[0].annotationtype[4].idx 10009
+doctype[0].annotationtype[4].name "transformed"
+doctype[0].annotationtype[4].internalid 7
+doctype[0].annotationtype[4].datatype 10004
+doctype[0].annotationtype[5].idx 10010
+doctype[0].annotationtype[5].name "canonical"
+doctype[0].annotationtype[5].internalid 3
+doctype[0].annotationtype[5].datatype 10004
+doctype[0].annotationtype[6].idx 10011
+doctype[0].annotationtype[6].name "token_type"
+doctype[0].annotationtype[6].internalid 2
+doctype[0].annotationtype[6].datatype 10002
+doctype[0].annotationtype[7].idx 10012
+doctype[0].annotationtype[7].name "special_token"
+doctype[0].annotationtype[7].internalid 9
+doctype[0].annotationtype[8].idx 10013
+doctype[0].annotationtype[8].name "stem"
+doctype[0].annotationtype[8].internalid 6
+doctype[0].annotationtype[8].datatype 10004
+doctype[0].structtype[0].idx 10001
+doctype[0].structtype[0].name document.header
+doctype[1].name "docindoc"
+doctype[1].idx 10014
+doctype[1].inherits[0].idx 10000
+doctype[1].contentstruct 10015
+doctype[1].structtype[0].idx 10015
+doctype[1].structtype[0].name docindoc.header
+doctype[2].name "serializetest"
+doctype[2].idx 10016
+doctype[2].inherits[0].idx 10000
+doctype[2].contentstruct 10017
+doctype[2].primitivetype[0].idx 10018
+doctype[2].primitivetype[0].internalid 4
+doctype[2].primitivetype[0].name "long"
+doctype[2].primitivetype[1].idx 10019
+doctype[2].primitivetype[1].internalid 1
+doctype[2].primitivetype[1].name "float"
+doctype[2].primitivetype[2].idx 10020
+doctype[2].primitivetype[2].internalid 10
+doctype[2].primitivetype[2].name "uri"
+doctype[2].structtype[0].idx 10017
+doctype[2].structtype[0].name serializetest.header
+doctype[2].structtype[0].field[0].name "floatfield"
+doctype[2].structtype[0].field[0].internalid 1055999199
+doctype[2].structtype[0].field[0].type 10019
+doctype[2].structtype[0].field[1].name "stringfield"
+doctype[2].structtype[0].field[1].internalid 1182460484
+doctype[2].structtype[0].field[1].type 10004
+doctype[2].structtype[0].field[2].name "longfield"
+doctype[2].structtype[0].field[2].internalid 1589309697
+doctype[2].structtype[0].field[2].type 10018
+doctype[2].structtype[0].field[3].name "urifield"
+doctype[2].structtype[0].field[3].internalid 628407450
+doctype[2].structtype[0].field[3].type 10020
+doctype[3].name "mapindocindoc"
+doctype[3].idx 10021
+doctype[3].inherits[0].idx 10000
+doctype[3].contentstruct 10022
+doctype[3].structtype[0].idx 10022
+doctype[3].structtype[0].name mapindocindoc.header
diff --git a/document/src/tests/data/cppdocument.cfg b/document/src/tests/data/cppdocument.cfg
index e4fcb5cb5bf..1036840edf6 100644
--- a/document/src/tests/data/cppdocument.cfg
+++ b/document/src/tests/data/cppdocument.cfg
@@ -1,131 +1,89 @@
-enablecompression false
-datatype[11]
-datatype[0].id -260050933
-datatype[0].arraytype[0]
-datatype[0].weightedsettype[0]
-datatype[0].structtype[1]
-datatype[0].structtype[0].name serializetest.header
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].field[4]
-datatype[0].structtype[0].field[0].name floatfield
-datatype[0].structtype[0].field[0].id[0]
-datatype[0].structtype[0].field[0].datatype 1
-datatype[0].structtype[0].field[1].name stringfield
-datatype[0].structtype[0].field[1].id[0]
-datatype[0].structtype[0].field[1].datatype 2
-datatype[0].structtype[0].field[2].name longfield
-datatype[0].structtype[0].field[2].id[0]
-datatype[0].structtype[0].field[2].datatype 4
-datatype[0].structtype[0].field[3].name urifield
-datatype[0].structtype[0].field[3].id[0]
-datatype[0].structtype[0].field[3].datatype 10
-datatype[0].documenttype[0]
-datatype[1].id 1001
-datatype[1].arraytype[1]
-datatype[1].arraytype[0].datatype 1
-datatype[1].weightedsettype[0]
-datatype[1].structtype[0]
-datatype[1].documenttype[0]
-datatype[2].id 2001
-datatype[2].arraytype[1]
-datatype[2].arraytype[0].datatype 1001
-datatype[2].weightedsettype[0]
-datatype[2].structtype[0]
-datatype[2].documenttype[0]
-datatype[3].id 1026122976
-datatype[3].arraytype[0]
-datatype[3].weightedsettype[0]
-datatype[3].structtype[1]
-datatype[3].structtype[0].name serializetest.body
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].field[8]
-datatype[3].structtype[0].field[0].name intfield
-datatype[3].structtype[0].field[0].id[0]
-datatype[3].structtype[0].field[0].datatype 0
-datatype[3].structtype[0].field[1].name rawfield
-datatype[3].structtype[0].field[1].id[0]
-datatype[3].structtype[0].field[1].datatype 3
-datatype[3].structtype[0].field[2].name doublefield
-datatype[3].structtype[0].field[2].id[0]
-datatype[3].structtype[0].field[2].datatype 5
-datatype[3].structtype[0].field[3].name contentfield
-datatype[3].structtype[0].field[3].id[0]
-datatype[3].structtype[0].field[3].datatype 2
-datatype[3].structtype[0].field[4].name bytefield
-datatype[3].structtype[0].field[4].id[0]
-datatype[3].structtype[0].field[4].datatype 16
-datatype[3].structtype[0].field[5].name arrayoffloatfield
-datatype[3].structtype[0].field[5].id[0]
-datatype[3].structtype[0].field[5].datatype 1001
-datatype[3].structtype[0].field[6].name arrayofarrayoffloatfield
-datatype[3].structtype[0].field[6].id[0]
-datatype[3].structtype[0].field[6].datatype 2001
-datatype[3].structtype[0].field[7].name docfield
-datatype[3].structtype[0].field[7].id[0]
-datatype[3].structtype[0].field[7].datatype 8
-datatype[3].documenttype[0]
-datatype[4].id 1306012852
-datatype[4].arraytype[0]
-datatype[4].weightedsettype[0]
-datatype[4].structtype[0]
-datatype[4].documenttype[1]
-datatype[4].documenttype[0].name serializetest
-datatype[4].documenttype[0].version 0
-datatype[4].documenttype[0].inherits[0]
-datatype[4].documenttype[0].headerstruct -260050933
-datatype[4].documenttype[0].bodystruct 1026122976
-datatype[5].id -1686125086
-datatype[5].arraytype[0]
-datatype[5].weightedsettype[0]
-datatype[5].structtype[1]
-datatype[5].structtype[0].name docindoc.header
-datatype[5].structtype[0].version 0
-datatype[5].structtype[0].field[0]
-datatype[5].documenttype[0]
-datatype[6].id 2030224503
-datatype[6].arraytype[0]
-datatype[6].weightedsettype[0]
-datatype[6].structtype[1]
-datatype[6].structtype[0].name docindoc.body
-datatype[6].structtype[0].version 0
-datatype[6].structtype[0].field[0]
-datatype[6].documenttype[0]
-datatype[7].id 1447635645
-datatype[7].arraytype[0]
-datatype[7].weightedsettype[0]
-datatype[7].structtype[0]
-datatype[7].documenttype[1]
-datatype[7].documenttype[0].name docindoc
-datatype[7].documenttype[0].version 0
-datatype[7].documenttype[0].inherits[0]
-datatype[7].documenttype[0].headerstruct -1686125086
-datatype[7].documenttype[0].bodystruct 2030224503
-datatype[8].id -792441727
-datatype[8].arraytype[0]
-datatype[8].weightedsettype[0]
-datatype[8].structtype[1]
-datatype[8].structtype[0].name mapindocindoc.header
-datatype[8].structtype[0].version 0
-datatype[8].structtype[0].field[0]
-datatype[8].documenttype[0]
-datatype[9].id 145123030
-datatype[9].arraytype[0]
-datatype[9].weightedsettype[0]
-datatype[9].structtype[1]
-datatype[9].structtype[0].name mapindocindoc.body
-datatype[9].structtype[0].version 0
-datatype[9].structtype[0].field[1]
-datatype[9].structtype[0].field[0].name stringinmap
-datatype[9].structtype[0].field[0].id[0]
-datatype[9].structtype[0].field[0].datatype 2
-datatype[9].documenttype[0]
-datatype[10].id -1456256770
-datatype[10].arraytype[0]
-datatype[10].weightedsettype[0]
-datatype[10].structtype[0]
-datatype[10].documenttype[1]
-datatype[10].documenttype[0].name mapindocindoc
-datatype[10].documenttype[0].version 0
-datatype[10].documenttype[0].inherits[0]
-datatype[10].documenttype[0].headerstruct -792441727
-datatype[10].documenttype[0].bodystruct 145123030
+doctype[4]
+doctype[0].name "document"
+doctype[0].idx 10000
+doctype[0].contentstruct 10001
+doctype[0].primitivetype[0].idx 10002
+doctype[0].primitivetype[0].internalid 0
+doctype[0].primitivetype[0].name "int"
+doctype[0].primitivetype[1].idx 10003
+doctype[0].primitivetype[1].internalid 5
+doctype[0].primitivetype[1].name "double"
+doctype[0].primitivetype[2].idx 10004
+doctype[0].primitivetype[2].internalid 2
+doctype[0].primitivetype[2].name "string"
+doctype[0].annotationtype[0].idx 10005
+doctype[0].annotationtype[0].name "proximity_break"
+doctype[0].annotationtype[0].internalid 8
+doctype[0].annotationtype[0].datatype 10003
+doctype[0].annotationtype[1].idx 10006
+doctype[0].annotationtype[1].name "normalized"
+doctype[0].annotationtype[1].internalid 4
+doctype[0].annotationtype[1].datatype 10004
+doctype[0].annotationtype[2].idx 10007
+doctype[0].annotationtype[2].name "reading"
+doctype[0].annotationtype[2].internalid 5
+doctype[0].annotationtype[2].datatype 10004
+doctype[0].annotationtype[3].idx 10008
+doctype[0].annotationtype[3].name "term"
+doctype[0].annotationtype[3].internalid 1
+doctype[0].annotationtype[3].datatype 10004
+doctype[0].annotationtype[4].idx 10009
+doctype[0].annotationtype[4].name "transformed"
+doctype[0].annotationtype[4].internalid 7
+doctype[0].annotationtype[4].datatype 10004
+doctype[0].annotationtype[5].idx 10010
+doctype[0].annotationtype[5].name "canonical"
+doctype[0].annotationtype[5].internalid 3
+doctype[0].annotationtype[5].datatype 10004
+doctype[0].annotationtype[6].idx 10011
+doctype[0].annotationtype[6].name "token_type"
+doctype[0].annotationtype[6].internalid 2
+doctype[0].annotationtype[6].datatype 10002
+doctype[0].annotationtype[7].idx 10012
+doctype[0].annotationtype[7].name "special_token"
+doctype[0].annotationtype[7].internalid 9
+doctype[0].annotationtype[8].idx 10013
+doctype[0].annotationtype[8].name "stem"
+doctype[0].annotationtype[8].internalid 6
+doctype[0].annotationtype[8].datatype 10004
+doctype[0].structtype[0].idx 10001
+doctype[0].structtype[0].name document.header
+doctype[1].name "docindoc"
+doctype[1].idx 10014
+doctype[1].inherits[0].idx 10000
+doctype[1].contentstruct 10015
+doctype[1].structtype[0].idx 10015
+doctype[1].structtype[0].name docindoc.header
+doctype[2].name "serializetest"
+doctype[2].idx 10016
+doctype[2].inherits[0].idx 10000
+doctype[2].contentstruct 10017
+doctype[2].primitivetype[0].idx 10018
+doctype[2].primitivetype[0].internalid 4
+doctype[2].primitivetype[0].name "long"
+doctype[2].primitivetype[1].idx 10019
+doctype[2].primitivetype[1].internalid 1
+doctype[2].primitivetype[1].name "float"
+doctype[2].primitivetype[2].idx 10020
+doctype[2].primitivetype[2].internalid 10
+doctype[2].primitivetype[2].name "uri"
+doctype[2].structtype[0].idx 10017
+doctype[2].structtype[0].name serializetest.header
+doctype[2].structtype[0].field[0].name "floatfield"
+doctype[2].structtype[0].field[0].internalid 1055999199
+doctype[2].structtype[0].field[0].type 10019
+doctype[2].structtype[0].field[1].name "stringfield"
+doctype[2].structtype[0].field[1].internalid 1182460484
+doctype[2].structtype[0].field[1].type 10004
+doctype[2].structtype[0].field[2].name "longfield"
+doctype[2].structtype[0].field[2].internalid 1589309697
+doctype[2].structtype[0].field[2].type 10018
+doctype[2].structtype[0].field[3].name "urifield"
+doctype[2].structtype[0].field[3].internalid 628407450
+doctype[2].structtype[0].field[3].type 10020
+doctype[3].name "mapindocindoc"
+doctype[3].idx 10021
+doctype[3].inherits[0].idx 10000
+doctype[3].contentstruct 10022
+doctype[3].structtype[0].idx 10022
+doctype[3].structtype[0].name mapindocindoc.header
diff --git a/document/src/tests/data/crossplatform-java-cpp-document.cfg b/document/src/tests/data/crossplatform-java-cpp-document.cfg
index 3ebe56b8671..33613257d8e 100644
--- a/document/src/tests/data/crossplatform-java-cpp-document.cfg
+++ b/document/src/tests/data/crossplatform-java-cpp-document.cfg
@@ -1,130 +1,139 @@
-enablecompression false
-datatype[10]
-datatype[0].id 9999
-datatype[0].arraytype[0]
-datatype[0].maptype[1]
-datatype[0].maptype[0].keytype 2
-datatype[0].maptype[0].valtype 2
-datatype[0].weightedsettype[0]
-datatype[0].structtype[0]
-datatype[0].documenttype[0]
-datatype[1].id 1001
-datatype[1].arraytype[1]
-datatype[1].arraytype[0].datatype 1
-datatype[1].weightedsettype[0]
-datatype[1].structtype[0]
-datatype[1].documenttype[0]
-datatype[2].id 2001
-datatype[2].arraytype[1]
-datatype[2].arraytype[0].datatype 1001
-datatype[2].weightedsettype[0]
-datatype[2].structtype[0]
-datatype[2].documenttype[0]
-datatype[3].id 437829
-datatype[3].arraytype[0]
-datatype[3].weightedsettype[1]
-datatype[3].weightedsettype[0].datatype 2
-datatype[3].weightedsettype[0].createifnonexistant false
-datatype[3].weightedsettype[0].removeifzero false
-datatype[3].structtype[0]
-datatype[3].documenttype[0]
-datatype[4].id -1686125086
-datatype[4].arraytype[0]
-datatype[4].weightedsettype[0]
-datatype[4].structtype[1]
-datatype[4].structtype[0].name docindoc.header
-datatype[4].structtype[0].version 0
-datatype[4].structtype[0].field[1]
-datatype[4].structtype[0].field[0].name stringindocfield
-datatype[4].structtype[0].field[0].id[0]
-datatype[4].structtype[0].field[0].datatype 2
-datatype[4].documenttype[0]
-datatype[5].id 2030224503
-datatype[5].arraytype[0]
-datatype[5].weightedsettype[0]
-datatype[5].structtype[1]
-datatype[5].structtype[0].name docindoc.body
-datatype[5].structtype[0].version 0
-datatype[5].documenttype[0]
-datatype[6].id 1447635645
-datatype[6].arraytype[0]
-datatype[6].weightedsettype[0]
-datatype[6].structtype[0]
-datatype[6].documenttype[1]
-datatype[6].documenttype[0].name docindoc
-datatype[6].documenttype[0].version 0
-datatype[6].documenttype[0].inherits[0]
-datatype[6].documenttype[0].headerstruct -1686125086
-datatype[6].documenttype[0].bodystruct 2030224503
-datatype[7].id -260050933
-datatype[7].arraytype[0]
-datatype[7].weightedsettype[0]
-datatype[7].structtype[1]
-datatype[7].structtype[0].name serializetest.header
-datatype[7].structtype[0].version 0
-datatype[7].structtype[0].field[15]
-datatype[7].structtype[0].field[0].name floatfield
-datatype[7].structtype[0].field[0].id[0]
-datatype[7].structtype[0].field[0].datatype 1
-datatype[7].structtype[0].field[1].name stringfield
-datatype[7].structtype[0].field[1].id[0]
-datatype[7].structtype[0].field[1].datatype 2
-datatype[7].structtype[0].field[2].name longfield
-datatype[7].structtype[0].field[2].id[0]
-datatype[7].structtype[0].field[2].datatype 4
-datatype[7].structtype[0].field[3].name urifield
-datatype[7].structtype[0].field[3].id[0]
-datatype[7].structtype[0].field[3].datatype 10
-datatype[7].structtype[0].field[4].name intfield
-datatype[7].structtype[0].field[4].id[0]
-datatype[7].structtype[0].field[4].datatype 0
-datatype[7].structtype[0].field[5].name rawfield
-datatype[7].structtype[0].field[5].id[0]
-datatype[7].structtype[0].field[5].datatype 3
-datatype[7].structtype[0].field[6].name doublefield
-datatype[7].structtype[0].field[6].id[0]
-datatype[7].structtype[0].field[6].datatype 5
-datatype[7].structtype[0].field[7].name contentfield
-datatype[7].structtype[0].field[7].id[0]
-datatype[7].structtype[0].field[7].datatype 2
-datatype[7].structtype[0].field[8].name bytefield
-datatype[7].structtype[0].field[8].id[0]
-datatype[7].structtype[0].field[8].datatype 16
-datatype[7].structtype[0].field[9].name arrayoffloatfield
-datatype[7].structtype[0].field[9].id[0]
-datatype[7].structtype[0].field[9].datatype 1001
-datatype[7].structtype[0].field[10].name arrayofarrayoffloatfield
-datatype[7].structtype[0].field[10].id[0]
-datatype[7].structtype[0].field[10].datatype 2001
-datatype[7].structtype[0].field[11].name docfield
-datatype[7].structtype[0].field[11].id[0]
-datatype[7].structtype[0].field[11].datatype 8
-datatype[7].structtype[0].field[12].name wsfield
-datatype[7].structtype[0].field[12].id[0]
-datatype[7].structtype[0].field[12].datatype 437829
-datatype[7].structtype[0].field[13].name mapfield
-datatype[7].structtype[0].field[13].id[0]
-datatype[7].structtype[0].field[13].datatype 9999
-datatype[7].structtype[0].field[14].name boolfield
-datatype[7].structtype[0].field[14].id[0]
-datatype[7].structtype[0].field[14].datatype 6
-datatype[7].documenttype[0]
-datatype[8].id 1026122976
-datatype[8].arraytype[0]
-datatype[8].weightedsettype[0]
-datatype[8].structtype[1]
-datatype[8].structtype[0].name serializetest.body
-datatype[8].structtype[0].version 0
-datatype[8].structtype[0].field[0]
-datatype[8].documenttype[0]
-datatype[9].id 1306012852
-datatype[9].arraytype[0]
-datatype[9].weightedsettype[0]
-datatype[9].structtype[0]
-datatype[9].documenttype[1]
-datatype[9].documenttype[0].name serializetest
-datatype[9].documenttype[0].version 0
-datatype[9].documenttype[0].inherits[0]
-datatype[9].documenttype[0].headerstruct -260050933
-datatype[9].documenttype[0].bodystruct 1026122976
-
+doctype[3]
+doctype[0].name "document"
+doctype[0].idx 10000
+doctype[0].contentstruct 10001
+doctype[0].primitivetype[0].idx 10002
+doctype[0].primitivetype[0].internalid 0
+doctype[0].primitivetype[0].name "int"
+doctype[0].primitivetype[1].idx 10003
+doctype[0].primitivetype[1].internalid 5
+doctype[0].primitivetype[1].name "double"
+doctype[0].primitivetype[2].idx 10004
+doctype[0].primitivetype[2].internalid 2
+doctype[0].primitivetype[2].name "string"
+doctype[0].annotationtype[0].idx 10005
+doctype[0].annotationtype[0].name "proximity_break"
+doctype[0].annotationtype[0].internalid 8
+doctype[0].annotationtype[0].datatype 10003
+doctype[0].annotationtype[1].idx 10006
+doctype[0].annotationtype[1].name "normalized"
+doctype[0].annotationtype[1].internalid 4
+doctype[0].annotationtype[1].datatype 10004
+doctype[0].annotationtype[2].idx 10007
+doctype[0].annotationtype[2].name "reading"
+doctype[0].annotationtype[2].internalid 5
+doctype[0].annotationtype[2].datatype 10004
+doctype[0].annotationtype[3].idx 10008
+doctype[0].annotationtype[3].name "term"
+doctype[0].annotationtype[3].internalid 1
+doctype[0].annotationtype[3].datatype 10004
+doctype[0].annotationtype[4].idx 10009
+doctype[0].annotationtype[4].name "transformed"
+doctype[0].annotationtype[4].internalid 7
+doctype[0].annotationtype[4].datatype 10004
+doctype[0].annotationtype[5].idx 10010
+doctype[0].annotationtype[5].name "canonical"
+doctype[0].annotationtype[5].internalid 3
+doctype[0].annotationtype[5].datatype 10004
+doctype[0].annotationtype[6].idx 10011
+doctype[0].annotationtype[6].name "token_type"
+doctype[0].annotationtype[6].internalid 2
+doctype[0].annotationtype[6].datatype 10002
+doctype[0].annotationtype[7].idx 10012
+doctype[0].annotationtype[7].name "special_token"
+doctype[0].annotationtype[7].internalid 9
+doctype[0].annotationtype[8].idx 10013
+doctype[0].annotationtype[8].name "stem"
+doctype[0].annotationtype[8].internalid 6
+doctype[0].annotationtype[8].datatype 10004
+doctype[0].structtype[0].idx 10001
+doctype[0].structtype[0].name document.header
+doctype[1].name "docindoc"
+doctype[1].idx 10014
+doctype[1].inherits[0].idx 10000
+doctype[1].contentstruct 10015
+doctype[1].structtype[0].idx 10015
+doctype[1].structtype[0].name docindoc.header
+doctype[1].structtype[0].field[0].name "stringindocfield"
+doctype[1].structtype[0].field[0].internalid 102054923
+doctype[1].structtype[0].field[0].type 10004
+doctype[2].name "serializetest"
+doctype[2].idx 10016
+doctype[2].inherits[0].idx 10000
+doctype[2].contentstruct 10017
+doctype[2].primitivetype[0].idx 10018
+doctype[2].primitivetype[0].internalid 16
+doctype[2].primitivetype[0].name "byte"
+doctype[2].primitivetype[1].idx 10022
+doctype[2].primitivetype[1].internalid 6
+doctype[2].primitivetype[1].name "bool"
+doctype[2].primitivetype[2].idx 10023
+doctype[2].primitivetype[2].internalid 4
+doctype[2].primitivetype[2].name "long"
+doctype[2].primitivetype[3].idx 10025
+doctype[2].primitivetype[3].internalid 3
+doctype[2].primitivetype[3].name "raw"
+doctype[2].primitivetype[4].idx 10026
+doctype[2].primitivetype[4].internalid 1
+doctype[2].primitivetype[4].name "float"
+doctype[2].primitivetype[5].idx 10027
+doctype[2].primitivetype[5].internalid 10
+doctype[2].primitivetype[5].name "uri"
+doctype[2].arraytype[0].idx 10019
+doctype[2].arraytype[0].elementtype 10026
+doctype[2].arraytype[1].idx 10020
+doctype[2].arraytype[1].elementtype 10019
+doctype[2].maptype[0].idx 10024
+doctype[2].maptype[0].keytype 10004
+doctype[2].maptype[0].valuetype 10004
+doctype[2].wsettype[0].idx 10021
+doctype[2].wsettype[0].elementtype 10004
+doctype[2].wsettype[0].createifnonexistent false
+doctype[2].wsettype[0].removeifzero false
+doctype[2].structtype[0].idx 10017
+doctype[2].structtype[0].name serializetest.header
+doctype[2].structtype[0].field[0].name "floatfield"
+doctype[2].structtype[0].field[0].internalid 1055999199
+doctype[2].structtype[0].field[0].type 10026
+doctype[2].structtype[0].field[1].name "stringfield"
+doctype[2].structtype[0].field[1].internalid 1182460484
+doctype[2].structtype[0].field[1].type 10004
+doctype[2].structtype[0].field[2].name "longfield"
+doctype[2].structtype[0].field[2].internalid 1589309697
+doctype[2].structtype[0].field[2].type 10023
+doctype[2].structtype[0].field[3].name "urifield"
+doctype[2].structtype[0].field[3].internalid 628407450
+doctype[2].structtype[0].field[3].type 10027
+doctype[2].structtype[0].field[4].name "intfield"
+doctype[2].structtype[0].field[4].internalid 435380425
+doctype[2].structtype[0].field[4].type 10002
+doctype[2].structtype[0].field[5].name "rawfield"
+doctype[2].structtype[0].field[5].internalid 172982133
+doctype[2].structtype[0].field[5].type 10025
+doctype[2].structtype[0].field[6].name "doublefield"
+doctype[2].structtype[0].field[6].internalid 421343958
+doctype[2].structtype[0].field[6].type 10003
+doctype[2].structtype[0].field[7].name "contentfield"
+doctype[2].structtype[0].field[7].internalid 692444884
+doctype[2].structtype[0].field[7].type 10004
+doctype[2].structtype[0].field[8].name "bytefield"
+doctype[2].structtype[0].field[8].internalid 1924064342
+doctype[2].structtype[0].field[8].type 10018
+doctype[2].structtype[0].field[9].name "arrayoffloatfield"
+doctype[2].structtype[0].field[9].internalid 1870932758
+doctype[2].structtype[0].field[9].type 10019
+doctype[2].structtype[0].field[10].name "arrayofarrayoffloatfield"
+doctype[2].structtype[0].field[10].internalid 2061447601
+doctype[2].structtype[0].field[10].type 10020
+doctype[2].structtype[0].field[11].name "docfield"
+doctype[2].structtype[0].field[11].internalid 728739268
+doctype[2].structtype[0].field[11].type 10000
+doctype[2].structtype[0].field[12].name "wsfield"
+doctype[2].structtype[0].field[12].internalid 1683714185
+doctype[2].structtype[0].field[12].type 10021
+doctype[2].structtype[0].field[13].name "mapfield"
+doctype[2].structtype[0].field[13].internalid 162466023
+doctype[2].structtype[0].field[13].type 10024
+doctype[2].structtype[0].field[14].name "boolfield"
+doctype[2].structtype[0].field[14].internalid 450378351
+doctype[2].structtype[0].field[14].type 10022
diff --git a/document/src/tests/data/docmancfg.txt b/document/src/tests/data/docmancfg.txt
index 9507211edf3..2d5eb7b6586 100644
--- a/document/src/tests/data/docmancfg.txt
+++ b/document/src/tests/data/docmancfg.txt
@@ -1,170 +1,157 @@
-enablecompression false
-datatype[16]
-datatype[0].id 101
-datatype[0].arraytype[1]
-datatype[0].arraytype[0].datatype 1
-datatype[0].weightedsettype[0]
-datatype[0].structtype[0]
-datatype[0].documenttype[0]
-datatype[1].id 102
-datatype[1].arraytype[1]
-datatype[1].arraytype[0].datatype 2
-datatype[1].weightedsettype[0]
-datatype[1].structtype[0]
-datatype[1].documenttype[0]
-datatype[2].id 103
-datatype[2].arraytype[0]
-datatype[2].weightedsettype[0]
-datatype[2].structtype[1]
-datatype[2].structtype[0].name teststruct
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].field[2]
-datatype[2].structtype[0].field[0].name Foo
-datatype[2].structtype[0].field[0].id[0]
-datatype[2].structtype[0].field[0].datatype 2
-datatype[2].structtype[0].field[1].name Bar
-datatype[2].structtype[0].field[1].id[0]
-datatype[2].structtype[0].field[1].datatype 2
-datatype[2].documenttype[0]
-datatype[3].id 104
-datatype[3].arraytype[0]
-datatype[3].weightedsettype[0]
-datatype[3].structtype[1]
-datatype[3].structtype[0].name teststruct
-datatype[3].structtype[0].version 1
-datatype[3].structtype[0].field[2]
-datatype[3].structtype[0].field[0].name Foooo
-datatype[3].structtype[0].field[0].id[0]
-datatype[3].structtype[0].field[0].datatype 2
-datatype[3].structtype[0].field[1].name Bar
-datatype[3].structtype[0].field[1].id[0]
-datatype[3].structtype[0].field[1].datatype 2
-datatype[3].documenttype[0]
-datatype[4].id 1000
-datatype[4].arraytype[0]
-datatype[4].weightedsettype[0]
-datatype[4].structtype[1]
-datatype[4].structtype[0].name crawler_type.header
-datatype[4].structtype[0].version 0
-datatype[4].structtype[0].field[5]
-datatype[4].structtype[0].field[0].name URI
-datatype[4].structtype[0].field[0].id[1]
-datatype[4].structtype[0].field[0].id[0].id 0
-datatype[4].structtype[0].field[0].datatype 2
-datatype[4].structtype[0].field[1].name CONTEXT
-datatype[4].structtype[0].field[1].id[1]
-datatype[4].structtype[0].field[1].id[0].id 1
-datatype[4].structtype[0].field[1].datatype 2
-datatype[4].structtype[0].field[2].name CONTENT
-datatype[4].structtype[0].field[2].id[1]
-datatype[4].structtype[0].field[2].id[0].id 2
-datatype[4].structtype[0].field[2].datatype 3
-datatype[4].structtype[0].field[3].name CONTENT_TYPE
-datatype[4].structtype[0].field[3].id[1]
-datatype[4].structtype[0].field[3].id[0].id 3
-datatype[4].structtype[0].field[3].datatype 2
-datatype[4].structtype[0].field[4].name LAST_MODIFIED
-datatype[4].structtype[0].field[4].id[1]
-datatype[4].structtype[0].field[4].id[0].id 4
-datatype[4].structtype[0].field[4].datatype 0
-datatype[4].documenttype[0]
-datatype[5].id 1001
-datatype[5].arraytype[0]
-datatype[5].weightedsettype[0]
-datatype[5].structtype[1]
-datatype[5].structtype[0].name crawler_type.body
-datatype[5].structtype[0].version 0
-datatype[5].structtype[0].field[0]
-datatype[5].documenttype[0]
-datatype[6].id 1002
-datatype[6].arraytype[0]
-datatype[6].weightedsettype[0]
-datatype[6].structtype[0]
-datatype[6].documenttype[1]
-datatype[6].documenttype[0].name crawler_type
-datatype[6].documenttype[0].version 0
-datatype[6].documenttype[0].inherits[0]
-datatype[6].documenttype[0].headerstruct 1000
-datatype[6].documenttype[0].bodystruct 1001
-datatype[7].id 2000
-datatype[7].arraytype[0]
-datatype[7].weightedsettype[0]
-datatype[7].structtype[1]
-datatype[7].structtype[0].name multimedia_type.header
-datatype[7].structtype[0].version 0
-datatype[7].structtype[0].field[7]
-datatype[7].structtype[0].field[0].name URL_KEYWORDS
-datatype[7].structtype[0].field[0].id[1]
-datatype[7].structtype[0].field[0].id[0].id 147
-datatype[7].structtype[0].field[0].datatype 102
-datatype[7].structtype[0].field[1].name MULTIMEDIA_LINKTYPES
-datatype[7].structtype[0].field[1].id[1]
-datatype[7].structtype[0].field[1].id[0].id 148
-datatype[7].structtype[0].field[1].datatype 102
-datatype[7].structtype[0].field[2].name THUMBNAIL_URLS
-datatype[7].structtype[0].field[2].id[1]
-datatype[7].structtype[0].field[2].id[0].id 149
-datatype[7].structtype[0].field[2].datatype 102
-datatype[7].structtype[0].field[3].name FROM_LINK_LIST
-datatype[7].structtype[0].field[3].id[1]
-datatype[7].structtype[0].field[3].id[0].id 150
-datatype[7].structtype[0].field[3].datatype 101
-datatype[7].structtype[0].field[4].name FROM_LINK_LANGUAGE_LIST
-datatype[7].structtype[0].field[4].id[1]
-datatype[7].structtype[0].field[4].id[0].id 151
-datatype[7].structtype[0].field[4].datatype 102
-datatype[7].structtype[0].field[5].name TESTSTRUCT1
-datatype[7].structtype[0].field[5].id[1]
-datatype[7].structtype[0].field[5].id[0].id 153
-datatype[7].structtype[0].field[5].datatype 103
-datatype[7].structtype[0].field[6].name TESTSTRUCT2
-datatype[7].structtype[0].field[6].id[1]
-datatype[7].structtype[0].field[6].id[0].id 154
-datatype[7].structtype[0].field[6].datatype 104
-datatype[7].documenttype[0]
-datatype[8].id 2001
-datatype[8].structtype[1]
-datatype[8].structtype[0].name multimedia_type.body
-datatype[8].structtype[0].version 0
-datatype[8].structtype[0].field[0]
-datatype[9].id 2002
-datatype[9].documenttype[1]
-datatype[9].documenttype[0].name multimedia_type
-datatype[9].documenttype[0].version 0
-datatype[9].documenttype[0].inherits[1]
-datatype[9].documenttype[0].inherits[0].name crawler_type
-datatype[9].documenttype[0].inherits[0].version 0
-datatype[9].documenttype[0].headerstruct 2000
-datatype[9].documenttype[0].bodystruct 2001
-datatype[10].id 2003
-datatype[10].maptype[1]
-datatype[10].maptype[0].keytype 2
-datatype[10].maptype[0].valtype 2
-datatype[11].id 2004
-datatype[11].maptype[1]
-datatype[11].maptype[0].keytype 0
-datatype[11].maptype[0].valtype 0
-datatype[12].id 2005
-datatype[12].maptype[1]
-datatype[12].maptype[0].keytype 2003
-datatype[12].maptype[0].valtype 2004
-datatype[13].id 2006
-datatype[13].structtype[1]
-datatype[13].structtype[0].name map.header
-datatype[13].structtype[0].version 0
-datatype[13].structtype[0].field[1]
-datatype[13].structtype[0].field[0].name mymap
-datatype[13].structtype[0].field[0].id[1]
-datatype[13].structtype[0].field[0].id[0].id 155
-datatype[13].structtype[0].field[0].datatype 2005
-datatype[14].id 2007
-datatype[14].structtype[1]
-datatype[14].structtype[0].name map.body
-datatype[14].structtype[0].version 0
-datatype[14].structtype[0].field[0]
-datatype[15].id 2008
-datatype[15].documenttype[1]
-datatype[15].documenttype[0].name mapdoc
-datatype[15].documenttype[0].version 0
-datatype[15].documenttype[0].headerstruct 2006
-datatype[15].documenttype[0].bodystruct 2007
+doctype[4]
+doctype[0].name "document"
+doctype[0].idx 1000
+doctype[0].contentstruct 1001
+doctype[0].primitivetype[0].idx 1002
+doctype[0].primitivetype[0].internalid 0
+doctype[0].primitivetype[0].name "int"
+doctype[0].primitivetype[1].idx 1003
+doctype[0].primitivetype[1].internalid 5
+doctype[0].primitivetype[1].name "double"
+doctype[0].primitivetype[2].idx 1004
+doctype[0].primitivetype[2].internalid 2
+doctype[0].primitivetype[2].name "string"
+doctype[0].annotationtype[0].idx 1005
+doctype[0].annotationtype[0].name "proximity_break"
+doctype[0].annotationtype[0].internalid 8
+doctype[0].annotationtype[0].datatype 1003
+doctype[0].annotationtype[1].idx 1006
+doctype[0].annotationtype[1].name "normalized"
+doctype[0].annotationtype[1].internalid 4
+doctype[0].annotationtype[1].datatype 1004
+doctype[0].annotationtype[2].idx 1007
+doctype[0].annotationtype[2].name "reading"
+doctype[0].annotationtype[2].internalid 5
+doctype[0].annotationtype[2].datatype 1004
+doctype[0].annotationtype[3].idx 1008
+doctype[0].annotationtype[3].name "term"
+doctype[0].annotationtype[3].internalid 1
+doctype[0].annotationtype[3].datatype 1004
+doctype[0].annotationtype[4].idx 1009
+doctype[0].annotationtype[4].name "transformed"
+doctype[0].annotationtype[4].internalid 7
+doctype[0].annotationtype[4].datatype 1004
+doctype[0].annotationtype[5].idx 1010
+doctype[0].annotationtype[5].name "canonical"
+doctype[0].annotationtype[5].internalid 3
+doctype[0].annotationtype[5].datatype 1004
+doctype[0].annotationtype[6].idx 1011
+doctype[0].annotationtype[6].name "token_type"
+doctype[0].annotationtype[6].internalid 2
+doctype[0].annotationtype[6].datatype 1002
+doctype[0].annotationtype[7].idx 1012
+doctype[0].annotationtype[7].name "special_token"
+doctype[0].annotationtype[7].internalid 9
+doctype[0].annotationtype[8].idx 1013
+doctype[0].annotationtype[8].name "stem"
+doctype[0].annotationtype[8].internalid 6
+doctype[0].annotationtype[8].datatype 1004
+doctype[0].structtype[0].idx 1001
+doctype[0].structtype[0].name document.header
+doctype[1].name "crawler_type"
+doctype[1].idx 1014
+doctype[1].inherits[0].idx 1000
+doctype[1].contentstruct 1015
+doctype[1].primitivetype[0].idx 1016
+doctype[1].primitivetype[0].internalid 3
+doctype[1].primitivetype[0].name "raw"
+doctype[1].structtype[0].idx 1015
+doctype[1].structtype[0].name crawler_type.header
+doctype[1].structtype[0].field[0].name "URI"
+doctype[1].structtype[0].field[0].internalid 0
+doctype[1].structtype[0].field[0].type 1004
+doctype[1].structtype[0].field[1].name "CONTEXT"
+doctype[1].structtype[0].field[1].internalid 1
+doctype[1].structtype[0].field[1].type 1004
+doctype[1].structtype[0].field[2].name "CONTENT"
+doctype[1].structtype[0].field[2].internalid 2
+doctype[1].structtype[0].field[2].type 1016
+doctype[1].structtype[0].field[3].name "CONTENT_TYPE"
+doctype[1].structtype[0].field[3].internalid 3
+doctype[1].structtype[0].field[3].type 1004
+doctype[1].structtype[0].field[4].name "LAST_MODIFIED"
+doctype[1].structtype[0].field[4].internalid 4
+doctype[1].structtype[0].field[4].type 1002
+doctype[2].name "multimedia_type"
+doctype[2].idx 1017
+doctype[2].inherits[0].idx 1014
+doctype[2].contentstruct 1018
+doctype[2].primitivetype[0].idx 1023
+doctype[2].primitivetype[0].internalid 1
+doctype[2].primitivetype[0].name "float"
+doctype[2].arraytype[0].idx 1020
+doctype[2].arraytype[0].elementtype 1004
+doctype[2].arraytype[1].idx 1022
+doctype[2].arraytype[1].elementtype 1023
+doctype[2].structtype[0].idx 1019
+doctype[2].structtype[0].name teststruct
+doctype[2].structtype[0].field[0].name "Foo"
+doctype[2].structtype[0].field[0].internalid 124097967
+doctype[2].structtype[0].field[0].type 1004
+doctype[2].structtype[0].field[1].name "Bar"
+doctype[2].structtype[0].field[1].internalid 994665030
+doctype[2].structtype[0].field[1].type 1004
+doctype[2].structtype[1].idx 1021
+doctype[2].structtype[1].name teststruct
+doctype[2].structtype[1].field[0].name "Foooo"
+doctype[2].structtype[1].field[0].internalid 1805127541
+doctype[2].structtype[1].field[0].type 1004
+doctype[2].structtype[1].field[1].name "Bar"
+doctype[2].structtype[1].field[1].internalid 994665030
+doctype[2].structtype[1].field[1].type 1004
+doctype[2].structtype[2].idx 1018
+doctype[2].structtype[2].name multimedia_type.header
+doctype[2].structtype[2].field[0].name "URI"
+doctype[2].structtype[2].field[0].internalid 0
+doctype[2].structtype[2].field[0].type 1004
+doctype[2].structtype[2].field[1].name "CONTEXT"
+doctype[2].structtype[2].field[1].internalid 1
+doctype[2].structtype[2].field[1].type 1004
+doctype[2].structtype[2].field[2].name "CONTENT"
+doctype[2].structtype[2].field[2].internalid 2
+doctype[2].structtype[2].field[2].type 1016
+doctype[2].structtype[2].field[3].name "CONTENT_TYPE"
+doctype[2].structtype[2].field[3].internalid 3
+doctype[2].structtype[2].field[3].type 1004
+doctype[2].structtype[2].field[4].name "LAST_MODIFIED"
+doctype[2].structtype[2].field[4].internalid 4
+doctype[2].structtype[2].field[4].type 1002
+doctype[2].structtype[2].field[5].name "URL_KEYWORDS"
+doctype[2].structtype[2].field[5].internalid 147
+doctype[2].structtype[2].field[5].type 1020
+doctype[2].structtype[2].field[6].name "MULTIMEDIA_LINKTYPES"
+doctype[2].structtype[2].field[6].internalid 148
+doctype[2].structtype[2].field[6].type 1020
+doctype[2].structtype[2].field[7].name "THUMBNAIL_URLS"
+doctype[2].structtype[2].field[7].internalid 149
+doctype[2].structtype[2].field[7].type 1020
+doctype[2].structtype[2].field[8].name "FROM_LINK_LIST"
+doctype[2].structtype[2].field[8].internalid 150
+doctype[2].structtype[2].field[8].type 1022
+doctype[2].structtype[2].field[9].name "FROM_LINK_LANGUAGE_LIST"
+doctype[2].structtype[2].field[9].internalid 151
+doctype[2].structtype[2].field[9].type 1020
+doctype[2].structtype[2].field[10].name "TESTSTRUCT1"
+doctype[2].structtype[2].field[10].internalid 153
+doctype[2].structtype[2].field[10].type 1019
+doctype[2].structtype[2].field[11].name "TESTSTRUCT2"
+doctype[2].structtype[2].field[11].internalid 154
+doctype[2].structtype[2].field[11].type 1021
+doctype[3].name "mapdoc"
+doctype[3].idx 1024
+doctype[3].inherits[0].idx 1000
+doctype[3].contentstruct 1025
+doctype[3].maptype[0].idx 1026
+doctype[3].maptype[0].keytype 1002
+doctype[3].maptype[0].valuetype 1002
+doctype[3].maptype[1].idx 1027
+doctype[3].maptype[1].keytype 1028
+doctype[3].maptype[1].valuetype 1026
+doctype[3].maptype[2].idx 1028
+doctype[3].maptype[2].keytype 1004
+doctype[3].maptype[2].valuetype 1004
+doctype[3].structtype[0].idx 1025
+doctype[3].structtype[0].name map.header
+doctype[3].structtype[0].field[0].name "mymap"
+doctype[3].structtype[0].field[0].internalid 155
+doctype[3].structtype[0].field[0].type 1027
diff --git a/document/src/tests/data/embeddeddocument.cfg b/document/src/tests/data/embeddeddocument.cfg
index baefc0d7338..454b071cff1 100644
--- a/document/src/tests/data/embeddeddocument.cfg
+++ b/document/src/tests/data/embeddeddocument.cfg
@@ -1,102 +1,83 @@
-enablecompression false
-datatype[8]
-datatype[0].id 1001
-datatype[0].arraytype[1]
-datatype[0].arraytype[0].datatype 1
-datatype[0].weightedsettype[0]
-datatype[0].structtype[0]
-datatype[0].documenttype[0]
-datatype[1].id 2001
-datatype[1].arraytype[1]
-datatype[1].arraytype[0].datatype 1001
-datatype[1].weightedsettype[0]
-datatype[1].structtype[0]
-datatype[1].documenttype[0]
-datatype[2].id -1686125086
-datatype[2].arraytype[0]
-datatype[2].weightedsettype[0]
-datatype[2].structtype[1]
-datatype[2].structtype[0].name docindoc.header
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].field[0]
-datatype[2].documenttype[0]
-datatype[3].id 2030224503
-datatype[3].arraytype[0]
-datatype[3].weightedsettype[0]
-datatype[3].structtype[1]
-datatype[3].structtype[0].name docindoc.body
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].field[1]
-datatype[3].structtype[0].field[0].name stringindoc
-datatype[3].structtype[0].field[0].id[0]
-datatype[3].structtype[0].field[0].datatype 2
-datatype[3].documenttype[0]
-datatype[4].id 1447635645
-datatype[4].arraytype[0]
-datatype[4].weightedsettype[0]
-datatype[4].structtype[0]
-datatype[4].documenttype[1]
-datatype[4].documenttype[0].name docindoc
-datatype[4].documenttype[0].version 0
-datatype[4].documenttype[0].inherits[0]
-datatype[4].documenttype[0].headerstruct -1686125086
-datatype[4].documenttype[0].bodystruct 2030224503
-datatype[5].id -260050933
-datatype[5].arraytype[0]
-datatype[5].weightedsettype[0]
-datatype[5].structtype[1]
-datatype[5].structtype[0].name serializetest.header
-datatype[5].structtype[0].version 0
-datatype[5].structtype[0].field[4]
-datatype[5].structtype[0].field[0].name floatfield
-datatype[5].structtype[0].field[0].id[0]
-datatype[5].structtype[0].field[0].datatype 1
-datatype[5].structtype[0].field[1].name stringfield
-datatype[5].structtype[0].field[1].id[0]
-datatype[5].structtype[0].field[1].datatype 2
-datatype[5].structtype[0].field[2].name longfield
-datatype[5].structtype[0].field[2].id[0]
-datatype[5].structtype[0].field[2].datatype 4
-datatype[5].structtype[0].field[3].name urifield
-datatype[5].structtype[0].field[3].id[0]
-datatype[5].structtype[0].field[3].datatype 10
-datatype[5].documenttype[0]
-datatype[6].id 1026122976
-datatype[6].arraytype[0]
-datatype[6].weightedsettype[0]
-datatype[6].structtype[1]
-datatype[6].structtype[0].name serializetest.body
-datatype[6].structtype[0].version 0
-datatype[6].structtype[0].field[7]
-datatype[6].structtype[0].field[0].name intfield
-datatype[6].structtype[0].field[0].id[0]
-datatype[6].structtype[0].field[0].datatype 0
-datatype[6].structtype[0].field[1].name rawfield
-datatype[6].structtype[0].field[1].id[0]
-datatype[6].structtype[0].field[1].datatype 3
-datatype[6].structtype[0].field[2].name doublefield
-datatype[6].structtype[0].field[2].id[0]
-datatype[6].structtype[0].field[2].datatype 5
-datatype[6].structtype[0].field[3].name bytefield
-datatype[6].structtype[0].field[3].id[0]
-datatype[6].structtype[0].field[3].datatype 16
-datatype[6].structtype[0].field[4].name arrayoffloatfield
-datatype[6].structtype[0].field[4].id[0]
-datatype[6].structtype[0].field[4].datatype 1001
-datatype[6].structtype[0].field[5].name arrayofarrayoffloatfield
-datatype[6].structtype[0].field[5].id[0]
-datatype[6].structtype[0].field[5].datatype 2001
-datatype[6].structtype[0].field[6].name docfield
-datatype[6].structtype[0].field[6].id[0]
-datatype[6].structtype[0].field[6].datatype 8
-datatype[6].documenttype[0]
-datatype[7].id 1306012852
-datatype[7].arraytype[0]
-datatype[7].weightedsettype[0]
-datatype[7].structtype[0]
-datatype[7].documenttype[1]
-datatype[7].documenttype[0].name serializetest
-datatype[7].documenttype[0].version 0
-datatype[7].documenttype[0].inherits[0]
-datatype[7].documenttype[0].headerstruct -260050933
-datatype[7].documenttype[0].bodystruct 1026122976
+doctype[3]
+doctype[0].name "document"
+doctype[0].idx 10000
+doctype[0].contentstruct 10001
+doctype[0].primitivetype[0].idx 10002
+doctype[0].primitivetype[0].internalid 0
+doctype[0].primitivetype[0].name "int"
+doctype[0].primitivetype[1].idx 10003
+doctype[0].primitivetype[1].internalid 5
+doctype[0].primitivetype[1].name "double"
+doctype[0].primitivetype[2].idx 10004
+doctype[0].primitivetype[2].internalid 2
+doctype[0].primitivetype[2].name "string"
+doctype[0].annotationtype[0].idx 10005
+doctype[0].annotationtype[0].name "proximity_break"
+doctype[0].annotationtype[0].internalid 8
+doctype[0].annotationtype[0].datatype 10003
+doctype[0].annotationtype[1].idx 10006
+doctype[0].annotationtype[1].name "normalized"
+doctype[0].annotationtype[1].internalid 4
+doctype[0].annotationtype[1].datatype 10004
+doctype[0].annotationtype[2].idx 10007
+doctype[0].annotationtype[2].name "reading"
+doctype[0].annotationtype[2].internalid 5
+doctype[0].annotationtype[2].datatype 10004
+doctype[0].annotationtype[3].idx 10008
+doctype[0].annotationtype[3].name "term"
+doctype[0].annotationtype[3].internalid 1
+doctype[0].annotationtype[3].datatype 10004
+doctype[0].annotationtype[4].idx 10009
+doctype[0].annotationtype[4].name "transformed"
+doctype[0].annotationtype[4].internalid 7
+doctype[0].annotationtype[4].datatype 10004
+doctype[0].annotationtype[5].idx 10010
+doctype[0].annotationtype[5].name "canonical"
+doctype[0].annotationtype[5].internalid 3
+doctype[0].annotationtype[5].datatype 10004
+doctype[0].annotationtype[6].idx 10011
+doctype[0].annotationtype[6].name "token_type"
+doctype[0].annotationtype[6].internalid 2
+doctype[0].annotationtype[6].datatype 10002
+doctype[0].annotationtype[7].idx 10012
+doctype[0].annotationtype[7].name "special_token"
+doctype[0].annotationtype[7].internalid 9
+doctype[0].annotationtype[8].idx 10013
+doctype[0].annotationtype[8].name "stem"
+doctype[0].annotationtype[8].internalid 6
+doctype[0].annotationtype[8].datatype 10004
+doctype[0].structtype[0].idx 10001
+doctype[0].structtype[0].name document.header
+doctype[1].name "docindoc"
+doctype[1].idx 10014
+doctype[1].inherits[0].idx 10000
+doctype[1].contentstruct 10015
+doctype[1].structtype[0].idx 10015
+doctype[1].structtype[0].name docindoc.header
+doctype[2].name "serializetest"
+doctype[2].idx 10016
+doctype[2].inherits[0].idx 10000
+doctype[2].contentstruct 10017
+doctype[2].primitivetype[0].idx 10018
+doctype[2].primitivetype[0].internalid 4
+doctype[2].primitivetype[0].name "long"
+doctype[2].primitivetype[1].idx 10019
+doctype[2].primitivetype[1].internalid 1
+doctype[2].primitivetype[1].name "float"
+doctype[2].primitivetype[2].idx 10020
+doctype[2].primitivetype[2].internalid 10
+doctype[2].primitivetype[2].name "uri"
+doctype[2].structtype[0].idx 10017
+doctype[2].structtype[0].name serializetest.header
+doctype[2].structtype[0].field[0].name "floatfield"
+doctype[2].structtype[0].field[0].internalid 1055999199
+doctype[2].structtype[0].field[0].type 10019
+doctype[2].structtype[0].field[1].name "stringfield"
+doctype[2].structtype[0].field[1].internalid 1182460484
+doctype[2].structtype[0].field[1].type 10004
+doctype[2].structtype[0].field[2].name "longfield"
+doctype[2].structtype[0].field[2].internalid 1589309697
+doctype[2].structtype[0].field[2].type 10018
+doctype[2].structtype[0].field[3].name "urifield"
+doctype[2].structtype[0].field[3].internalid 628407450
+doctype[2].structtype[0].field[3].type 10020
diff --git a/document/src/tests/data/variablesizedocument.cfg b/document/src/tests/data/variablesizedocument.cfg
index 959f6b7b12d..375c6b69468 100644
--- a/document/src/tests/data/variablesizedocument.cfg
+++ b/document/src/tests/data/variablesizedocument.cfg
@@ -1,34 +1,59 @@
-enablecompression false
-datatype[3]
-datatype[0].id -1633334123
-datatype[0].arraytype[0]
-datatype[0].weightedsettype[0]
-datatype[0].structtype[1]
-datatype[0].structtype[0].name varsize.header
-datatype[0].structtype[0].version 0
-datatype[0].structtype[0].field[1]
-datatype[0].structtype[0].field[0].name headerstring
-datatype[0].structtype[0].field[0].id[0]
-datatype[0].structtype[0].field[0].datatype 2
-datatype[0].documenttype[0]
-datatype[1].id -785359894
-datatype[1].arraytype[0]
-datatype[1].weightedsettype[0]
-datatype[1].structtype[1]
-datatype[1].structtype[0].name varsize.body
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].field[1]
-datatype[1].structtype[0].field[0].name bodystring
-datatype[1].structtype[0].field[0].id[0]
-datatype[1].structtype[0].field[0].datatype 2
-datatype[1].documenttype[0]
-datatype[2].id 211908458
-datatype[2].arraytype[0]
-datatype[2].weightedsettype[0]
-datatype[2].structtype[0]
-datatype[2].documenttype[1]
-datatype[2].documenttype[0].name varsize
-datatype[2].documenttype[0].version 0
-datatype[2].documenttype[0].inherits[0]
-datatype[2].documenttype[0].headerstruct -1633334123
-datatype[2].documenttype[0].bodystruct -785359894
+doctype[2]
+doctype[0].name "document"
+doctype[0].idx 10000
+doctype[0].contentstruct 10001
+doctype[0].primitivetype[0].idx 10002
+doctype[0].primitivetype[0].internalid 0
+doctype[0].primitivetype[0].name "int"
+doctype[0].primitivetype[1].idx 10003
+doctype[0].primitivetype[1].internalid 5
+doctype[0].primitivetype[1].name "double"
+doctype[0].primitivetype[2].idx 10004
+doctype[0].primitivetype[2].internalid 2
+doctype[0].primitivetype[2].name "string"
+doctype[0].annotationtype[0].idx 10005
+doctype[0].annotationtype[0].name "proximity_break"
+doctype[0].annotationtype[0].internalid 8
+doctype[0].annotationtype[0].datatype 10003
+doctype[0].annotationtype[1].idx 10006
+doctype[0].annotationtype[1].name "normalized"
+doctype[0].annotationtype[1].internalid 4
+doctype[0].annotationtype[1].datatype 10004
+doctype[0].annotationtype[2].idx 10007
+doctype[0].annotationtype[2].name "reading"
+doctype[0].annotationtype[2].internalid 5
+doctype[0].annotationtype[2].datatype 10004
+doctype[0].annotationtype[3].idx 10008
+doctype[0].annotationtype[3].name "term"
+doctype[0].annotationtype[3].internalid 1
+doctype[0].annotationtype[3].datatype 10004
+doctype[0].annotationtype[4].idx 10009
+doctype[0].annotationtype[4].name "transformed"
+doctype[0].annotationtype[4].internalid 7
+doctype[0].annotationtype[4].datatype 10004
+doctype[0].annotationtype[5].idx 10010
+doctype[0].annotationtype[5].name "canonical"
+doctype[0].annotationtype[5].internalid 3
+doctype[0].annotationtype[5].datatype 10004
+doctype[0].annotationtype[6].idx 10011
+doctype[0].annotationtype[6].name "token_type"
+doctype[0].annotationtype[6].internalid 2
+doctype[0].annotationtype[6].datatype 10002
+doctype[0].annotationtype[7].idx 10012
+doctype[0].annotationtype[7].name "special_token"
+doctype[0].annotationtype[7].internalid 9
+doctype[0].annotationtype[8].idx 10013
+doctype[0].annotationtype[8].name "stem"
+doctype[0].annotationtype[8].internalid 6
+doctype[0].annotationtype[8].datatype 10004
+doctype[0].structtype[0].idx 10001
+doctype[0].structtype[0].name document.header
+doctype[1].name "varsize"
+doctype[1].idx 10014
+doctype[1].inherits[0].idx 10000
+doctype[1].contentstruct 10015
+doctype[1].structtype[0].idx 10015
+doctype[1].structtype[0].name varsize.header
+doctype[1].structtype[0].field[0].name "headerstring"
+doctype[1].structtype[0].field[0].internalid 788916026
+doctype[1].structtype[0].field[0].type 10004
diff --git a/document/src/tests/struct_anno/documentmanager.cfg b/document/src/tests/struct_anno/documentmanager.cfg
index 94020ca7b69..fec3f3587aa 100644
--- a/document/src/tests/struct_anno/documentmanager.cfg
+++ b/document/src/tests/struct_anno/documentmanager.cfg
@@ -1,160 +1,97 @@
-enablecompression false
-annotationtype[0]
-datatype[8]
-datatype[0].id -1049517126
-datatype[0].annotationreftype[0]
-datatype[0].arraytype[0]
-datatype[0].documenttype[1]
-datatype[0].documenttype[0].bodystruct 1008689562
-datatype[0].documenttype[0].headerstruct 166307397
-datatype[0].documenttype[0].name "simple_def"
-datatype[0].documenttype[0].version 0
-datatype[0].documenttype[0].inherits[1]
-datatype[0].documenttype[0].inherits[0].name "document"
-datatype[0].documenttype[0].inherits[0].version 0
-datatype[0].maptype[0]
-datatype[0].structtype[0]
-datatype[0].weightedsettype[0]
-datatype[1].id -1267268530
-datatype[1].annotationreftype[0]
-datatype[1].arraytype[0]
-datatype[1].documenttype[0]
-datatype[1].maptype[0]
-datatype[1].structtype[1]
-datatype[1].structtype[0].compresslevel 0
-datatype[1].structtype[0].compressminsize 800
-datatype[1].structtype[0].compressthreshold 95
-datatype[1].structtype[0].compresstype NONE
-datatype[1].structtype[0].name "simple_def_search.header"
-datatype[1].structtype[0].version 0
-datatype[1].structtype[0].field[3]
-datatype[1].structtype[0].field[0].datatype 111553393
-datatype[1].structtype[0].field[0].name "my_url"
-datatype[1].structtype[0].field[0].id[0]
-datatype[1].structtype[0].field[1].datatype 2
-datatype[1].structtype[0].field[1].name "rankfeatures"
-datatype[1].structtype[0].field[1].id[0]
-datatype[1].structtype[0].field[2].datatype 2
-datatype[1].structtype[0].field[2].name "summaryfeatures"
-datatype[1].structtype[0].field[2].id[0]
-datatype[1].structtype[0].inherits[0]
-datatype[1].weightedsettype[0]
-datatype[2].id -495710767
-datatype[2].annotationreftype[0]
-datatype[2].arraytype[0]
-datatype[2].documenttype[1]
-datatype[2].documenttype[0].bodystruct 1968090595
-datatype[2].documenttype[0].headerstruct -1267268530
-datatype[2].documenttype[0].name "simple_def_search"
-datatype[2].documenttype[0].version 0
-datatype[2].documenttype[0].inherits[1]
-datatype[2].documenttype[0].inherits[0].name "document"
-datatype[2].documenttype[0].inherits[0].version 0
-datatype[2].maptype[0]
-datatype[2].structtype[0]
-datatype[2].weightedsettype[0]
-datatype[3].id 1008689562
-datatype[3].annotationreftype[0]
-datatype[3].arraytype[0]
-datatype[3].documenttype[0]
-datatype[3].maptype[0]
-datatype[3].structtype[1]
-datatype[3].structtype[0].compresslevel 0
-datatype[3].structtype[0].compressminsize 800
-datatype[3].structtype[0].compressthreshold 95
-datatype[3].structtype[0].compresstype NONE
-datatype[3].structtype[0].name "simple_def.body"
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].field[0]
-datatype[3].structtype[0].inherits[0]
-datatype[3].weightedsettype[0]
-datatype[4].id 111553393
-datatype[4].annotationreftype[0]
-datatype[4].arraytype[0]
-datatype[4].documenttype[0]
-datatype[4].maptype[0]
-datatype[4].structtype[1]
-datatype[4].structtype[0].compresslevel 0
-datatype[4].structtype[0].compressminsize 800
-datatype[4].structtype[0].compressthreshold 95
-datatype[4].structtype[0].compresstype NONE
-datatype[4].structtype[0].name "url"
-datatype[4].structtype[0].version 0
-datatype[4].structtype[0].field[7]
-datatype[4].structtype[0].field[0].datatype 2
-datatype[4].structtype[0].field[0].name "all"
-datatype[4].structtype[0].field[0].id[0]
-datatype[4].structtype[0].field[1].datatype 2
-datatype[4].structtype[0].field[1].name "fragment"
-datatype[4].structtype[0].field[1].id[0]
-datatype[4].structtype[0].field[2].datatype 2
-datatype[4].structtype[0].field[2].name "host"
-datatype[4].structtype[0].field[2].id[0]
-datatype[4].structtype[0].field[3].datatype 2
-datatype[4].structtype[0].field[3].name "path"
-datatype[4].structtype[0].field[3].id[0]
-datatype[4].structtype[0].field[4].datatype 2
-datatype[4].structtype[0].field[4].name "port"
-datatype[4].structtype[0].field[4].id[0]
-datatype[4].structtype[0].field[5].datatype 2
-datatype[4].structtype[0].field[5].name "query"
-datatype[4].structtype[0].field[5].id[0]
-datatype[4].structtype[0].field[6].datatype 2
-datatype[4].structtype[0].field[6].name "scheme"
-datatype[4].structtype[0].field[6].id[0]
-datatype[4].structtype[0].inherits[0]
-datatype[4].weightedsettype[0]
-datatype[5].id 1381038251
-datatype[5].annotationreftype[0]
-datatype[5].arraytype[0]
-datatype[5].documenttype[0]
-datatype[5].maptype[0]
-datatype[5].structtype[1]
-datatype[5].structtype[0].compresslevel 0
-datatype[5].structtype[0].compressminsize 800
-datatype[5].structtype[0].compressthreshold 95
-datatype[5].structtype[0].compresstype NONE
-datatype[5].structtype[0].name "position"
-datatype[5].structtype[0].version 0
-datatype[5].structtype[0].field[2]
-datatype[5].structtype[0].field[0].datatype 0
-datatype[5].structtype[0].field[0].name "x"
-datatype[5].structtype[0].field[0].id[0]
-datatype[5].structtype[0].field[1].datatype 0
-datatype[5].structtype[0].field[1].name "y"
-datatype[5].structtype[0].field[1].id[0]
-datatype[5].structtype[0].inherits[0]
-datatype[5].weightedsettype[0]
-datatype[6].id 166307397
-datatype[6].annotationreftype[0]
-datatype[6].arraytype[0]
-datatype[6].documenttype[0]
-datatype[6].maptype[0]
-datatype[6].structtype[1]
-datatype[6].structtype[0].compresslevel 0
-datatype[6].structtype[0].compressminsize 800
-datatype[6].structtype[0].compressthreshold 95
-datatype[6].structtype[0].compresstype NONE
-datatype[6].structtype[0].name "simple_def.header"
-datatype[6].structtype[0].version 0
-datatype[6].structtype[0].field[1]
-datatype[6].structtype[0].field[0].datatype 111553393
-datatype[6].structtype[0].field[0].name "my_url"
-datatype[6].structtype[0].field[0].id[0]
-datatype[6].structtype[0].inherits[0]
-datatype[6].weightedsettype[0]
-datatype[7].id 1968090595
-datatype[7].annotationreftype[0]
-datatype[7].arraytype[0]
-datatype[7].documenttype[0]
-datatype[7].maptype[0]
-datatype[7].structtype[1]
-datatype[7].structtype[0].compresslevel 0
-datatype[7].structtype[0].compressminsize 800
-datatype[7].structtype[0].compressthreshold 95
-datatype[7].structtype[0].compresstype NONE
-datatype[7].structtype[0].name "simple_def_search.body"
-datatype[7].structtype[0].version 0
-datatype[7].structtype[0].field[0]
-datatype[7].structtype[0].inherits[0]
-datatype[7].weightedsettype[0]
+doctype[3]
+doctype[0].name "document"
+doctype[0].idx 10000
+doctype[0].contentstruct 10001
+doctype[0].primitivetype[0].idx 10002
+doctype[0].primitivetype[0].internalid 0
+doctype[0].primitivetype[0].name "int"
+doctype[0].primitivetype[1].idx 10003
+doctype[0].primitivetype[1].internalid 5
+doctype[0].primitivetype[1].name "double"
+doctype[0].primitivetype[2].idx 10004
+doctype[0].primitivetype[2].internalid 2
+doctype[0].primitivetype[2].name "string"
+doctype[0].annotationtype[0].idx 10005
+doctype[0].annotationtype[0].name "proximity_break"
+doctype[0].annotationtype[0].internalid 8
+doctype[0].annotationtype[0].datatype 10003
+doctype[0].annotationtype[1].idx 10006
+doctype[0].annotationtype[1].name "normalized"
+doctype[0].annotationtype[1].internalid 4
+doctype[0].annotationtype[1].datatype 10004
+doctype[0].annotationtype[2].idx 10007
+doctype[0].annotationtype[2].name "reading"
+doctype[0].annotationtype[2].internalid 5
+doctype[0].annotationtype[2].datatype 10004
+doctype[0].annotationtype[3].idx 10008
+doctype[0].annotationtype[3].name "term"
+doctype[0].annotationtype[3].internalid 1
+doctype[0].annotationtype[3].datatype 10004
+doctype[0].annotationtype[4].idx 10009
+doctype[0].annotationtype[4].name "transformed"
+doctype[0].annotationtype[4].internalid 7
+doctype[0].annotationtype[4].datatype 10004
+doctype[0].annotationtype[5].idx 10010
+doctype[0].annotationtype[5].name "canonical"
+doctype[0].annotationtype[5].internalid 3
+doctype[0].annotationtype[5].datatype 10004
+doctype[0].annotationtype[6].idx 10011
+doctype[0].annotationtype[6].name "token_type"
+doctype[0].annotationtype[6].internalid 2
+doctype[0].annotationtype[6].datatype 10002
+doctype[0].annotationtype[7].idx 10012
+doctype[0].annotationtype[7].name "special_token"
+doctype[0].annotationtype[7].internalid 9
+doctype[0].annotationtype[8].idx 10013
+doctype[0].annotationtype[8].name "stem"
+doctype[0].annotationtype[8].internalid 6
+doctype[0].annotationtype[8].datatype 10004
+doctype[0].structtype[0].idx 10001
+doctype[0].structtype[0].name document.header
+doctype[1].name "simple_def_search"
+doctype[1].idx 10014
+doctype[1].inherits[0].idx 10000
+doctype[1].contentstruct 10015
+doctype[1].structtype[0].idx 10016
+doctype[1].structtype[0].name url
+doctype[1].structtype[0].field[0].name "all"
+doctype[1].structtype[0].field[0].internalid 135568216
+doctype[1].structtype[0].field[0].type 10004
+doctype[1].structtype[0].field[1].name "fragment"
+doctype[1].structtype[0].field[1].internalid 1627287815
+doctype[1].structtype[0].field[1].type 10004
+doctype[1].structtype[0].field[2].name "host"
+doctype[1].structtype[0].field[2].internalid 145719016
+doctype[1].structtype[0].field[2].type 10004
+doctype[1].structtype[0].field[3].name "path"
+doctype[1].structtype[0].field[3].internalid 426212419
+doctype[1].structtype[0].field[3].type 10004
+doctype[1].structtype[0].field[4].name "port"
+doctype[1].structtype[0].field[4].internalid 980088860
+doctype[1].structtype[0].field[4].type 10004
+doctype[1].structtype[0].field[5].name "query"
+doctype[1].structtype[0].field[5].internalid 1326965074
+doctype[1].structtype[0].field[5].type 10004
+doctype[1].structtype[0].field[6].name "scheme"
+doctype[1].structtype[0].field[6].internalid 302257388
+doctype[1].structtype[0].field[6].type 10004
+doctype[1].structtype[1].idx 10015
+doctype[1].structtype[1].name simple_def_search.header
+doctype[1].structtype[1].field[0].name "my_url"
+doctype[1].structtype[1].field[0].internalid 1127377169
+doctype[1].structtype[1].field[0].type 10016
+doctype[1].structtype[1].field[1].name "rankfeatures"
+doctype[1].structtype[1].field[1].internalid 1883197392
+doctype[1].structtype[1].field[1].type 10004
+doctype[1].structtype[1].field[2].name "summaryfeatures"
+doctype[1].structtype[1].field[2].internalid 1840337115
+doctype[1].structtype[1].field[2].type 10004
+doctype[2].name "simple_def"
+doctype[2].idx 10017
+doctype[2].inherits[0].idx 10000
+doctype[2].contentstruct 10018
+doctype[2].structtype[0].idx 10018
+doctype[2].structtype[0].name simple_def.header
+doctype[2].structtype[0].field[0].name "my_url"
+doctype[2].structtype[0].field[0].internalid 1127377169
+doctype[2].structtype[0].field[0].type 10016
diff --git a/document/src/tests/vespaxml/vespaxmldoctype.cfg b/document/src/tests/vespaxml/vespaxmldoctype.cfg
index 3a4aa280e0d..d5b6d878df4 100644
--- a/document/src/tests/vespaxml/vespaxmldoctype.cfg
+++ b/document/src/tests/vespaxml/vespaxmldoctype.cfg
@@ -1,133 +1,135 @@
-enablecompression false
-datatype[12]
-datatype[0].id 1002
-datatype[0].arraytype[1]
-datatype[0].arraytype[0].datatype 2
-datatype[0].weightedsettype[0]
-datatype[0].structtype[0]
-datatype[0].documenttype[0]
-datatype[1].id 1000
-datatype[1].arraytype[1]
-datatype[1].arraytype[0].datatype 0
-datatype[1].weightedsettype[0]
-datatype[1].structtype[0]
-datatype[1].documenttype[0]
-datatype[2].id 1004
-datatype[2].arraytype[1]
-datatype[2].arraytype[0].datatype 4
-datatype[2].weightedsettype[0]
-datatype[2].structtype[0]
-datatype[2].documenttype[0]
-datatype[3].id 1016
-datatype[3].arraytype[1]
-datatype[3].arraytype[0].datatype 16
-datatype[3].weightedsettype[0]
-datatype[3].structtype[0]
-datatype[3].documenttype[0]
-datatype[4].id 1001
-datatype[4].arraytype[1]
-datatype[4].arraytype[0].datatype 1
-datatype[4].weightedsettype[0]
-datatype[4].structtype[0]
-datatype[4].documenttype[0]
-datatype[5].id 2001
-datatype[5].arraytype[0]
-datatype[5].weightedsettype[1]
-datatype[5].weightedsettype[0].datatype 0
-datatype[5].weightedsettype[0].createifnonexistant false
-datatype[5].weightedsettype[0].removeifzero false
-datatype[5].structtype[0]
-datatype[5].documenttype[0]
-datatype[6].id 2002
-datatype[6].arraytype[0]
-datatype[6].weightedsettype[1]
-datatype[6].weightedsettype[0].datatype 2
-datatype[6].weightedsettype[0].createifnonexistant false
-datatype[6].weightedsettype[0].removeifzero false
-datatype[6].structtype[0]
-datatype[6].documenttype[0]
-datatype[7].id 3000
-datatype[7].arraytype[0]
-datatype[7].weightedsettype[0]
-datatype[7].structtype[1]
-datatype[7].structtype[0].name news.mystruct
-datatype[7].structtype[0].version 0
-datatype[7].structtype[0].field[2]
-datatype[7].structtype[0].field[0].name intval
-datatype[7].structtype[0].field[0].id[0]
-datatype[7].structtype[0].field[0].datatype 0
-datatype[7].structtype[0].field[1].name stringval
-datatype[7].structtype[0].field[1].id[0]
-datatype[7].structtype[0].field[1].datatype 2
-datatype[7].documenttype[0]
-datatype[8].id 103000
-datatype[8].arraytype[1]
-datatype[8].arraytype[0].datatype 3000
-datatype[8].weightedsettype[0]
-datatype[8].structtype[0]
-datatype[8].documenttype[0]
-datatype[9].id 5000
-datatype[9].arraytype[0]
-datatype[9].weightedsettype[0]
-datatype[9].structtype[1]
-datatype[9].structtype[0].name news.header
-datatype[9].structtype[0].version 0
-datatype[9].structtype[0].field[13]
-datatype[9].structtype[0].field[0].name url
-datatype[9].structtype[0].field[0].id[0]
-datatype[9].structtype[0].field[0].datatype 10
-datatype[9].structtype[0].field[1].name title
-datatype[9].structtype[0].field[1].id[0]
-datatype[9].structtype[0].field[1].datatype 2
-datatype[9].structtype[0].field[2].name last_downloaded
-datatype[9].structtype[0].field[2].id[0]
-datatype[9].structtype[0].field[2].datatype 0
-datatype[9].structtype[0].field[3].name value_long
-datatype[9].structtype[0].field[3].id[0]
-datatype[9].structtype[0].field[3].datatype 4
-datatype[9].structtype[0].field[4].name stringarr
-datatype[9].structtype[0].field[4].id[0]
-datatype[9].structtype[0].field[4].datatype 1002
-datatype[9].structtype[0].field[5].name intarr
-datatype[9].structtype[0].field[5].id[0]
-datatype[9].structtype[0].field[5].datatype 1000
-datatype[9].structtype[0].field[6].name longarr
-datatype[9].structtype[0].field[6].id[0]
-datatype[9].structtype[0].field[6].datatype 1004
-datatype[9].structtype[0].field[7].name bytearr
-datatype[9].structtype[0].field[7].id[0]
-datatype[9].structtype[0].field[7].datatype 1016
-datatype[9].structtype[0].field[8].name floatarr
-datatype[9].structtype[0].field[8].id[0]
-datatype[9].structtype[0].field[8].datatype 1001
-datatype[9].structtype[0].field[9].name weightedsetint
-datatype[9].structtype[0].field[9].id[0]
-datatype[9].structtype[0].field[9].datatype 2001
-datatype[9].structtype[0].field[10].name weightedsetstring
-datatype[9].structtype[0].field[10].id[0]
-datatype[9].structtype[0].field[10].datatype 2002
-datatype[9].structtype[0].field[11].name mystruct
-datatype[9].structtype[0].field[11].id[0]
-datatype[9].structtype[0].field[11].datatype 3000
-datatype[9].structtype[0].field[12].name mystructarr
-datatype[9].structtype[0].field[12].id[0]
-datatype[9].structtype[0].field[12].datatype 103000
-datatype[9].documenttype[0]
-datatype[10].id 5001
-datatype[10].arraytype[0]
-datatype[10].weightedsettype[0]
-datatype[10].structtype[1]
-datatype[10].structtype[0].name news.body
-datatype[10].structtype[0].version 0
-datatype[10].structtype[0].field[0]
-datatype[10].documenttype[0]
-datatype[11].id 5002
-datatype[11].arraytype[0]
-datatype[11].weightedsettype[0]
-datatype[11].structtype[0]
-datatype[11].documenttype[1]
-datatype[11].documenttype[0].name news
-datatype[11].documenttype[0].version 0
-datatype[11].documenttype[0].inherits[0]
-datatype[11].documenttype[0].headerstruct 5000
-datatype[11].documenttype[0].bodystruct 5001
+doctype[2]
+doctype[0].name "document"
+doctype[0].idx 10000
+doctype[0].contentstruct 10001
+doctype[0].primitivetype[0].idx 10002
+doctype[0].primitivetype[0].internalid 0
+doctype[0].primitivetype[0].name "int"
+doctype[0].primitivetype[1].idx 10003
+doctype[0].primitivetype[1].internalid 5
+doctype[0].primitivetype[1].name "double"
+doctype[0].primitivetype[2].idx 10004
+doctype[0].primitivetype[2].internalid 2
+doctype[0].primitivetype[2].name "string"
+doctype[0].annotationtype[0].idx 10005
+doctype[0].annotationtype[0].name "proximity_break"
+doctype[0].annotationtype[0].internalid 8
+doctype[0].annotationtype[0].datatype 10003
+doctype[0].annotationtype[1].idx 10006
+doctype[0].annotationtype[1].name "normalized"
+doctype[0].annotationtype[1].internalid 4
+doctype[0].annotationtype[1].datatype 10004
+doctype[0].annotationtype[2].idx 10007
+doctype[0].annotationtype[2].name "reading"
+doctype[0].annotationtype[2].internalid 5
+doctype[0].annotationtype[2].datatype 10004
+doctype[0].annotationtype[3].idx 10008
+doctype[0].annotationtype[3].name "term"
+doctype[0].annotationtype[3].internalid 1
+doctype[0].annotationtype[3].datatype 10004
+doctype[0].annotationtype[4].idx 10009
+doctype[0].annotationtype[4].name "transformed"
+doctype[0].annotationtype[4].internalid 7
+doctype[0].annotationtype[4].datatype 10004
+doctype[0].annotationtype[5].idx 10010
+doctype[0].annotationtype[5].name "canonical"
+doctype[0].annotationtype[5].internalid 3
+doctype[0].annotationtype[5].datatype 10004
+doctype[0].annotationtype[6].idx 10011
+doctype[0].annotationtype[6].name "token_type"
+doctype[0].annotationtype[6].internalid 2
+doctype[0].annotationtype[6].datatype 10002
+doctype[0].annotationtype[7].idx 10012
+doctype[0].annotationtype[7].name "special_token"
+doctype[0].annotationtype[7].internalid 9
+doctype[0].annotationtype[8].idx 10013
+doctype[0].annotationtype[8].name "stem"
+doctype[0].annotationtype[8].internalid 6
+doctype[0].annotationtype[8].datatype 10004
+doctype[0].structtype[0].idx 10001
+doctype[0].structtype[0].name document.header
+doctype[1].name "news"
+doctype[1].idx 10014
+doctype[1].inherits[0].idx 10000
+doctype[1].contentstruct 10015
+doctype[1].primitivetype[0].idx 10018
+doctype[1].primitivetype[0].internalid 16
+doctype[1].primitivetype[0].name "byte"
+doctype[1].primitivetype[1].idx 10019
+doctype[1].primitivetype[1].internalid 1
+doctype[1].primitivetype[1].name "float"
+doctype[1].primitivetype[2].idx 10023
+doctype[1].primitivetype[2].internalid 4
+doctype[1].primitivetype[2].name "long"
+doctype[1].primitivetype[3].idx 10027
+doctype[1].primitivetype[3].internalid 10
+doctype[1].primitivetype[3].name "uri"
+doctype[1].arraytype[0].idx 10016
+doctype[1].arraytype[0].elementtype 10018
+doctype[1].arraytype[1].idx 10017
+doctype[1].arraytype[1].elementtype 10004
+doctype[1].arraytype[2].idx 10024
+doctype[1].arraytype[2].elementtype 10019
+doctype[1].arraytype[3].idx 10025
+doctype[1].arraytype[3].elementtype 10022
+doctype[1].arraytype[4].idx 10026
+doctype[1].arraytype[4].elementtype 10023
+doctype[1].arraytype[5].idx 10028
+doctype[1].arraytype[5].elementtype 10002
+doctype[1].wsettype[0].idx 10020
+doctype[1].wsettype[0].elementtype 10002
+doctype[1].wsettype[0].createifnonexistent false
+doctype[1].wsettype[0].removeifzero false
+doctype[1].wsettype[1].idx 10021
+doctype[1].wsettype[1].elementtype 10004
+doctype[1].wsettype[1].createifnonexistent false
+doctype[1].wsettype[1].removeifzero false
+doctype[1].structtype[0].idx 10022
+doctype[1].structtype[0].name news.mystruct
+doctype[1].structtype[0].field[0].name "intval"
+doctype[1].structtype[0].field[0].internalid 1364750338
+doctype[1].structtype[0].field[0].type 10002
+doctype[1].structtype[0].field[1].name "stringval"
+doctype[1].structtype[0].field[1].internalid 817678801
+doctype[1].structtype[0].field[1].type 10004
+doctype[1].structtype[1].idx 10015
+doctype[1].structtype[1].name news.header
+doctype[1].structtype[1].field[0].name "url"
+doctype[1].structtype[1].field[0].internalid 2095970198
+doctype[1].structtype[1].field[0].type 10027
+doctype[1].structtype[1].field[1].name "title"
+doctype[1].structtype[1].field[1].internalid 567626448
+doctype[1].structtype[1].field[1].type 10004
+doctype[1].structtype[1].field[2].name "last_downloaded"
+doctype[1].structtype[1].field[2].internalid 325799058
+doctype[1].structtype[1].field[2].type 10002
+doctype[1].structtype[1].field[3].name "value_long"
+doctype[1].structtype[1].field[3].internalid 1781968956
+doctype[1].structtype[1].field[3].type 10023
+doctype[1].structtype[1].field[4].name "stringarr"
+doctype[1].structtype[1].field[4].internalid 597150823
+doctype[1].structtype[1].field[4].type 10017
+doctype[1].structtype[1].field[5].name "intarr"
+doctype[1].structtype[1].field[5].internalid 734088490
+doctype[1].structtype[1].field[5].type 10028
+doctype[1].structtype[1].field[6].name "longarr"
+doctype[1].structtype[1].field[6].internalid 513043196
+doctype[1].structtype[1].field[6].type 10026
+doctype[1].structtype[1].field[7].name "bytearr"
+doctype[1].structtype[1].field[7].internalid 1074886246
+doctype[1].structtype[1].field[7].type 10016
+doctype[1].structtype[1].field[8].name "floatarr"
+doctype[1].structtype[1].field[8].internalid 1162816245
+doctype[1].structtype[1].field[8].type 10024
+doctype[1].structtype[1].field[9].name "weightedsetint"
+doctype[1].structtype[1].field[9].internalid 2030169258
+doctype[1].structtype[1].field[9].type 10020
+doctype[1].structtype[1].field[10].name "weightedsetstring"
+doctype[1].structtype[1].field[10].internalid 1527556142
+doctype[1].structtype[1].field[10].type 10021
+doctype[1].structtype[1].field[11].name "mystruct"
+doctype[1].structtype[1].field[11].internalid 1339255941
+doctype[1].structtype[1].field[11].type 10022
+doctype[1].structtype[1].field[12].name "mystructarr"
+doctype[1].structtype[1].field[12].internalid 1070021721
+doctype[1].structtype[1].field[12].type 10025