aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'config-model/src/test')
-rw-r--r--config-model/src/test/configmodel/types/documentmanager.cfg6
-rw-r--r--config-model/src/test/configmodel/types/documenttypes.cfg10
-rw-r--r--config-model/src/test/configmodel/types/documenttypes_with_doc_field.cfg22
-rw-r--r--config-model/src/test/configmodel/types/references/documentmanager_ref_to_self_type.cfg6
-rw-r--r--config-model/src/test/configmodel/types/references/documentmanager_refs_to_other_types.cfg18
-rw-r--r--config-model/src/test/configmodel/types/references/documentmanager_refs_to_same_type.cfg12
-rw-r--r--config-model/src/test/configmodel/types/references/documenttypes_ref_to_self_type.cfg10
-rw-r--r--config-model/src/test/configmodel/types/references/documenttypes_refs_to_other_types.cfg30
-rw-r--r--config-model/src/test/configmodel/types/references/documenttypes_refs_to_same_type.cfg20
-rw-r--r--config-model/src/test/derived/advanced/documentmanager.cfg14
-rw-r--r--config-model/src/test/derived/advanced/index-info.cfg12
-rw-r--r--config-model/src/test/derived/annotationsimplicitstruct/documentmanager.cfg6
-rw-r--r--config-model/src/test/derived/annotationsimplicitstruct/index-info.cfg4
-rw-r--r--config-model/src/test/derived/annotationsinheritance/documentmanager.cfg6
-rw-r--r--config-model/src/test/derived/annotationsinheritance/index-info.cfg4
-rw-r--r--config-model/src/test/derived/annotationsinheritance2/documentmanager.cfg6
-rw-r--r--config-model/src/test/derived/annotationsinheritance2/index-info.cfg4
-rw-r--r--config-model/src/test/derived/annotationspolymorphy/documentmanager.cfg6
-rw-r--r--config-model/src/test/derived/annotationspolymorphy/index-info.cfg4
-rw-r--r--config-model/src/test/derived/annotationsreference/documentmanager.cfg6
-rw-r--r--config-model/src/test/derived/annotationsreference/index-info.cfg4
-rw-r--r--config-model/src/test/derived/annotationssimple/documentmanager.cfg6
-rw-r--r--config-model/src/test/derived/annotationssimple/index-info.cfg4
-rw-r--r--config-model/src/test/derived/annotationsstruct/documentmanager.cfg6
-rw-r--r--config-model/src/test/derived/annotationsstructarray/documentmanager.cfg6
-rw-r--r--config-model/src/test/derived/array_of_struct_attribute/index-info.cfg4
-rw-r--r--config-model/src/test/derived/arrays/documentmanager.cfg6
-rw-r--r--config-model/src/test/derived/arrays/index-info.cfg4
-rw-r--r--config-model/src/test/derived/attributeprefetch/documentmanager.cfg6
-rw-r--r--config-model/src/test/derived/attributeprefetch/index-info.cfg4
-rw-r--r--config-model/src/test/derived/attributes/index-info.cfg4
-rw-r--r--config-model/src/test/derived/combinedattributeandindexsearch/index-info.cfg4
-rw-r--r--config-model/src/test/derived/complex/documentmanager.cfg6
-rw-r--r--config-model/src/test/derived/emptydefault/documentmanager.cfg6
-rw-r--r--config-model/src/test/derived/emptydefault/index-info.cfg4
-rw-r--r--config-model/src/test/derived/exactmatch/index-info.cfg4
-rw-r--r--config-model/src/test/derived/fieldset/index-info.cfg4
-rw-r--r--config-model/src/test/derived/id/documentmanager.cfg6
-rw-r--r--config-model/src/test/derived/id/index-info.cfg4
-rw-r--r--config-model/src/test/derived/imported_position_field/index-info.cfg6
-rw-r--r--config-model/src/test/derived/imported_position_field_summary/index-info.cfg12
-rw-r--r--config-model/src/test/derived/imported_struct_fields/index-info.cfg4
-rw-r--r--config-model/src/test/derived/importedfields/index-info.cfg4
-rw-r--r--config-model/src/test/derived/indexinfo_fieldsets/index-info.cfg4
-rw-r--r--config-model/src/test/derived/indexinfo_lowercase/index-info.cfg4
-rw-r--r--config-model/src/test/derived/indexschema/index-info.cfg12
-rw-r--r--config-model/src/test/derived/indexswitches/documentmanager.cfg6
-rw-r--r--config-model/src/test/derived/indexswitches/index-info.cfg4
-rw-r--r--config-model/src/test/derived/inheritance/documentmanager.cfg6
-rw-r--r--config-model/src/test/derived/inheritance/index-info.cfg4
-rw-r--r--config-model/src/test/derived/inheritance/mother/documentmanager.cfg16
-rw-r--r--config-model/src/test/derived/inheritdiamond/documentmanager.cfg16
-rw-r--r--config-model/src/test/derived/inheritfromgrandparent/documentmanager.cfg6
-rw-r--r--config-model/src/test/derived/inheritfromparent/documentmanager.cfg6
-rw-r--r--config-model/src/test/derived/inheritfromparent/documenttypes.cfg10
-rw-r--r--config-model/src/test/derived/inheritstruct/index-info.cfg4
-rw-r--r--config-model/src/test/derived/mail/documentmanager.cfg4
-rw-r--r--config-model/src/test/derived/mail/index-info.cfg4
-rw-r--r--config-model/src/test/derived/map_attribute/index-info.cfg4
-rw-r--r--config-model/src/test/derived/map_of_struct_attribute/index-info.cfg4
-rw-r--r--config-model/src/test/derived/music/index-info.cfg4
-rw-r--r--config-model/src/test/derived/neuralnet/neuralnet.sd238
-rw-r--r--config-model/src/test/derived/neuralnet/query-profiles/default.xml2
-rw-r--r--config-model/src/test/derived/neuralnet/query-profiles/types/DefaultQueryProfileType.xml8
-rw-r--r--config-model/src/test/derived/neuralnet/rank-profiles.cfg198
-rw-r--r--config-model/src/test/derived/newrank/index-info.cfg4
-rw-r--r--config-model/src/test/derived/position_array/index-info.cfg12
-rw-r--r--config-model/src/test/derived/position_attribute/index-info.cfg12
-rw-r--r--config-model/src/test/derived/position_extra/index-info.cfg12
-rw-r--r--config-model/src/test/derived/predicate_attribute/index-info.cfg4
-rw-r--r--config-model/src/test/derived/prefixexactattribute/documentmanager.cfg6
-rw-r--r--config-model/src/test/derived/prefixexactattribute/index-info.cfg4
-rw-r--r--config-model/src/test/derived/ranktypes/documentmanager.cfg6
-rw-r--r--config-model/src/test/derived/ranktypes/index-info.cfg4
-rw-r--r--config-model/src/test/derived/streamingstruct/documentmanager.cfg6
-rw-r--r--config-model/src/test/derived/structanyorder/documentmanager.cfg6
-rw-r--r--config-model/src/test/derived/structanyorder/index-info.cfg4
-rw-r--r--config-model/src/test/derived/tensor/documenttypes.cfg10
-rw-r--r--config-model/src/test/derived/twostreamingstructs/documentmanager.cfg8
-rw-r--r--config-model/src/test/derived/types/documentmanager.cfg6
-rw-r--r--config-model/src/test/derived/types/index-info.cfg4
-rw-r--r--config-model/src/test/examples/fieldoftypedocument.cfg12
-rwxr-xr-xconfig-model/src/test/examples/structresult.cfg6
-rw-r--r--config-model/src/test/integration/vespa/models/example.model2
-rw-r--r--config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java40
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/FieldOfTypeDocumentTestCase.java12
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/RankingExpressionLoopDetectionTestCase.java6
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/SearchImporterTestCase.java2
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/derived/AbstractExportingTestCase.java8
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/derived/NeuralNetTestCase.java16
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/processing/ImplicitSearchFieldsTestCase.java20
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/processing/ImplicitStructTypesTestCase.java2
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionTypeResolverTestCase.java4
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionWithTensorTestCase.java41
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionsTestCase.java7
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/processing/TensorFieldTestCase.java54
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/processing/TensorTransformTestCase.java4
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerTest.java5
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyModelTester.java6
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/ConfigValueChangeValidatorTest.java2
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/container/search/test/QueryProfileVariantsTestCase.java23
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/container/search/test/QueryProfilesTestCase.java57
102 files changed, 628 insertions, 697 deletions
diff --git a/config-model/src/test/configmodel/types/documentmanager.cfg b/config-model/src/test/configmodel/types/documentmanager.cfg
index a6a56bf65c1..631886181d7 100644
--- a/config-model/src/test/configmodel/types/documentmanager.cfg
+++ b/config-model/src/test/configmodel/types/documentmanager.cfg
@@ -214,12 +214,6 @@ datatype[26].structtype[0].field[26].detailedtype ""
datatype[26].structtype[0].field[27].name "other"
datatype[26].structtype[0].field[27].datatype 4
datatype[26].structtype[0].field[27].detailedtype ""
-datatype[26].structtype[0].field[28].name "rankfeatures"
-datatype[26].structtype[0].field[28].datatype 2
-datatype[26].structtype[0].field[28].detailedtype ""
-datatype[26].structtype[0].field[29].name "summaryfeatures"
-datatype[26].structtype[0].field[29].datatype 2
-datatype[26].structtype[0].field[29].detailedtype ""
datatype[27].id 348447225
datatype[27].structtype[0].name "types.body"
datatype[27].structtype[0].version 0
diff --git a/config-model/src/test/configmodel/types/documenttypes.cfg b/config-model/src/test/configmodel/types/documenttypes.cfg
index 7ff795bc33c..0a78e18dd40 100644
--- a/config-model/src/test/configmodel/types/documenttypes.cfg
+++ b/config-model/src/test/configmodel/types/documenttypes.cfg
@@ -585,16 +585,6 @@ documenttype[0].datatype[25].sstruct.field[27].id 2443357
documenttype[0].datatype[25].sstruct.field[27].id_v6 903806222
documenttype[0].datatype[25].sstruct.field[27].datatype 4
documenttype[0].datatype[25].sstruct.field[27].detailedtype ""
-documenttype[0].datatype[25].sstruct.field[28].name "rankfeatures"
-documenttype[0].datatype[25].sstruct.field[28].id 1883197392
-documenttype[0].datatype[25].sstruct.field[28].id_v6 699950698
-documenttype[0].datatype[25].sstruct.field[28].datatype 2
-documenttype[0].datatype[25].sstruct.field[28].detailedtype ""
-documenttype[0].datatype[25].sstruct.field[29].name "summaryfeatures"
-documenttype[0].datatype[25].sstruct.field[29].id 1840337115
-documenttype[0].datatype[25].sstruct.field[29].id_v6 1981648971
-documenttype[0].datatype[25].sstruct.field[29].datatype 2
-documenttype[0].datatype[25].sstruct.field[29].detailedtype ""
documenttype[0].datatype[26].id 348447225
documenttype[0].datatype[26].type STRUCT
documenttype[0].datatype[26].array.element.id 0
diff --git a/config-model/src/test/configmodel/types/documenttypes_with_doc_field.cfg b/config-model/src/test/configmodel/types/documenttypes_with_doc_field.cfg
index 3073dd55fba..a24fa03a834 100644
--- a/config-model/src/test/configmodel/types/documenttypes_with_doc_field.cfg
+++ b/config-model/src/test/configmodel/types/documenttypes_with_doc_field.cfg
@@ -20,16 +20,6 @@ documenttype[0].datatype[0].sstruct.compression.type NONE
documenttype[0].datatype[0].sstruct.compression.level 0
documenttype[0].datatype[0].sstruct.compression.threshold 95
documenttype[0].datatype[0].sstruct.compression.minsize 200
-documenttype[0].datatype[0].sstruct.field[0].name "rankfeatures"
-documenttype[0].datatype[0].sstruct.field[0].id 1883197392
-documenttype[0].datatype[0].sstruct.field[0].id_v6 699950698
-documenttype[0].datatype[0].sstruct.field[0].datatype 2
-documenttype[0].datatype[0].sstruct.field[0].detailedtype ""
-documenttype[0].datatype[0].sstruct.field[1].name "summaryfeatures"
-documenttype[0].datatype[0].sstruct.field[1].id 1840337115
-documenttype[0].datatype[0].sstruct.field[1].id_v6 1981648971
-documenttype[0].datatype[0].sstruct.field[1].datatype 2
-documenttype[0].datatype[0].sstruct.field[1].detailedtype ""
documenttype[0].datatype[1].id 549879017
documenttype[0].datatype[1].type STRUCT
documenttype[0].datatype[1].array.element.id 0
@@ -86,16 +76,6 @@ documenttype[1].datatype[1].sstruct.field[0].id 819293364
documenttype[1].datatype[1].sstruct.field[0].id_v6 1634907905
documenttype[1].datatype[1].sstruct.field[0].datatype -1368624373
documenttype[1].datatype[1].sstruct.field[0].detailedtype ""
-documenttype[1].datatype[1].sstruct.field[1].name "rankfeatures"
-documenttype[1].datatype[1].sstruct.field[1].id 1883197392
-documenttype[1].datatype[1].sstruct.field[1].id_v6 699950698
-documenttype[1].datatype[1].sstruct.field[1].datatype 2
-documenttype[1].datatype[1].sstruct.field[1].detailedtype ""
-documenttype[1].datatype[1].sstruct.field[2].name "summaryfeatures"
-documenttype[1].datatype[1].sstruct.field[2].id 1840337115
-documenttype[1].datatype[1].sstruct.field[2].id_v6 1981648971
-documenttype[1].datatype[1].sstruct.field[2].datatype 2
-documenttype[1].datatype[1].sstruct.field[2].detailedtype ""
documenttype[1].datatype[2].id 348447225
documenttype[1].datatype[2].type STRUCT
documenttype[1].datatype[2].array.element.id 0
@@ -111,4 +91,4 @@ documenttype[1].datatype[2].sstruct.compression.type NONE
documenttype[1].datatype[2].sstruct.compression.level 0
documenttype[1].datatype[2].sstruct.compression.threshold 95
documenttype[1].datatype[2].sstruct.compression.minsize 200
-documenttype[1].fieldsets{[document]}.fields[0] "doc_field" \ No newline at end of file
+documenttype[1].fieldsets{[document]}.fields[0] "doc_field"
diff --git a/config-model/src/test/configmodel/types/references/documentmanager_ref_to_self_type.cfg b/config-model/src/test/configmodel/types/references/documentmanager_ref_to_self_type.cfg
index 9bfba178915..e624ffdf7f5 100644
--- a/config-model/src/test/configmodel/types/references/documentmanager_ref_to_self_type.cfg
+++ b/config-model/src/test/configmodel/types/references/documentmanager_ref_to_self_type.cfg
@@ -24,12 +24,6 @@ datatype[].structtype[].compressminsize 800
datatype[].structtype[].field[].name "self_ref"
datatype[].structtype[].field[].datatype -1895788438
datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
datatype[].id -255288561
datatype[].structtype[].name "ad.body"
datatype[].structtype[].version 0
diff --git a/config-model/src/test/configmodel/types/references/documentmanager_refs_to_other_types.cfg b/config-model/src/test/configmodel/types/references/documentmanager_refs_to_other_types.cfg
index 81498f03139..90ddb8c9f8d 100644
--- a/config-model/src/test/configmodel/types/references/documentmanager_refs_to_other_types.cfg
+++ b/config-model/src/test/configmodel/types/references/documentmanager_refs_to_other_types.cfg
@@ -29,12 +29,6 @@ datatype[3].structtype[0].field[0].detailedtype ""
datatype[3].structtype[0].field[1].name "person_ref"
datatype[3].structtype[0].field[1].datatype 542332920
datatype[3].structtype[0].field[1].detailedtype ""
-datatype[3].structtype[0].field[2].name "rankfeatures"
-datatype[3].structtype[0].field[2].datatype 2
-datatype[3].structtype[0].field[2].detailedtype ""
-datatype[3].structtype[0].field[3].name "summaryfeatures"
-datatype[3].structtype[0].field[3].datatype 2
-datatype[3].structtype[0].field[3].detailedtype ""
datatype[4].id -255288561
datatype[4].structtype[0].name "ad.body"
datatype[4].structtype[0].version 0
@@ -58,12 +52,6 @@ datatype[6].structtype[0].compresstype NONE
datatype[6].structtype[0].compresslevel 0
datatype[6].structtype[0].compressthreshold 95
datatype[6].structtype[0].compressminsize 800
-datatype[6].structtype[0].field[0].name "rankfeatures"
-datatype[6].structtype[0].field[0].datatype 2
-datatype[6].structtype[0].field[0].detailedtype ""
-datatype[6].structtype[0].field[1].name "summaryfeatures"
-datatype[6].structtype[0].field[1].datatype 2
-datatype[6].structtype[0].field[1].detailedtype ""
datatype[7].id 1448849794
datatype[7].structtype[0].name "campaign.body"
datatype[7].structtype[0].version 0
@@ -85,12 +73,6 @@ datatype[9].structtype[0].compresstype NONE
datatype[9].structtype[0].compresslevel 0
datatype[9].structtype[0].compressthreshold 95
datatype[9].structtype[0].compressminsize 800
-datatype[9].structtype[0].field[0].name "rankfeatures"
-datatype[9].structtype[0].field[0].datatype 2
-datatype[9].structtype[0].field[0].detailedtype ""
-datatype[9].structtype[0].field[1].name "summaryfeatures"
-datatype[9].structtype[0].field[1].datatype 2
-datatype[9].structtype[0].field[1].detailedtype ""
datatype[10].id -2003767395
datatype[10].structtype[0].name "person.body"
datatype[10].structtype[0].version 0
diff --git a/config-model/src/test/configmodel/types/references/documentmanager_refs_to_same_type.cfg b/config-model/src/test/configmodel/types/references/documentmanager_refs_to_same_type.cfg
index 181da48eac4..1807adeb68d 100644
--- a/config-model/src/test/configmodel/types/references/documentmanager_refs_to_same_type.cfg
+++ b/config-model/src/test/configmodel/types/references/documentmanager_refs_to_same_type.cfg
@@ -27,12 +27,6 @@ datatype[2].structtype[0].field[0].detailedtype ""
datatype[2].structtype[0].field[1].name "other_campaign_ref"
datatype[2].structtype[0].field[1].datatype 595216861
datatype[2].structtype[0].field[1].detailedtype ""
-datatype[2].structtype[0].field[2].name "rankfeatures"
-datatype[2].structtype[0].field[2].datatype 2
-datatype[2].structtype[0].field[2].detailedtype ""
-datatype[2].structtype[0].field[3].name "summaryfeatures"
-datatype[2].structtype[0].field[3].datatype 2
-datatype[2].structtype[0].field[3].detailedtype ""
datatype[3].id -255288561
datatype[3].structtype[0].name "ad.body"
datatype[3].structtype[0].version 0
@@ -56,12 +50,6 @@ datatype[5].structtype[0].compresstype NONE
datatype[5].structtype[0].compresslevel 0
datatype[5].structtype[0].compressthreshold 95
datatype[5].structtype[0].compressminsize 800
-datatype[5].structtype[0].field[0].name "rankfeatures"
-datatype[5].structtype[0].field[0].datatype 2
-datatype[5].structtype[0].field[0].detailedtype ""
-datatype[5].structtype[0].field[1].name "summaryfeatures"
-datatype[5].structtype[0].field[1].datatype 2
-datatype[5].structtype[0].field[1].detailedtype ""
datatype[6].id 1448849794
datatype[6].structtype[0].name "campaign.body"
datatype[6].structtype[0].version 0
diff --git a/config-model/src/test/configmodel/types/references/documenttypes_ref_to_self_type.cfg b/config-model/src/test/configmodel/types/references/documenttypes_ref_to_self_type.cfg
index ca4553f989c..d07b16431be 100644
--- a/config-model/src/test/configmodel/types/references/documenttypes_ref_to_self_type.cfg
+++ b/config-model/src/test/configmodel/types/references/documenttypes_ref_to_self_type.cfg
@@ -25,16 +25,6 @@ documenttype[].datatype[].sstruct.field[].id 852207313
documenttype[].datatype[].sstruct.field[].id_v6 768042879
documenttype[].datatype[].sstruct.field[].datatype -1895788438
documenttype[].datatype[].sstruct.field[].detailedtype ""
-documenttype[].datatype[].sstruct.field[].name "rankfeatures"
-documenttype[].datatype[].sstruct.field[].id 1883197392
-documenttype[].datatype[].sstruct.field[].id_v6 699950698
-documenttype[].datatype[].sstruct.field[].datatype 2
-documenttype[].datatype[].sstruct.field[].detailedtype ""
-documenttype[].datatype[].sstruct.field[].name "summaryfeatures"
-documenttype[].datatype[].sstruct.field[].id 1840337115
-documenttype[].datatype[].sstruct.field[].id_v6 1981648971
-documenttype[].datatype[].sstruct.field[].datatype 2
-documenttype[].datatype[].sstruct.field[].detailedtype ""
documenttype[].datatype[].id -255288561
documenttype[].datatype[].type STRUCT
documenttype[].datatype[].array.element.id 0
diff --git a/config-model/src/test/configmodel/types/references/documenttypes_refs_to_other_types.cfg b/config-model/src/test/configmodel/types/references/documenttypes_refs_to_other_types.cfg
index 3492cd2632b..e3002074d04 100644
--- a/config-model/src/test/configmodel/types/references/documenttypes_refs_to_other_types.cfg
+++ b/config-model/src/test/configmodel/types/references/documenttypes_refs_to_other_types.cfg
@@ -30,16 +30,6 @@ documenttype[0].datatype[0].sstruct.field[1].id 100779805
documenttype[0].datatype[0].sstruct.field[1].id_v6 907695193
documenttype[0].datatype[0].sstruct.field[1].datatype 542332920
documenttype[0].datatype[0].sstruct.field[1].detailedtype ""
-documenttype[0].datatype[0].sstruct.field[2].name "rankfeatures"
-documenttype[0].datatype[0].sstruct.field[2].id 1883197392
-documenttype[0].datatype[0].sstruct.field[2].id_v6 699950698
-documenttype[0].datatype[0].sstruct.field[2].datatype 2
-documenttype[0].datatype[0].sstruct.field[2].detailedtype ""
-documenttype[0].datatype[0].sstruct.field[3].name "summaryfeatures"
-documenttype[0].datatype[0].sstruct.field[3].id 1840337115
-documenttype[0].datatype[0].sstruct.field[3].id_v6 1981648971
-documenttype[0].datatype[0].sstruct.field[3].datatype 2
-documenttype[0].datatype[0].sstruct.field[3].detailedtype ""
documenttype[0].datatype[1].id -255288561
documenttype[0].datatype[1].type STRUCT
documenttype[0].datatype[1].array.element.id 0
@@ -82,16 +72,6 @@ documenttype[1].datatype[0].sstruct.compression.type NONE
documenttype[1].datatype[0].sstruct.compression.level 0
documenttype[1].datatype[0].sstruct.compression.threshold 95
documenttype[1].datatype[0].sstruct.compression.minsize 200
-documenttype[1].datatype[0].sstruct.field[0].name "rankfeatures"
-documenttype[1].datatype[0].sstruct.field[0].id 1883197392
-documenttype[1].datatype[0].sstruct.field[0].id_v6 699950698
-documenttype[1].datatype[0].sstruct.field[0].datatype 2
-documenttype[1].datatype[0].sstruct.field[0].detailedtype ""
-documenttype[1].datatype[0].sstruct.field[1].name "summaryfeatures"
-documenttype[1].datatype[0].sstruct.field[1].id 1840337115
-documenttype[1].datatype[0].sstruct.field[1].id_v6 1981648971
-documenttype[1].datatype[0].sstruct.field[1].datatype 2
-documenttype[1].datatype[0].sstruct.field[1].detailedtype ""
documenttype[1].datatype[1].id 1448849794
documenttype[1].datatype[1].type STRUCT
documenttype[1].datatype[1].array.element.id 0
@@ -128,16 +108,6 @@ documenttype[2].datatype[0].sstruct.compression.type NONE
documenttype[2].datatype[0].sstruct.compression.level 0
documenttype[2].datatype[0].sstruct.compression.threshold 95
documenttype[2].datatype[0].sstruct.compression.minsize 200
-documenttype[2].datatype[0].sstruct.field[0].name "rankfeatures"
-documenttype[2].datatype[0].sstruct.field[0].id 1883197392
-documenttype[2].datatype[0].sstruct.field[0].id_v6 699950698
-documenttype[2].datatype[0].sstruct.field[0].datatype 2
-documenttype[2].datatype[0].sstruct.field[0].detailedtype ""
-documenttype[2].datatype[0].sstruct.field[1].name "summaryfeatures"
-documenttype[2].datatype[0].sstruct.field[1].id 1840337115
-documenttype[2].datatype[0].sstruct.field[1].id_v6 1981648971
-documenttype[2].datatype[0].sstruct.field[1].datatype 2
-documenttype[2].datatype[0].sstruct.field[1].detailedtype ""
documenttype[2].datatype[1].id -2003767395
documenttype[2].datatype[1].type STRUCT
documenttype[2].datatype[1].array.element.id 0
diff --git a/config-model/src/test/configmodel/types/references/documenttypes_refs_to_same_type.cfg b/config-model/src/test/configmodel/types/references/documenttypes_refs_to_same_type.cfg
index 40743213d9e..d2759d86715 100644
--- a/config-model/src/test/configmodel/types/references/documenttypes_refs_to_same_type.cfg
+++ b/config-model/src/test/configmodel/types/references/documenttypes_refs_to_same_type.cfg
@@ -30,16 +30,6 @@ documenttype[0].datatype[0].sstruct.field[1].id 874751172
documenttype[0].datatype[0].sstruct.field[1].id_v6 895644372
documenttype[0].datatype[0].sstruct.field[1].datatype 595216861
documenttype[0].datatype[0].sstruct.field[1].detailedtype ""
-documenttype[0].datatype[0].sstruct.field[2].name "rankfeatures"
-documenttype[0].datatype[0].sstruct.field[2].id 1883197392
-documenttype[0].datatype[0].sstruct.field[2].id_v6 699950698
-documenttype[0].datatype[0].sstruct.field[2].datatype 2
-documenttype[0].datatype[0].sstruct.field[2].detailedtype ""
-documenttype[0].datatype[0].sstruct.field[3].name "summaryfeatures"
-documenttype[0].datatype[0].sstruct.field[3].id 1840337115
-documenttype[0].datatype[0].sstruct.field[3].id_v6 1981648971
-documenttype[0].datatype[0].sstruct.field[3].datatype 2
-documenttype[0].datatype[0].sstruct.field[3].detailedtype ""
documenttype[0].datatype[1].id -255288561
documenttype[0].datatype[1].type STRUCT
documenttype[0].datatype[1].array.element.id 0
@@ -80,16 +70,6 @@ documenttype[1].datatype[0].sstruct.compression.type NONE
documenttype[1].datatype[0].sstruct.compression.level 0
documenttype[1].datatype[0].sstruct.compression.threshold 95
documenttype[1].datatype[0].sstruct.compression.minsize 200
-documenttype[1].datatype[0].sstruct.field[0].name "rankfeatures"
-documenttype[1].datatype[0].sstruct.field[0].id 1883197392
-documenttype[1].datatype[0].sstruct.field[0].id_v6 699950698
-documenttype[1].datatype[0].sstruct.field[0].datatype 2
-documenttype[1].datatype[0].sstruct.field[0].detailedtype ""
-documenttype[1].datatype[0].sstruct.field[1].name "summaryfeatures"
-documenttype[1].datatype[0].sstruct.field[1].id 1840337115
-documenttype[1].datatype[0].sstruct.field[1].id_v6 1981648971
-documenttype[1].datatype[0].sstruct.field[1].datatype 2
-documenttype[1].datatype[0].sstruct.field[1].detailedtype ""
documenttype[1].datatype[1].id 1448849794
documenttype[1].datatype[1].type STRUCT
documenttype[1].datatype[1].array.element.id 0
diff --git a/config-model/src/test/derived/advanced/documentmanager.cfg b/config-model/src/test/derived/advanced/documentmanager.cfg
index ee425d0d719..a0a59fbf7ac 100644
--- a/config-model/src/test/derived/advanced/documentmanager.cfg
+++ b/config-model/src/test/derived/advanced/documentmanager.cfg
@@ -12,8 +12,6 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "y"
datatype[].structtype[].field[].datatype 0
datatype[].structtype[].field[].detailedtype ""
-datatype[].id -1486737430
-datatype[].arraytype[].datatype 2
datatype[].id -1337915045
datatype[].structtype[].name "advanced.header"
datatype[].structtype[].version 0
@@ -66,21 +64,9 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "title_s"
datatype[].structtype[].field[].datatype 2
datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "location.position"
-datatype[].structtype[].field[].datatype -1486737430
-datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "location.distance"
-datatype[].structtype[].field[].datatype 0
-datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "mysummary"
datatype[].structtype[].field[].datatype 2
datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
datatype[].id -704605648
datatype[].structtype[].name "advanced.body"
datatype[].structtype[].version 0
diff --git a/config-model/src/test/derived/advanced/index-info.cfg b/config-model/src/test/derived/advanced/index-info.cfg
index 07b58814ea3..162a677be67 100644
--- a/config-model/src/test/derived/advanced/index-info.cfg
+++ b/config-model/src/test/derived/advanced/index-info.cfg
@@ -37,14 +37,6 @@ indexinfo[].command[].indexname "location"
indexinfo[].command[].command "default-position"
indexinfo[].command[].indexname "location"
indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "location.distance"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "location.distance"
-indexinfo[].command[].command "numerical"
-indexinfo[].command[].indexname "location.position"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "location.position"
-indexinfo[].command[].command "multivalue"
indexinfo[].command[].indexname "location_zcurve"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "location_zcurve"
@@ -79,10 +71,6 @@ indexinfo[].command[].indexname "product3"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "product3"
indexinfo[].command[].command "plain-tokens"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
indexinfo[].command[].indexname "title"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "title"
diff --git a/config-model/src/test/derived/annotationsimplicitstruct/documentmanager.cfg b/config-model/src/test/derived/annotationsimplicitstruct/documentmanager.cfg
index 4d81b2e56ba..fae6bd46ad7 100644
--- a/config-model/src/test/derived/annotationsimplicitstruct/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationsimplicitstruct/documentmanager.cfg
@@ -29,12 +29,6 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
datatype[].id -1503592268
datatype[].structtype[].name "annotationsimplicitstruct.body"
datatype[].structtype[].version 0
diff --git a/config-model/src/test/derived/annotationsimplicitstruct/index-info.cfg b/config-model/src/test/derived/annotationsimplicitstruct/index-info.cfg
index 90b9f1bd32c..f1e8326a3a6 100644
--- a/config-model/src/test/derived/annotationsimplicitstruct/index-info.cfg
+++ b/config-model/src/test/derived/annotationsimplicitstruct/index-info.cfg
@@ -3,7 +3,3 @@ indexinfo[].command[].indexname "sddocname"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "sddocname"
indexinfo[].command[].command "word"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/annotationsinheritance/documentmanager.cfg b/config-model/src/test/derived/annotationsinheritance/documentmanager.cfg
index 5dd3977e55e..21baed26dbf 100644
--- a/config-model/src/test/derived/annotationsinheritance/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationsinheritance/documentmanager.cfg
@@ -94,12 +94,6 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
datatype[].id 1181354668
datatype[].structtype[].name "annotationsinheritance.body"
datatype[].structtype[].version 0
diff --git a/config-model/src/test/derived/annotationsinheritance/index-info.cfg b/config-model/src/test/derived/annotationsinheritance/index-info.cfg
index 2c89b66f061..631bebd4468 100644
--- a/config-model/src/test/derived/annotationsinheritance/index-info.cfg
+++ b/config-model/src/test/derived/annotationsinheritance/index-info.cfg
@@ -3,7 +3,3 @@ indexinfo[].command[].indexname "sddocname"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "sddocname"
indexinfo[].command[].command "word"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/annotationsinheritance2/documentmanager.cfg b/config-model/src/test/derived/annotationsinheritance2/documentmanager.cfg
index 7ca4a4f0d6e..3ef71148f12 100644
--- a/config-model/src/test/derived/annotationsinheritance2/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationsinheritance2/documentmanager.cfg
@@ -57,12 +57,6 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
datatype[].id 1375438150
datatype[].structtype[].name "annotationsinheritance2.body"
datatype[].structtype[].version 0
diff --git a/config-model/src/test/derived/annotationsinheritance2/index-info.cfg b/config-model/src/test/derived/annotationsinheritance2/index-info.cfg
index 51527ae2ef9..804227cb88f 100644
--- a/config-model/src/test/derived/annotationsinheritance2/index-info.cfg
+++ b/config-model/src/test/derived/annotationsinheritance2/index-info.cfg
@@ -3,7 +3,3 @@ indexinfo[].command[].indexname "sddocname"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "sddocname"
indexinfo[].command[].command "word"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/annotationspolymorphy/documentmanager.cfg b/config-model/src/test/derived/annotationspolymorphy/documentmanager.cfg
index ffc3d4f439f..e9ec2cb3715 100644
--- a/config-model/src/test/derived/annotationspolymorphy/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationspolymorphy/documentmanager.cfg
@@ -31,12 +31,6 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
datatype[].id -570750959
datatype[].structtype[].name "annotationspolymorphy.body"
datatype[].structtype[].version 0
diff --git a/config-model/src/test/derived/annotationspolymorphy/index-info.cfg b/config-model/src/test/derived/annotationspolymorphy/index-info.cfg
index 056cc4dc570..be02d9ab314 100644
--- a/config-model/src/test/derived/annotationspolymorphy/index-info.cfg
+++ b/config-model/src/test/derived/annotationspolymorphy/index-info.cfg
@@ -3,7 +3,3 @@ indexinfo[].command[].indexname "sddocname"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "sddocname"
indexinfo[].command[].command "word"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/annotationsreference/documentmanager.cfg b/config-model/src/test/derived/annotationsreference/documentmanager.cfg
index c7d2d5c8753..6526f56a906 100644
--- a/config-model/src/test/derived/annotationsreference/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationsreference/documentmanager.cfg
@@ -65,12 +65,6 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
datatype[].id 1692909067
datatype[].structtype[].name "annotationsreference.body"
datatype[].structtype[].version 0
diff --git a/config-model/src/test/derived/annotationsreference/index-info.cfg b/config-model/src/test/derived/annotationsreference/index-info.cfg
index dafe0e292f1..ab99342f4c0 100644
--- a/config-model/src/test/derived/annotationsreference/index-info.cfg
+++ b/config-model/src/test/derived/annotationsreference/index-info.cfg
@@ -3,7 +3,3 @@ indexinfo[].command[].indexname "sddocname"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "sddocname"
indexinfo[].command[].command "word"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/annotationssimple/documentmanager.cfg b/config-model/src/test/derived/annotationssimple/documentmanager.cfg
index 7d00cc4fc1a..d32f0addceb 100644
--- a/config-model/src/test/derived/annotationssimple/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationssimple/documentmanager.cfg
@@ -19,12 +19,6 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
datatype[].id -682121732
datatype[].structtype[].name "annotationssimple.body"
datatype[].structtype[].version 0
diff --git a/config-model/src/test/derived/annotationssimple/index-info.cfg b/config-model/src/test/derived/annotationssimple/index-info.cfg
index d6dbcba4217..8177896c431 100644
--- a/config-model/src/test/derived/annotationssimple/index-info.cfg
+++ b/config-model/src/test/derived/annotationssimple/index-info.cfg
@@ -3,7 +3,3 @@ indexinfo[].command[].indexname "sddocname"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "sddocname"
indexinfo[].command[].command "word"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/annotationsstruct/documentmanager.cfg b/config-model/src/test/derived/annotationsstruct/documentmanager.cfg
index 8677019593c..c91b5c5e97e 100644
--- a/config-model/src/test/derived/annotationsstruct/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationsstruct/documentmanager.cfg
@@ -39,12 +39,6 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
datatype[].id -1180029319
datatype[].structtype[].name "annotationsstruct.body"
datatype[].structtype[].version 0
diff --git a/config-model/src/test/derived/annotationsstructarray/documentmanager.cfg b/config-model/src/test/derived/annotationsstructarray/documentmanager.cfg
index 28fa9f9dbc0..22b951b1b5d 100644
--- a/config-model/src/test/derived/annotationsstructarray/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationsstructarray/documentmanager.cfg
@@ -41,12 +41,6 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
datatype[].id 1616435858
datatype[].structtype[].name "annotationsstructarray.body"
datatype[].structtype[].version 0
diff --git a/config-model/src/test/derived/array_of_struct_attribute/index-info.cfg b/config-model/src/test/derived/array_of_struct_attribute/index-info.cfg
index d2989f44e04..99942d83f91 100644
--- a/config-model/src/test/derived/array_of_struct_attribute/index-info.cfg
+++ b/config-model/src/test/derived/array_of_struct_attribute/index-info.cfg
@@ -19,7 +19,3 @@ indexinfo[0].command[8].indexname "elem_array"
indexinfo[0].command[8].command "index"
indexinfo[0].command[9].indexname "elem_array"
indexinfo[0].command[9].command "multivalue"
-indexinfo[0].command[10].indexname "rankfeatures"
-indexinfo[0].command[10].command "index"
-indexinfo[0].command[11].indexname "summaryfeatures"
-indexinfo[0].command[11].command "index" \ No newline at end of file
diff --git a/config-model/src/test/derived/arrays/documentmanager.cfg b/config-model/src/test/derived/arrays/documentmanager.cfg
index 58bdb56a8dc..a2d8e2e78b4 100644
--- a/config-model/src/test/derived/arrays/documentmanager.cfg
+++ b/config-model/src/test/derived/arrays/documentmanager.cfg
@@ -42,12 +42,6 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "c"
datatype[].structtype[].field[].datatype 1328286588
datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
datatype[].id -1747896808
datatype[].structtype[].name "arrays.body"
datatype[].structtype[].version 0
diff --git a/config-model/src/test/derived/arrays/index-info.cfg b/config-model/src/test/derived/arrays/index-info.cfg
index b18f1eaf55f..e2a0ea9dedc 100644
--- a/config-model/src/test/derived/arrays/index-info.cfg
+++ b/config-model/src/test/derived/arrays/index-info.cfg
@@ -55,10 +55,6 @@ indexinfo[].command[].indexname "c"
indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "c"
indexinfo[].command[].command "plain-tokens"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
indexinfo[].command[].indexname "default"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "default"
diff --git a/config-model/src/test/derived/attributeprefetch/documentmanager.cfg b/config-model/src/test/derived/attributeprefetch/documentmanager.cfg
index 946003f3aa9..e27c72fbe50 100644
--- a/config-model/src/test/derived/attributeprefetch/documentmanager.cfg
+++ b/config-model/src/test/derived/attributeprefetch/documentmanager.cfg
@@ -109,12 +109,6 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "wsstring"
datatype[].structtype[].field[].datatype 1328286588
datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
datatype[].id 932425403
datatype[].structtype[].name "prefetch.body"
datatype[].structtype[].version 0
diff --git a/config-model/src/test/derived/attributeprefetch/index-info.cfg b/config-model/src/test/derived/attributeprefetch/index-info.cfg
index a54010e24df..a113e1f1b20 100644
--- a/config-model/src/test/derived/attributeprefetch/index-info.cfg
+++ b/config-model/src/test/derived/attributeprefetch/index-info.cfg
@@ -109,7 +109,3 @@ indexinfo[].command[].indexname "wsstring"
indexinfo[].command[].command "multivalue"
indexinfo[].command[].indexname "wsstring"
indexinfo[].command[].command "attribute"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/attributes/index-info.cfg b/config-model/src/test/derived/attributes/index-info.cfg
index df33a41b066..4b06e8dec36 100644
--- a/config-model/src/test/derived/attributes/index-info.cfg
+++ b/config-model/src/test/derived/attributes/index-info.cfg
@@ -133,10 +133,6 @@ indexinfo[].command[].indexname "a8_arr"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "a8_arr"
indexinfo[].command[].command "word"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
indexinfo[].command[].indexname "default"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "default"
diff --git a/config-model/src/test/derived/combinedattributeandindexsearch/index-info.cfg b/config-model/src/test/derived/combinedattributeandindexsearch/index-info.cfg
index d34b6557e3b..f88524ae220 100644
--- a/config-model/src/test/derived/combinedattributeandindexsearch/index-info.cfg
+++ b/config-model/src/test/derived/combinedattributeandindexsearch/index-info.cfg
@@ -31,10 +31,6 @@ indexinfo[].command[].indexname "attribute2"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "attribute2"
indexinfo[].command[].command "attribute"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
indexinfo[].command[].indexname "default"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "default"
diff --git a/config-model/src/test/derived/complex/documentmanager.cfg b/config-model/src/test/derived/complex/documentmanager.cfg
index cd4ea0b212a..42234e52211 100644
--- a/config-model/src/test/derived/complex/documentmanager.cfg
+++ b/config-model/src/test/derived/complex/documentmanager.cfg
@@ -98,12 +98,6 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "exact"
datatype[].structtype[].field[].datatype 2
datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
datatype[].id -1665926686
datatype[].structtype[].name "complex.body"
datatype[].structtype[].version 0
diff --git a/config-model/src/test/derived/emptydefault/documentmanager.cfg b/config-model/src/test/derived/emptydefault/documentmanager.cfg
index 20695652e07..b6cb2d06718 100644
--- a/config-model/src/test/derived/emptydefault/documentmanager.cfg
+++ b/config-model/src/test/derived/emptydefault/documentmanager.cfg
@@ -25,12 +25,6 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "two"
datatype[].structtype[].field[].datatype 2
datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
datatype[].id 311791038
datatype[].structtype[].name "emptydefault.body"
datatype[].structtype[].version 0
diff --git a/config-model/src/test/derived/emptydefault/index-info.cfg b/config-model/src/test/derived/emptydefault/index-info.cfg
index fbb4c3ebbea..a506ef52b52 100644
--- a/config-model/src/test/derived/emptydefault/index-info.cfg
+++ b/config-model/src/test/derived/emptydefault/index-info.cfg
@@ -23,7 +23,3 @@ indexinfo[].command[].indexname "two"
indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "two"
indexinfo[].command[].command "plain-tokens"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/exactmatch/index-info.cfg b/config-model/src/test/derived/exactmatch/index-info.cfg
index 55b6b2d8fcb..a17ff68642e 100644
--- a/config-model/src/test/derived/exactmatch/index-info.cfg
+++ b/config-model/src/test/derived/exactmatch/index-info.cfg
@@ -15,7 +15,3 @@ indexinfo[].command[].indexname "screweduserids"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "screweduserids"
indexinfo[].command[].command "exact *!!!*"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/fieldset/index-info.cfg b/config-model/src/test/derived/fieldset/index-info.cfg
index 47dcbe58805..25f37750cc9 100644
--- a/config-model/src/test/derived/fieldset/index-info.cfg
+++ b/config-model/src/test/derived/fieldset/index-info.cfg
@@ -19,10 +19,6 @@ indexinfo[].command[].indexname "word2"
indexinfo[].command[].command "multivalue"
indexinfo[].command[].indexname "word2"
indexinfo[].command[].command "word"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
indexinfo[].command[].indexname "words"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "words"
diff --git a/config-model/src/test/derived/id/documentmanager.cfg b/config-model/src/test/derived/id/documentmanager.cfg
index dc9ccf94830..5140abc65fa 100644
--- a/config-model/src/test/derived/id/documentmanager.cfg
+++ b/config-model/src/test/derived/id/documentmanager.cfg
@@ -22,12 +22,6 @@ datatype[].structtype[].compressminsize 800
datatype[].structtype[].field[].name "uri"
datatype[].structtype[].field[].datatype 10
datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
datatype[].id -1830022377
datatype[].structtype[].name "id.body"
datatype[].structtype[].version 0
diff --git a/config-model/src/test/derived/id/index-info.cfg b/config-model/src/test/derived/id/index-info.cfg
index fe066c7d147..ca8daef9848 100644
--- a/config-model/src/test/derived/id/index-info.cfg
+++ b/config-model/src/test/derived/id/index-info.cfg
@@ -27,10 +27,6 @@ indexinfo[].command[].indexname "uri.hostname"
indexinfo[].command[].command "urlhost"
indexinfo[].command[].indexname "uri.hostname"
indexinfo[].command[].command "lowercase"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
indexinfo[].command[].indexname "uri.fragment"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "uri.host"
diff --git a/config-model/src/test/derived/imported_position_field/index-info.cfg b/config-model/src/test/derived/imported_position_field/index-info.cfg
index d8fffbdfb2d..4d1f76c9b4c 100644
--- a/config-model/src/test/derived/imported_position_field/index-info.cfg
+++ b/config-model/src/test/derived/imported_position_field/index-info.cfg
@@ -9,10 +9,6 @@ indexinfo[0].command[3].indexname "parent_ref"
indexinfo[0].command[3].command "attribute"
indexinfo[0].command[4].indexname "parent_ref"
indexinfo[0].command[4].command "word"
-indexinfo[0].command[5].indexname "rankfeatures"
-indexinfo[0].command[5].command "index"
-indexinfo[0].command[6].indexname "summaryfeatures"
-indexinfo[0].command[6].command "index"
indexinfo[0].command[7].indexname "my_pos_zcurve"
indexinfo[0].command[7].command "index"
indexinfo[0].command[8].indexname "my_pos_zcurve"
@@ -24,4 +20,4 @@ indexinfo[0].command[10].command "numerical"
indexinfo[0].command[11].indexname "my_pos"
indexinfo[0].command[11].command "default-position"
indexinfo[0].command[12].indexname "my_pos"
-indexinfo[0].command[12].command "index" \ No newline at end of file
+indexinfo[0].command[12].command "index"
diff --git a/config-model/src/test/derived/imported_position_field_summary/index-info.cfg b/config-model/src/test/derived/imported_position_field_summary/index-info.cfg
index 4c8dafdf59b..bf7297851dd 100644
--- a/config-model/src/test/derived/imported_position_field_summary/index-info.cfg
+++ b/config-model/src/test/derived/imported_position_field_summary/index-info.cfg
@@ -9,18 +9,6 @@ indexinfo[].command[].indexname "parent_ref"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "parent_ref"
indexinfo[].command[].command "word"
-indexinfo[].command[].indexname "my_pos.distance"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "my_pos.distance"
-indexinfo[].command[].command "numerical"
-indexinfo[].command[].indexname "my_pos.position"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "my_pos.position"
-indexinfo[].command[].command "multivalue"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
indexinfo[].command[].indexname "my_pos_zcurve"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "my_pos_zcurve"
diff --git a/config-model/src/test/derived/imported_struct_fields/index-info.cfg b/config-model/src/test/derived/imported_struct_fields/index-info.cfg
index 8d7f4d4bece..3723b06fcbe 100644
--- a/config-model/src/test/derived/imported_struct_fields/index-info.cfg
+++ b/config-model/src/test/derived/imported_struct_fields/index-info.cfg
@@ -11,10 +11,6 @@ indexinfo[].command[].indexname "parent_ref"
indexinfo[].command[].command "word"
indexinfo[].command[].indexname "documentid"
indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
indexinfo[].command[].indexname "my_elem_array.name"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "my_elem_array.name"
diff --git a/config-model/src/test/derived/importedfields/index-info.cfg b/config-model/src/test/derived/importedfields/index-info.cfg
index ef11247191f..bc688f48fc4 100644
--- a/config-model/src/test/derived/importedfields/index-info.cfg
+++ b/config-model/src/test/derived/importedfields/index-info.cfg
@@ -21,10 +21,6 @@ indexinfo[].command[].indexname "b_ref_with_summary"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "b_ref_with_summary"
indexinfo[].command[].command "word"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
indexinfo[].command[].indexname "my_int_field"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "my_int_field"
diff --git a/config-model/src/test/derived/indexinfo_fieldsets/index-info.cfg b/config-model/src/test/derived/indexinfo_fieldsets/index-info.cfg
index 3e0bad5e172..15d50762134 100644
--- a/config-model/src/test/derived/indexinfo_fieldsets/index-info.cfg
+++ b/config-model/src/test/derived/indexinfo_fieldsets/index-info.cfg
@@ -47,10 +47,6 @@ indexinfo[].command[].indexname "exact2"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "exact2"
indexinfo[].command[].command "exact @@"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
indexinfo[].command[].indexname "nostemming"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "nostemming"
diff --git a/config-model/src/test/derived/indexinfo_lowercase/index-info.cfg b/config-model/src/test/derived/indexinfo_lowercase/index-info.cfg
index d397e37804c..f5815627d2b 100644
--- a/config-model/src/test/derived/indexinfo_lowercase/index-info.cfg
+++ b/config-model/src/test/derived/indexinfo_lowercase/index-info.cfg
@@ -49,10 +49,6 @@ indexinfo[].command[].indexname "lc_summary"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "lc_summary"
indexinfo[].command[].command "lowercase"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
indexinfo[].command[].indexname "lc_set1"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "lc_set1"
diff --git a/config-model/src/test/derived/indexschema/index-info.cfg b/config-model/src/test/derived/indexschema/index-info.cfg
index 3a420e12a24..46c2c3fc307 100644
--- a/config-model/src/test/derived/indexschema/index-info.cfg
+++ b/config-model/src/test/derived/indexschema/index-info.cfg
@@ -219,14 +219,6 @@ indexinfo[].command[].indexname "f10"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "f10"
indexinfo[].command[].command "multivalue"
-indexinfo[].command[].indexname "pos.distance"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "pos.distance"
-indexinfo[].command[].command "numerical"
-indexinfo[].command[].indexname "pos.position"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "pos.position"
-indexinfo[].command[].command "multivalue"
indexinfo[].command[].indexname "pos_zcurve"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "pos_zcurve"
@@ -235,8 +227,6 @@ indexinfo[].command[].indexname "pos_zcurve"
indexinfo[].command[].command "fast-search"
indexinfo[].command[].indexname "pos_zcurve"
indexinfo[].command[].command "numerical"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
indexinfo[].command[].indexname "sd_literal"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "sd_literal"
@@ -263,8 +253,6 @@ indexinfo[].command[].indexname "sh.query"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "sh.scheme"
indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
indexinfo[].command[].indexname "sa"
indexinfo[].command[].command "dynteaser"
indexinfo[].command[].indexname "fs1"
diff --git a/config-model/src/test/derived/indexswitches/documentmanager.cfg b/config-model/src/test/derived/indexswitches/documentmanager.cfg
index 64d429cb2de..78dbdb7ae74 100644
--- a/config-model/src/test/derived/indexswitches/documentmanager.cfg
+++ b/config-model/src/test/derived/indexswitches/documentmanager.cfg
@@ -31,12 +31,6 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "source"
datatype[].structtype[].field[].datatype 2
datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
datatype[].id -1892617122
datatype[].structtype[].name "indexswitches.body"
datatype[].structtype[].version 0
diff --git a/config-model/src/test/derived/indexswitches/index-info.cfg b/config-model/src/test/derived/indexswitches/index-info.cfg
index 3af5f311d8b..1ba38ad554b 100644
--- a/config-model/src/test/derived/indexswitches/index-info.cfg
+++ b/config-model/src/test/derived/indexswitches/index-info.cfg
@@ -25,8 +25,6 @@ indexinfo[].command[].indexname "descr"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "source_src"
indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
indexinfo[].command[].indexname "source"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "source"
@@ -35,8 +33,6 @@ indexinfo[].command[].indexname "source"
indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "source"
indexinfo[].command[].command "plain-tokens"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
indexinfo[].command[].indexname "default"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "default"
diff --git a/config-model/src/test/derived/inheritance/documentmanager.cfg b/config-model/src/test/derived/inheritance/documentmanager.cfg
index 47f697c80f7..b15ef13ed3f 100644
--- a/config-model/src/test/derived/inheritance/documentmanager.cfg
+++ b/config-model/src/test/derived/inheritance/documentmanager.cfg
@@ -25,12 +25,6 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "overridden"
datatype[].structtype[].field[].datatype 0
datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
datatype[].id 978262812
datatype[].structtype[].name "grandparent.body"
datatype[].structtype[].version 0
diff --git a/config-model/src/test/derived/inheritance/index-info.cfg b/config-model/src/test/derived/inheritance/index-info.cfg
index e0be7b7d71f..ff3aad45906 100644
--- a/config-model/src/test/derived/inheritance/index-info.cfg
+++ b/config-model/src/test/derived/inheritance/index-info.cfg
@@ -37,7 +37,3 @@ indexinfo[].command[].indexname "onlychild"
indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "onlychild"
indexinfo[].command[].command "plain-tokens"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/inheritance/mother/documentmanager.cfg b/config-model/src/test/derived/inheritance/mother/documentmanager.cfg
index 7ecd9be403c..71da9265521 100644
--- a/config-model/src/test/derived/inheritance/mother/documentmanager.cfg
+++ b/config-model/src/test/derived/inheritance/mother/documentmanager.cfg
@@ -48,10 +48,6 @@ datatype[-1962244686].structtype[single].field[onlygrandparent].datatype 0
datatype[-1962244686].structtype[single].field[onlygrandparent].name "onlygrandparent"
datatype[-1962244686].structtype[single].field[overridden].datatype 0
datatype[-1962244686].structtype[single].field[overridden].name "overridden"
-datatype[-1962244686].structtype[single].field[rankfeatures].datatype 147991900
-datatype[-1962244686].structtype[single].field[rankfeatures].name "rankfeatures"
-datatype[-1962244686].structtype[single].field[summaryfeatures].datatype 147991900
-datatype[-1962244686].structtype[single].field[summaryfeatures].name "summaryfeatures"
datatype[-1989003153].id -1989003153
datatype[-1989003153].structtype[single].name "mother.body"
datatype[-1989003153].structtype[single].version 0
@@ -68,10 +64,6 @@ datatype[-205818510].structtype[single].field[onlymother].datatype 2
datatype[-205818510].structtype[single].field[onlymother].name "onlymother"
datatype[-205818510].structtype[single].field[overridden].datatype 0
datatype[-205818510].structtype[single].field[overridden].name "overridden"
-datatype[-205818510].structtype[single].field[rankfeatures].datatype 147991900
-datatype[-205818510].structtype[single].field[rankfeatures].name "rankfeatures"
-datatype[-205818510].structtype[single].field[summaryfeatures].datatype 147991900
-datatype[-205818510].structtype[single].field[summaryfeatures].name "summaryfeatures"
datatype[-384824039].id -384824039
datatype[-384824039].structtype[single].name "mother_search.header"
datatype[-384824039].structtype[single].version 0
@@ -81,10 +73,6 @@ datatype[-384824039].structtype[single].field[onlymother].datatype 2
datatype[-384824039].structtype[single].field[onlymother].name "onlymother"
datatype[-384824039].structtype[single].field[overridden].datatype 0
datatype[-384824039].structtype[single].field[overridden].name "overridden"
-datatype[-384824039].structtype[single].field[rankfeatures].datatype 147991900
-datatype[-384824039].structtype[single].field[rankfeatures].name "rankfeatures"
-datatype[-384824039].structtype[single].field[summaryfeatures].datatype 147991900
-datatype[-384824039].structtype[single].field[summaryfeatures].name "summaryfeatures"
datatype[-52742073].id -52742073
datatype[-52742073].structtype[single].name "father_search.body"
datatype[-52742073].structtype[single].version 0
@@ -119,10 +107,6 @@ datatype[1530060044].structtype[single].field[onlygrandparent].datatype 0
datatype[1530060044].structtype[single].field[onlygrandparent].name "onlygrandparent"
datatype[1530060044].structtype[single].field[overridden].datatype 0
datatype[1530060044].structtype[single].field[overridden].name "overridden"
-datatype[1530060044].structtype[single].field[rankfeatures].datatype 147991900
-datatype[1530060044].structtype[single].field[rankfeatures].name "rankfeatures"
-datatype[1530060044].structtype[single].field[summaryfeatures].datatype 147991900
-datatype[1530060044].structtype[single].field[summaryfeatures].name "summaryfeatures"
datatype[1845861921].id 1845861921
datatype[1845861921].structtype[single].name "grandparent_search.body"
datatype[1845861921].structtype[single].version 0
diff --git a/config-model/src/test/derived/inheritdiamond/documentmanager.cfg b/config-model/src/test/derived/inheritdiamond/documentmanager.cfg
index 36c1098c119..c3ead0d31f8 100644
--- a/config-model/src/test/derived/inheritdiamond/documentmanager.cfg
+++ b/config-model/src/test/derived/inheritdiamond/documentmanager.cfg
@@ -66,10 +66,6 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
datatype[].id -52742073
datatype[].structtype[].name "father_search.body"
datatype[].structtype[].version 0
@@ -98,10 +94,6 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
datatype[].id 1561776723
datatype[].structtype[].name "mother_struct"
datatype[].structtype[].version 0
@@ -148,10 +140,6 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
datatype[].id -1467672569
datatype[].structtype[].name "child_search.body"
datatype[].structtype[].version 0
@@ -212,10 +200,6 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
datatype[].id 328953555
datatype[].documenttype[].name "grandparent_search"
datatype[].documenttype[].version 0
diff --git a/config-model/src/test/derived/inheritfromgrandparent/documentmanager.cfg b/config-model/src/test/derived/inheritfromgrandparent/documentmanager.cfg
index 8d5bc57ef31..8e2ee3bbc4e 100644
--- a/config-model/src/test/derived/inheritfromgrandparent/documentmanager.cfg
+++ b/config-model/src/test/derived/inheritfromgrandparent/documentmanager.cfg
@@ -29,12 +29,6 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
datatype[].id 978262812
datatype[].structtype[].name "grandparent.body"
datatype[].structtype[].version 0
diff --git a/config-model/src/test/derived/inheritfromparent/documentmanager.cfg b/config-model/src/test/derived/inheritfromparent/documentmanager.cfg
index 154b6524c33..7c65a7b72f3 100644
--- a/config-model/src/test/derived/inheritfromparent/documentmanager.cfg
+++ b/config-model/src/test/derived/inheritfromparent/documentmanager.cfg
@@ -35,12 +35,6 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "weight"
datatype[].structtype[].field[].datatype 1
datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
datatype[].id -389494616
datatype[].structtype[].name "parent.body"
datatype[].structtype[].version 0
diff --git a/config-model/src/test/derived/inheritfromparent/documenttypes.cfg b/config-model/src/test/derived/inheritfromparent/documenttypes.cfg
index 70c4bc4297c..a5ea3dbf8ed 100644
--- a/config-model/src/test/derived/inheritfromparent/documenttypes.cfg
+++ b/config-model/src/test/derived/inheritfromparent/documenttypes.cfg
@@ -50,16 +50,6 @@ documenttype[].datatype[].sstruct.field[].id 1001392207
documenttype[].datatype[].sstruct.field[].id_v6 1329620545
documenttype[].datatype[].sstruct.field[].datatype 1
documenttype[].datatype[].sstruct.field[].detailedtype ""
-documenttype[].datatype[].sstruct.field[].name "rankfeatures"
-documenttype[].datatype[].sstruct.field[].id 1883197392
-documenttype[].datatype[].sstruct.field[].id_v6 699950698
-documenttype[].datatype[].sstruct.field[].datatype 2
-documenttype[].datatype[].sstruct.field[].detailedtype ""
-documenttype[].datatype[].sstruct.field[].name "summaryfeatures"
-documenttype[].datatype[].sstruct.field[].id 1840337115
-documenttype[].datatype[].sstruct.field[].id_v6 1981648971
-documenttype[].datatype[].sstruct.field[].datatype 2
-documenttype[].datatype[].sstruct.field[].detailedtype ""
documenttype[].datatype[].id -389494616
documenttype[].datatype[].type STRUCT
documenttype[].datatype[].array.element.id 0
diff --git a/config-model/src/test/derived/inheritstruct/index-info.cfg b/config-model/src/test/derived/inheritstruct/index-info.cfg
index e0f3fdb5dde..2d5b832a07f 100644
--- a/config-model/src/test/derived/inheritstruct/index-info.cfg
+++ b/config-model/src/test/derived/inheritstruct/index-info.cfg
@@ -19,7 +19,3 @@ indexinfo[].command[].indexname "child_struct_field"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "child_struct_field"
indexinfo[].command[].command "plain-tokens"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/mail/documentmanager.cfg b/config-model/src/test/derived/mail/documentmanager.cfg
index accc0ba9578..2fa9e5923c9 100644
--- a/config-model/src/test/derived/mail/documentmanager.cfg
+++ b/config-model/src/test/derived/mail/documentmanager.cfg
@@ -37,10 +37,6 @@ datatype[].structtype[].field[].name "subject"
datatype[].structtype[].field[].datatype 2
datatype[].structtype[].field[].name "snippet"
datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
datatype[].id -1206550296
datatype[].arraytype[].datatype 12
datatype[].id -953584901
diff --git a/config-model/src/test/derived/mail/index-info.cfg b/config-model/src/test/derived/mail/index-info.cfg
index 0d45f7c120f..39b12b64285 100644
--- a/config-model/src/test/derived/mail/index-info.cfg
+++ b/config-model/src/test/derived/mail/index-info.cfg
@@ -145,11 +145,7 @@ indexinfo[].command[].indexname "attachments"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "attachments"
indexinfo[].command[].command "multivalue"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
indexinfo[].command[].indexname "snippet"
indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
indexinfo[].command[].indexname "snippet"
indexinfo[].command[].command "dynteaser"
diff --git a/config-model/src/test/derived/map_attribute/index-info.cfg b/config-model/src/test/derived/map_attribute/index-info.cfg
index 8d9f6a2a36f..1d44648ef6f 100644
--- a/config-model/src/test/derived/map_attribute/index-info.cfg
+++ b/config-model/src/test/derived/map_attribute/index-info.cfg
@@ -31,7 +31,3 @@ indexinfo[0].command[14].indexname "int_map"
indexinfo[0].command[14].command "index"
indexinfo[0].command[15].indexname "int_map"
indexinfo[0].command[15].command "multivalue"
-indexinfo[0].command[16].indexname "rankfeatures"
-indexinfo[0].command[16].command "index"
-indexinfo[0].command[17].indexname "summaryfeatures"
-indexinfo[0].command[17].command "index" \ No newline at end of file
diff --git a/config-model/src/test/derived/map_of_struct_attribute/index-info.cfg b/config-model/src/test/derived/map_of_struct_attribute/index-info.cfg
index 55de436716c..659bd86b9f0 100644
--- a/config-model/src/test/derived/map_of_struct_attribute/index-info.cfg
+++ b/config-model/src/test/derived/map_of_struct_attribute/index-info.cfg
@@ -47,7 +47,3 @@ indexinfo[0].command[22].indexname "int_elem_map"
indexinfo[0].command[22].command "index"
indexinfo[0].command[23].indexname "int_elem_map"
indexinfo[0].command[23].command "multivalue"
-indexinfo[0].command[24].indexname "rankfeatures"
-indexinfo[0].command[24].command "index"
-indexinfo[0].command[25].indexname "summaryfeatures"
-indexinfo[0].command[25].command "index" \ No newline at end of file
diff --git a/config-model/src/test/derived/music/index-info.cfg b/config-model/src/test/derived/music/index-info.cfg
index 5d4cb8133e5..9e26df5fbea 100644
--- a/config-model/src/test/derived/music/index-info.cfg
+++ b/config-model/src/test/derived/music/index-info.cfg
@@ -209,10 +209,6 @@ indexinfo[].command[].indexname "metalvalue_arr"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "metalvalue_arr"
indexinfo[].command[].command "word"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
indexinfo[].command[].indexname "bgndata"
indexinfo[].command[].command "dynteaser"
indexinfo[].command[].indexname "ew"
diff --git a/config-model/src/test/derived/neuralnet/neuralnet.sd b/config-model/src/test/derived/neuralnet/neuralnet.sd
new file mode 100644
index 00000000000..f916b35cb75
--- /dev/null
+++ b/config-model/src/test/derived/neuralnet/neuralnet.sd
@@ -0,0 +1,238 @@
+search neuralnet {
+
+ document neuralnet {
+
+ field pinned type int {
+ indexing: attribute
+ }
+
+ field createdAt type long {
+ indexing: attribute
+ }
+
+ field updatedAt type long {
+ indexing: attribute
+ }
+
+ field uvCount type int {
+ indexing: attribute
+ }
+
+ field dvCount type int {
+ indexing: attribute
+ }
+
+ field aVoteCount type int {
+ indexing: attribute
+ }
+
+ field rCount type int {
+ indexing: attribute
+ }
+
+ field uniqueRACount type int {
+ indexing: attribute
+ }
+
+ field rTo type string {
+ indexing: attribute
+ }
+
+ field markedAsAAt type long {
+ indexing: attribute
+ }
+
+ field normalizedTextScore type float {
+ indexing: attribute
+ }
+
+ field t type float {
+ indexing: attribute
+ }
+
+ field relevance type float {
+ indexing: attribute
+ }
+
+ field normalizedCS type float {
+ indexing: attribute
+ }
+
+ field laAt type long {
+ indexing: attribute
+ }
+
+ field hsScore type double {
+ indexing: attribute
+ }
+
+ }
+
+ rank-profile defaultRankProfile inherits default {
+
+ constants {
+ maxSignedSixtyFourBitInteger: 9223372036854775807
+ }
+
+ macro log10_1p(x) {
+ expression: log10(x+1)
+ }
+
+ macro textScoreToUse() {
+ expression: if(isNan(attribute(normalizedTextScore)) == 1, 0, attribute(normalizedTextScore))
+ }
+
+ macro rCountToUse() {
+ expression: if(isNan(attribute(rCount)) == 1, 0, if(attribute(rCount) < 0, 0, attribute(rCount)))
+ }
+
+ macro uniqueRCountToUse() {
+ expression: if(isNan(attribute(uniqueRCount)) == 1, 0, if(attribute(uniqueRACount) < 0, 0, attribute(uniqueRACount)))
+ }
+
+ macro uvCountToUse() {
+ expression: if(isNan(attribute(uvCount)) == 1, 0, if(attribute(uvCount) < 0, 0, attribute(uvCount)))
+ }
+
+ macro dvCountToUse() {
+ expression: if(isNan(attribute(dvCount)) == 1, 0, if(attribute(dvCount) < 0, 0, attribute(dvCount)))
+ }
+
+ macro aVoteCountToUse() {
+ expression: if(isNan(attribute(aVoteCount)) == 1, 0, if(attribute(aVoteCount) < 0, 0, attribute(aVoteCount)))
+ }
+
+ macro totalPR() {
+ expression: uniqueRCountToUse + query(voteToRRatio) * (uvCountToUse - dvCountToUse) - aVoteCountToUse
+ }
+
+ macro totalvote() {
+ expression: query(reportaweight) * aVoteCountToUse + dvCountToUse + query(rweight) * uniqueRCountToUse + uvCountToUse
+ }
+
+ macro phat() {
+ expression: if (totalvote == 0, 0, ( query(rweight) * uniqueRCountToUse + uvCountToUse) / totalvote)
+ }
+
+ macro nCScoreToUse() {
+ expression: if (totalPR > 0, log10(totalPR), 0)
+ }
+
+ macro hsScoreToUse() {
+ expression: attribute(hsScore)
+ }
+
+ macro tScoreToUse() {
+ expression: if (isNan(attribute(t)) == 1, 0.6, attribute(t))
+ }
+
+ macro relevanceScoreToUse() {
+ expression: if (isNan(attribute(relevance)) == 1, 0.254, attribute(relevance))
+ }
+
+ macro freshnessToUse() {
+ expression: if (freshness(createdAt).logscale < 0.01, 0.01, freshness(createdAt).logscale)
+ }
+
+ macro rankedAt() {
+ expression: now
+ }
+
+ macro createdAtToUse() {
+ expression: if(isNan(attribute(createdAt)) == 1, rankedAt, attribute(createdAt))
+ }
+
+ macro laAtToUse() {
+ expression: if(isNan(attribute(laAt)) == 1, attribute(createdAt), attribute(laAt))
+ }
+
+ macro markedAsAAtToUse() {
+ expression: if(isNan(attribute(markedAsAAt)) == 1, maxSignedSixtyFourBitInteger, attribute(markedAsAAt))
+ }
+
+ macro tdToUse() {
+ expression: pow(2, 0 - ((rankedAt - createdAtToUse) / query(decay)))
+ }
+
+ macro commentOverallScore() {
+ expression: query(textweight) * textScoreToUse + query(communityweight) * nCScoreToUse
+ }
+
+ macro pinScore() {
+ expression: if(isNan(attribute(pinned)) == 1, 0, query(pinweight) * attribute(pinned))
+ }
+
+ macro freshnessRank() {
+ expression: nativeRank + freshness(createdAt)
+ }
+
+ first-phase {
+ expression: nativeRank
+ }
+
+ }
+
+ rank-profile neuralNetworkProfile inherits defaultRankProfile {
+ macro nn_input() {
+ expression {
+ concat(log10_1p(aVoteCountToUse),
+ concat(log10_1p(dvCountToUse),
+ concat(log10_1p(uniqueRCountToUse),
+ concat(log10_1p(uvCountToUse),
+ concat(phat,
+ concat(log10_1p(totalvote),
+ concat(hsScoreToUse,
+ concat(tdToUse,
+ tScoreToUse, x), x), x), x), x), x), x), x)
+ }
+ }
+
+ macro get_model_weights(field) {
+ expression: if(query(field) == 0, constant(field), query(field))
+ }
+
+ macro layer_0() {
+ expression: elu(xw_plus_b(nn_input, get_model_weights(W_0), get_model_weights(b_0), x))
+ }
+ macro layer_1() {
+ expression: elu(xw_plus_b(layer_0, get_model_weights(W_1), get_model_weights(b_1), hidden))
+ }
+ macro layer_out() {
+ expression: sum(xw_plus_b(layer_1, get_model_weights(W_out), get_model_weights(b_out), out))
+ }
+ first-phase {
+ expression: freshnessRank
+ }
+ second-phase {
+ expression: layer_out
+ rerank-count: 2000
+ }
+
+ }
+
+ constant W_0 {
+ file: neural-network-201805/W_0.json
+ type: tensor(x[9],hidden[9])
+ }
+ constant b_0 {
+ file: neural-network-201805/b_0.json
+ type: tensor(hidden[9])
+ }
+ constant W_1 {
+ file: neural-network-201805/W_1.json
+ type: tensor(hidden[9],out[9])
+ }
+ constant b_1 {
+ file: neural-network-201805/b_1.json
+ type: tensor(out[9])
+ }
+ constant W_out {
+ file: neural-network-201805/W_out.json
+ type: tensor(out[9])
+ }
+ constant b_out {
+ file: neural-network-201805/b_out.json
+ type: tensor(out[1])
+ }
+
+} \ No newline at end of file
diff --git a/config-model/src/test/derived/neuralnet/query-profiles/default.xml b/config-model/src/test/derived/neuralnet/query-profiles/default.xml
new file mode 100644
index 00000000000..eef1aaa7f53
--- /dev/null
+++ b/config-model/src/test/derived/neuralnet/query-profiles/default.xml
@@ -0,0 +1,2 @@
+<query-profile id="default" type="DefaultQueryProfileType">
+</query-profile>
diff --git a/config-model/src/test/derived/neuralnet/query-profiles/types/DefaultQueryProfileType.xml b/config-model/src/test/derived/neuralnet/query-profiles/types/DefaultQueryProfileType.xml
new file mode 100644
index 00000000000..e1659479135
--- /dev/null
+++ b/config-model/src/test/derived/neuralnet/query-profiles/types/DefaultQueryProfileType.xml
@@ -0,0 +1,8 @@
+<query-profile-type id="DefaultQueryProfileType">
+ <field name="ranking.features.query(W_0)" type="tensor(x[9],hidden[9])" />
+ <field name="ranking.features.query(b_0)" type="tensor(hidden[9])" />
+ <field name="ranking.features.query(W_1)" type="tensor(hidden[9],out[9])" />
+ <field name="ranking.features.query(b_1)" type="tensor(out[9])" />
+ <field name="ranking.features.query(W_out)" type="tensor(out[9])" />
+ <field name="ranking.features.query(b_out)" type="tensor(out[1])" />
+</query-profile-type>
diff --git a/config-model/src/test/derived/neuralnet/rank-profiles.cfg b/config-model/src/test/derived/neuralnet/rank-profiles.cfg
new file mode 100644
index 00000000000..4530bff2e20
--- /dev/null
+++ b/config-model/src/test/derived/neuralnet/rank-profiles.cfg
@@ -0,0 +1,198 @@
+rankprofile[].name "default"
+rankprofile[].fef.property[].name "vespa.type.query.b_out"
+rankprofile[].fef.property[].value "tensor(out[1])"
+rankprofile[].fef.property[].name "vespa.type.query.W_out"
+rankprofile[].fef.property[].value "tensor(out[9])"
+rankprofile[].fef.property[].name "vespa.type.query.b_0"
+rankprofile[].fef.property[].value "tensor(hidden[9])"
+rankprofile[].fef.property[].name "vespa.type.query.b_1"
+rankprofile[].fef.property[].value "tensor(out[9])"
+rankprofile[].fef.property[].name "vespa.type.query.W_1"
+rankprofile[].fef.property[].value "tensor(hidden[9],out[9])"
+rankprofile[].fef.property[].name "vespa.type.query.W_0"
+rankprofile[].fef.property[].value "tensor(hidden[9],x[9])"
+rankprofile[].name "unranked"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "value(0)"
+rankprofile[].fef.property[].name "vespa.hitcollector.heapsize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.hitcollector.arraysize"
+rankprofile[].fef.property[].value "0"
+rankprofile[].fef.property[].name "vespa.dump.ignoredefaultfeatures"
+rankprofile[].fef.property[].value "true"
+rankprofile[].fef.property[].name "vespa.type.query.b_out"
+rankprofile[].fef.property[].value "tensor(out[1])"
+rankprofile[].fef.property[].name "vespa.type.query.W_out"
+rankprofile[].fef.property[].value "tensor(out[9])"
+rankprofile[].fef.property[].name "vespa.type.query.b_0"
+rankprofile[].fef.property[].value "tensor(hidden[9])"
+rankprofile[].fef.property[].name "vespa.type.query.b_1"
+rankprofile[].fef.property[].value "tensor(out[9])"
+rankprofile[].fef.property[].name "vespa.type.query.W_1"
+rankprofile[].fef.property[].value "tensor(hidden[9],out[9])"
+rankprofile[].fef.property[].name "vespa.type.query.W_0"
+rankprofile[].fef.property[].value "tensor(hidden[9],x[9])"
+rankprofile[].name "defaultRankProfile"
+rankprofile[].fef.property[].name "rankingExpression(log10_1p).rankingScript"
+rankprofile[].fef.property[].value "log10(x + 1)"
+rankprofile[].fef.property[].name "rankingExpression(textScoreToUse).rankingScript"
+rankprofile[].fef.property[].value "if (isNan(attribute(normalizedTextScore)) == 1, 0, attribute(normalizedTextScore))"
+rankprofile[].fef.property[].name "rankingExpression(rCountToUse).rankingScript"
+rankprofile[].fef.property[].value "if (isNan(attribute(rCount)) == 1, 0, if (attribute(rCount) < 0, 0, attribute(rCount)))"
+rankprofile[].fef.property[].name "rankingExpression(uniqueRCountToUse).rankingScript"
+rankprofile[].fef.property[].value "if (isNan(attribute(uniqueRCount)) == 1, 0, if (attribute(uniqueRACount) < 0, 0, attribute(uniqueRACount)))"
+rankprofile[].fef.property[].name "rankingExpression(uvCountToUse).rankingScript"
+rankprofile[].fef.property[].value "if (isNan(attribute(uvCount)) == 1, 0, if (attribute(uvCount) < 0, 0, attribute(uvCount)))"
+rankprofile[].fef.property[].name "rankingExpression(dvCountToUse).rankingScript"
+rankprofile[].fef.property[].value "if (isNan(attribute(dvCount)) == 1, 0, if (attribute(dvCount) < 0, 0, attribute(dvCount)))"
+rankprofile[].fef.property[].name "rankingExpression(aVoteCountToUse).rankingScript"
+rankprofile[].fef.property[].value "if (isNan(attribute(aVoteCount)) == 1, 0, if (attribute(aVoteCount) < 0, 0, attribute(aVoteCount)))"
+rankprofile[].fef.property[].name "rankingExpression(totalPR).rankingScript"
+rankprofile[].fef.property[].value "rankingExpression(uniqueRCountToUse) + query(voteToRRatio) * (rankingExpression(uvCountToUse) - rankingExpression(dvCountToUse)) - rankingExpression(aVoteCountToUse)"
+rankprofile[].fef.property[].name "rankingExpression(totalvote).rankingScript"
+rankprofile[].fef.property[].value "query(reportaweight) * rankingExpression(aVoteCountToUse) + rankingExpression(dvCountToUse) + query(rweight) * rankingExpression(uniqueRCountToUse) + rankingExpression(uvCountToUse)"
+rankprofile[].fef.property[].name "rankingExpression(phat).rankingScript"
+rankprofile[].fef.property[].value "if (rankingExpression(totalvote) == 0, 0, (query(rweight) * rankingExpression(uniqueRCountToUse) + rankingExpression(uvCountToUse)) / rankingExpression(totalvote))"
+rankprofile[].fef.property[].name "rankingExpression(nCScoreToUse).rankingScript"
+rankprofile[].fef.property[].value "if (rankingExpression(totalPR) > 0, log10(rankingExpression(totalPR)), 0)"
+rankprofile[].fef.property[].name "rankingExpression(hsScoreToUse).rankingScript"
+rankprofile[].fef.property[].value "attribute(hsScore)"
+rankprofile[].fef.property[].name "rankingExpression(tScoreToUse).rankingScript"
+rankprofile[].fef.property[].value "if (isNan(attribute(t)) == 1, 0.6, attribute(t))"
+rankprofile[].fef.property[].name "rankingExpression(relevanceScoreToUse).rankingScript"
+rankprofile[].fef.property[].value "if (isNan(attribute(relevance)) == 1, 0.254, attribute(relevance))"
+rankprofile[].fef.property[].name "rankingExpression(freshnessToUse).rankingScript"
+rankprofile[].fef.property[].value "if (freshness(createdAt).logscale < 0.01, 0.01, freshness(createdAt).logscale)"
+rankprofile[].fef.property[].name "rankingExpression(rankedAt).rankingScript"
+rankprofile[].fef.property[].value "now"
+rankprofile[].fef.property[].name "rankingExpression(createdAtToUse).rankingScript"
+rankprofile[].fef.property[].value "if (isNan(attribute(createdAt)) == 1, rankingExpression(rankedAt), attribute(createdAt))"
+rankprofile[].fef.property[].name "rankingExpression(laAtToUse).rankingScript"
+rankprofile[].fef.property[].value "if (isNan(attribute(laAt)) == 1, attribute(createdAt), attribute(laAt))"
+rankprofile[].fef.property[].name "rankingExpression(markedAsAAtToUse).rankingScript"
+rankprofile[].fef.property[].value "if (isNan(attribute(markedAsAAt)) == 1, 9.223372036854776E18, attribute(markedAsAAt))"
+rankprofile[].fef.property[].name "rankingExpression(tdToUse).rankingScript"
+rankprofile[].fef.property[].value "pow(2,0 - ((rankingExpression(rankedAt) - rankingExpression(createdAtToUse)) / query(decay)))"
+rankprofile[].fef.property[].name "rankingExpression(commentOverallScore).rankingScript"
+rankprofile[].fef.property[].value "query(textweight) * rankingExpression(textScoreToUse) + query(communityweight) * rankingExpression(nCScoreToUse)"
+rankprofile[].fef.property[].name "rankingExpression(pinScore).rankingScript"
+rankprofile[].fef.property[].value "if (isNan(attribute(pinned)) == 1, 0, query(pinweight) * attribute(pinned))"
+rankprofile[].fef.property[].name "rankingExpression(freshnessRank).rankingScript"
+rankprofile[].fef.property[].value "nativeRank + freshness(createdAt)"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "nativeRank"
+rankprofile[].fef.property[].name "vespa.type.query.b_out"
+rankprofile[].fef.property[].value "tensor(out[1])"
+rankprofile[].fef.property[].name "vespa.type.query.W_out"
+rankprofile[].fef.property[].value "tensor(out[9])"
+rankprofile[].fef.property[].name "vespa.type.query.b_0"
+rankprofile[].fef.property[].value "tensor(hidden[9])"
+rankprofile[].fef.property[].name "vespa.type.query.b_1"
+rankprofile[].fef.property[].value "tensor(out[9])"
+rankprofile[].fef.property[].name "vespa.type.query.W_1"
+rankprofile[].fef.property[].value "tensor(hidden[9],out[9])"
+rankprofile[].fef.property[].name "vespa.type.query.W_0"
+rankprofile[].fef.property[].value "tensor(hidden[9],x[9])"
+rankprofile[].name "neuralNetworkProfile"
+rankprofile[].fef.property[].name "rankingExpression(log10_1p).rankingScript"
+rankprofile[].fef.property[].value "log10(x + 1)"
+rankprofile[].fef.property[].name "rankingExpression(textScoreToUse).rankingScript"
+rankprofile[].fef.property[].value "if (isNan(attribute(normalizedTextScore)) == 1, 0, attribute(normalizedTextScore))"
+rankprofile[].fef.property[].name "rankingExpression(rCountToUse).rankingScript"
+rankprofile[].fef.property[].value "if (isNan(attribute(rCount)) == 1, 0, if (attribute(rCount) < 0, 0, attribute(rCount)))"
+rankprofile[].fef.property[].name "rankingExpression(uniqueRCountToUse).rankingScript"
+rankprofile[].fef.property[].value "if (isNan(attribute(uniqueRCount)) == 1, 0, if (attribute(uniqueRACount) < 0, 0, attribute(uniqueRACount)))"
+rankprofile[].fef.property[].name "rankingExpression(uvCountToUse).rankingScript"
+rankprofile[].fef.property[].value "if (isNan(attribute(uvCount)) == 1, 0, if (attribute(uvCount) < 0, 0, attribute(uvCount)))"
+rankprofile[].fef.property[].name "rankingExpression(dvCountToUse).rankingScript"
+rankprofile[].fef.property[].value "if (isNan(attribute(dvCount)) == 1, 0, if (attribute(dvCount) < 0, 0, attribute(dvCount)))"
+rankprofile[].fef.property[].name "rankingExpression(aVoteCountToUse).rankingScript"
+rankprofile[].fef.property[].value "if (isNan(attribute(aVoteCount)) == 1, 0, if (attribute(aVoteCount) < 0, 0, attribute(aVoteCount)))"
+rankprofile[].fef.property[].name "rankingExpression(totalPR).rankingScript"
+rankprofile[].fef.property[].value "rankingExpression(uniqueRCountToUse) + query(voteToRRatio) * (rankingExpression(uvCountToUse) - rankingExpression(dvCountToUse)) - rankingExpression(aVoteCountToUse)"
+rankprofile[].fef.property[].name "rankingExpression(totalvote).rankingScript"
+rankprofile[].fef.property[].value "query(reportaweight) * rankingExpression(aVoteCountToUse) + rankingExpression(dvCountToUse) + query(rweight) * rankingExpression(uniqueRCountToUse) + rankingExpression(uvCountToUse)"
+rankprofile[].fef.property[].name "rankingExpression(phat).rankingScript"
+rankprofile[].fef.property[].value "if (rankingExpression(totalvote) == 0, 0, (query(rweight) * rankingExpression(uniqueRCountToUse) + rankingExpression(uvCountToUse)) / rankingExpression(totalvote))"
+rankprofile[].fef.property[].name "rankingExpression(nCScoreToUse).rankingScript"
+rankprofile[].fef.property[].value "if (rankingExpression(totalPR) > 0, log10(rankingExpression(totalPR)), 0)"
+rankprofile[].fef.property[].name "rankingExpression(hsScoreToUse).rankingScript"
+rankprofile[].fef.property[].value "attribute(hsScore)"
+rankprofile[].fef.property[].name "rankingExpression(tScoreToUse).rankingScript"
+rankprofile[].fef.property[].value "if (isNan(attribute(t)) == 1, 0.6, attribute(t))"
+rankprofile[].fef.property[].name "rankingExpression(relevanceScoreToUse).rankingScript"
+rankprofile[].fef.property[].value "if (isNan(attribute(relevance)) == 1, 0.254, attribute(relevance))"
+rankprofile[].fef.property[].name "rankingExpression(freshnessToUse).rankingScript"
+rankprofile[].fef.property[].value "if (freshness(createdAt).logscale < 0.01, 0.01, freshness(createdAt).logscale)"
+rankprofile[].fef.property[].name "rankingExpression(rankedAt).rankingScript"
+rankprofile[].fef.property[].value "now"
+rankprofile[].fef.property[].name "rankingExpression(createdAtToUse).rankingScript"
+rankprofile[].fef.property[].value "if (isNan(attribute(createdAt)) == 1, rankingExpression(rankedAt), attribute(createdAt))"
+rankprofile[].fef.property[].name "rankingExpression(laAtToUse).rankingScript"
+rankprofile[].fef.property[].value "if (isNan(attribute(laAt)) == 1, attribute(createdAt), attribute(laAt))"
+rankprofile[].fef.property[].name "rankingExpression(markedAsAAtToUse).rankingScript"
+rankprofile[].fef.property[].value "if (isNan(attribute(markedAsAAt)) == 1, 9.223372036854776E18, attribute(markedAsAAt))"
+rankprofile[].fef.property[].name "rankingExpression(tdToUse).rankingScript"
+rankprofile[].fef.property[].value "pow(2,0 - ((rankingExpression(rankedAt) - rankingExpression(createdAtToUse)) / query(decay)))"
+rankprofile[].fef.property[].name "rankingExpression(commentOverallScore).rankingScript"
+rankprofile[].fef.property[].value "query(textweight) * rankingExpression(textScoreToUse) + query(communityweight) * rankingExpression(nCScoreToUse)"
+rankprofile[].fef.property[].name "rankingExpression(pinScore).rankingScript"
+rankprofile[].fef.property[].value "if (isNan(attribute(pinned)) == 1, 0, query(pinweight) * attribute(pinned))"
+rankprofile[].fef.property[].name "rankingExpression(freshnessRank).rankingScript"
+rankprofile[].fef.property[].value "nativeRank + freshness(createdAt)"
+rankprofile[].fef.property[].name "rankingExpression(log10_1p@af9a8c53ba738798).rankingScript"
+rankprofile[].fef.property[].value "log10(rankingExpression(aVoteCountToUse) + 1)"
+rankprofile[].fef.property[].name "rankingExpression(log10_1p@6ad21b437fe95dd9).rankingScript"
+rankprofile[].fef.property[].value "log10(rankingExpression(dvCountToUse) + 1)"
+rankprofile[].fef.property[].name "rankingExpression(log10_1p@c05478688f81fe20).rankingScript"
+rankprofile[].fef.property[].value "log10(rankingExpression(uniqueRCountToUse) + 1)"
+rankprofile[].fef.property[].name "rankingExpression(log10_1p@53f0a2c000e82f4).rankingScript"
+rankprofile[].fef.property[].value "log10(rankingExpression(uvCountToUse) + 1)"
+rankprofile[].fef.property[].name "rankingExpression(log10_1p@d7da61ad34902e89).rankingScript"
+rankprofile[].fef.property[].value "log10(rankingExpression(totalvote) + 1)"
+rankprofile[].fef.property[].name "rankingExpression(nn_input).rankingScript"
+rankprofile[].fef.property[].value "concat(rankingExpression(log10_1p@af9a8c53ba738798), concat(rankingExpression(log10_1p@6ad21b437fe95dd9), concat(rankingExpression(log10_1p@c05478688f81fe20), concat(rankingExpression(log10_1p@53f0a2c000e82f4), concat(rankingExpression(phat), concat(rankingExpression(log10_1p@d7da61ad34902e89), concat(rankingExpression(hsScoreToUse), concat(rankingExpression(tdToUse), rankingExpression(tScoreToUse), x), x), x), x), x), x), x), x)"
+rankprofile[].fef.property[].name "rankingExpression(nn_input).type"
+rankprofile[].fef.property[].value "tensor(x[9])"
+rankprofile[].fef.property[].name "rankingExpression(get_model_weights).rankingScript"
+rankprofile[].fef.property[].value "if (query(field) == 0, constant(field), query(field))"
+rankprofile[].fef.property[].name "rankingExpression(get_model_weights@1f2b4afc2c45fbee).rankingScript"
+rankprofile[].fef.property[].value "if (query(W_0) == 0, constant(W_0), query(W_0))"
+rankprofile[].fef.property[].name "rankingExpression(get_model_weights@e752cecc7900ff3e).rankingScript"
+rankprofile[].fef.property[].value "if (query(b_0) == 0, constant(b_0), query(b_0))"
+rankprofile[].fef.property[].name "rankingExpression(layer_0).rankingScript"
+rankprofile[].fef.property[].value "elu(join(reduce(join(rankingExpression(nn_input), rankingExpression(get_model_weights@1f2b4afc2c45fbee), f(a,b)(a * b)), sum, x), rankingExpression(get_model_weights@e752cecc7900ff3e), f(a,b)(a + b)))"
+rankprofile[].fef.property[].name "rankingExpression(layer_0).type"
+rankprofile[].fef.property[].value "tensor(hidden[9])"
+rankprofile[].fef.property[].name "rankingExpression(get_model_weights@eac265fa16b752cf).rankingScript"
+rankprofile[].fef.property[].value "if (query(W_1) == 0, constant(W_1), query(W_1))"
+rankprofile[].fef.property[].name "rankingExpression(get_model_weights@b953c19adb7d2154).rankingScript"
+rankprofile[].fef.property[].value "if (query(b_1) == 0, constant(b_1), query(b_1))"
+rankprofile[].fef.property[].name "rankingExpression(layer_1).rankingScript"
+rankprofile[].fef.property[].value "elu(join(reduce(join(rankingExpression(layer_0), rankingExpression(get_model_weights@eac265fa16b752cf), f(a,b)(a * b)), sum, hidden), rankingExpression(get_model_weights@b953c19adb7d2154), f(a,b)(a + b)))"
+rankprofile[].fef.property[].name "rankingExpression(layer_1).type"
+rankprofile[].fef.property[].value "tensor(out[9])"
+rankprofile[].fef.property[].name "rankingExpression(get_model_weights@418462473aa32b7d).rankingScript"
+rankprofile[].fef.property[].value "if (query(W_out) == 0, constant(W_out), query(W_out))"
+rankprofile[].fef.property[].name "rankingExpression(get_model_weights@23f46853cab72961).rankingScript"
+rankprofile[].fef.property[].value "if (query(b_out) == 0, constant(b_out), query(b_out))"
+rankprofile[].fef.property[].name "rankingExpression(layer_out).rankingScript"
+rankprofile[].fef.property[].value "reduce(join(reduce(join(rankingExpression(layer_1), rankingExpression(get_model_weights@418462473aa32b7d), f(a,b)(a * b)), sum, out), rankingExpression(get_model_weights@23f46853cab72961), f(a,b)(a + b)), sum)"
+rankprofile[].fef.property[].name "vespa.rank.firstphase"
+rankprofile[].fef.property[].value "rankingExpression(freshnessRank)"
+rankprofile[].fef.property[].name "vespa.rank.secondphase"
+rankprofile[].fef.property[].value "rankingExpression(layer_out)"
+rankprofile[].fef.property[].name "vespa.hitcollector.heapsize"
+rankprofile[].fef.property[].value "2000"
+rankprofile[].fef.property[].name "vespa.type.query.b_out"
+rankprofile[].fef.property[].value "tensor(out[1])"
+rankprofile[].fef.property[].name "vespa.type.query.W_out"
+rankprofile[].fef.property[].value "tensor(out[9])"
+rankprofile[].fef.property[].name "vespa.type.query.b_0"
+rankprofile[].fef.property[].value "tensor(hidden[9])"
+rankprofile[].fef.property[].name "vespa.type.query.b_1"
+rankprofile[].fef.property[].value "tensor(out[9])"
+rankprofile[].fef.property[].name "vespa.type.query.W_1"
+rankprofile[].fef.property[].value "tensor(hidden[9],out[9])"
+rankprofile[].fef.property[].name "vespa.type.query.W_0"
+rankprofile[].fef.property[].value "tensor(hidden[9],x[9])"
diff --git a/config-model/src/test/derived/newrank/index-info.cfg b/config-model/src/test/derived/newrank/index-info.cfg
index 96d34ee2548..6967bf43538 100644
--- a/config-model/src/test/derived/newrank/index-info.cfg
+++ b/config-model/src/test/derived/newrank/index-info.cfg
@@ -171,10 +171,6 @@ indexinfo[].command[].indexname "cbid"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "cbid"
indexinfo[].command[].command "numerical"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
indexinfo[].command[].indexname "bgndata"
indexinfo[].command[].command "dynteaser"
indexinfo[].command[].indexname "ew"
diff --git a/config-model/src/test/derived/position_array/index-info.cfg b/config-model/src/test/derived/position_array/index-info.cfg
index 0230db3fa2b..e4b9ebb5008 100644
--- a/config-model/src/test/derived/position_array/index-info.cfg
+++ b/config-model/src/test/derived/position_array/index-info.cfg
@@ -17,14 +17,6 @@ indexinfo[].command[].indexname "pos"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "pos"
indexinfo[].command[].command "multivalue"
-indexinfo[].command[].indexname "pos.distance"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "pos.distance"
-indexinfo[].command[].command "numerical"
-indexinfo[].command[].indexname "pos.position"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "pos.position"
-indexinfo[].command[].command "multivalue"
indexinfo[].command[].indexname "pos_zcurve"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "pos_zcurve"
@@ -33,7 +25,3 @@ indexinfo[].command[].indexname "pos_zcurve"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "pos_zcurve"
indexinfo[].command[].command "fast-search"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/position_attribute/index-info.cfg b/config-model/src/test/derived/position_attribute/index-info.cfg
index db61a7fff4f..75a8ada6193 100644
--- a/config-model/src/test/derived/position_attribute/index-info.cfg
+++ b/config-model/src/test/derived/position_attribute/index-info.cfg
@@ -15,14 +15,6 @@ indexinfo[].command[].indexname "pos"
indexinfo[].command[].command "default-position"
indexinfo[].command[].indexname "pos"
indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "pos.distance"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "pos.distance"
-indexinfo[].command[].command "numerical"
-indexinfo[].command[].indexname "pos.position"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "pos.position"
-indexinfo[].command[].command "multivalue"
indexinfo[].command[].indexname "pos_zcurve"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "pos_zcurve"
@@ -31,7 +23,3 @@ indexinfo[].command[].indexname "pos_zcurve"
indexinfo[].command[].command "fast-search"
indexinfo[].command[].indexname "pos_zcurve"
indexinfo[].command[].command "numerical"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/position_extra/index-info.cfg b/config-model/src/test/derived/position_extra/index-info.cfg
index f7afda263a1..945508f9518 100644
--- a/config-model/src/test/derived/position_extra/index-info.cfg
+++ b/config-model/src/test/derived/position_extra/index-info.cfg
@@ -9,14 +9,6 @@ indexinfo[].command[].indexname "pos_ext"
indexinfo[].command[].command "default-position"
indexinfo[].command[].indexname "pos_ext"
indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "pos_ext.distance"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "pos_ext.distance"
-indexinfo[].command[].command "numerical"
-indexinfo[].command[].indexname "pos_ext.position"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "pos_ext.position"
-indexinfo[].command[].command "multivalue"
indexinfo[].command[].indexname "pos_ext_zcurve"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "pos_ext_zcurve"
@@ -25,7 +17,3 @@ indexinfo[].command[].indexname "pos_ext_zcurve"
indexinfo[].command[].command "fast-search"
indexinfo[].command[].indexname "pos_ext_zcurve"
indexinfo[].command[].command "numerical"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/predicate_attribute/index-info.cfg b/config-model/src/test/derived/predicate_attribute/index-info.cfg
index 7441ca98daa..3d9f57dd84b 100644
--- a/config-model/src/test/derived/predicate_attribute/index-info.cfg
+++ b/config-model/src/test/derived/predicate_attribute/index-info.cfg
@@ -9,7 +9,3 @@ indexinfo[].command[].indexname "some_predicate_field"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "some_predicate_field"
indexinfo[].command[].command "attribute"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/prefixexactattribute/documentmanager.cfg b/config-model/src/test/derived/prefixexactattribute/documentmanager.cfg
index adc1d7b3de6..060510c3578 100644
--- a/config-model/src/test/derived/prefixexactattribute/documentmanager.cfg
+++ b/config-model/src/test/derived/prefixexactattribute/documentmanager.cfg
@@ -34,12 +34,6 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "indexfield2"
datatype[].structtype[].field[].datatype 2
datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
datatype[].id -480519133
datatype[].structtype[].name "prefixexactattribute.body"
datatype[].structtype[].version 0
diff --git a/config-model/src/test/derived/prefixexactattribute/index-info.cfg b/config-model/src/test/derived/prefixexactattribute/index-info.cfg
index 7a84f0515f8..e0d5786ef13 100644
--- a/config-model/src/test/derived/prefixexactattribute/index-info.cfg
+++ b/config-model/src/test/derived/prefixexactattribute/index-info.cfg
@@ -37,7 +37,3 @@ indexinfo[].command[].indexname "indexfield2"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "indexfield2"
indexinfo[].command[].command "exact @"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/ranktypes/documentmanager.cfg b/config-model/src/test/derived/ranktypes/documentmanager.cfg
index cba480489b4..072a0fff126 100644
--- a/config-model/src/test/derived/ranktypes/documentmanager.cfg
+++ b/config-model/src/test/derived/ranktypes/documentmanager.cfg
@@ -34,12 +34,6 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "identity_literal"
datatype[].structtype[].field[].datatype 2
datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
datatype[].id 1374506021
datatype[].structtype[].name "ranktypes.body"
datatype[].structtype[].version 0
diff --git a/config-model/src/test/derived/ranktypes/index-info.cfg b/config-model/src/test/derived/ranktypes/index-info.cfg
index 0b9777ca488..112183ceac5 100644
--- a/config-model/src/test/derived/ranktypes/index-info.cfg
+++ b/config-model/src/test/derived/ranktypes/index-info.cfg
@@ -51,7 +51,3 @@ indexinfo[].command[].indexname "identity_literal"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "identity_literal"
indexinfo[].command[].command "plain-tokens"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/streamingstruct/documentmanager.cfg b/config-model/src/test/derived/streamingstruct/documentmanager.cfg
index 28690ba807f..2cd35c7bdfa 100644
--- a/config-model/src/test/derived/streamingstruct/documentmanager.cfg
+++ b/config-model/src/test/derived/streamingstruct/documentmanager.cfg
@@ -113,12 +113,6 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "anothersummaryfield"
datatype[].structtype[].field[].datatype 2
datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "snippet"
datatype[].structtype[].field[].datatype 2
datatype[].structtype[].field[].detailedtype ""
diff --git a/config-model/src/test/derived/structanyorder/documentmanager.cfg b/config-model/src/test/derived/structanyorder/documentmanager.cfg
index 21503c3ad76..c18b1cc11b0 100644
--- a/config-model/src/test/derived/structanyorder/documentmanager.cfg
+++ b/config-model/src/test/derived/structanyorder/documentmanager.cfg
@@ -69,12 +69,6 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "structarrayfield"
datatype[].structtype[].field[].datatype -1244829667
datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
datatype[].id -1503592268
datatype[].structtype[].name "annotationsimplicitstruct.body"
datatype[].structtype[].version 0
diff --git a/config-model/src/test/derived/structanyorder/index-info.cfg b/config-model/src/test/derived/structanyorder/index-info.cfg
index 9cd84d8578f..7a8b06bceec 100644
--- a/config-model/src/test/derived/structanyorder/index-info.cfg
+++ b/config-model/src/test/derived/structanyorder/index-info.cfg
@@ -241,7 +241,3 @@ indexinfo[].command[].indexname "structarrayfield"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structarrayfield"
indexinfo[].command[].command "multivalue"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/tensor/documenttypes.cfg b/config-model/src/test/derived/tensor/documenttypes.cfg
index 56818298eb8..3b85e9b3a58 100644
--- a/config-model/src/test/derived/tensor/documenttypes.cfg
+++ b/config-model/src/test/derived/tensor/documenttypes.cfg
@@ -40,16 +40,6 @@ documenttype[].datatype[].sstruct.field[].id 1224191509
documenttype[].datatype[].sstruct.field[].id_v6 1039544782
documenttype[].datatype[].sstruct.field[].datatype 21
documenttype[].datatype[].sstruct.field[].detailedtype "tensor(x[10],y[20])"
-documenttype[].datatype[].sstruct.field[].name "rankfeatures"
-documenttype[].datatype[].sstruct.field[].id 1883197392
-documenttype[].datatype[].sstruct.field[].id_v6 699950698
-documenttype[].datatype[].sstruct.field[].datatype 2
-documenttype[].datatype[].sstruct.field[].detailedtype ""
-documenttype[].datatype[].sstruct.field[].name "summaryfeatures"
-documenttype[].datatype[].sstruct.field[].id 1840337115
-documenttype[].datatype[].sstruct.field[].id_v6 1981648971
-documenttype[].datatype[].sstruct.field[].datatype 2
-documenttype[].datatype[].sstruct.field[].detailedtype ""
documenttype[].datatype[].id -1903234535
documenttype[].datatype[].type STRUCT
documenttype[].datatype[].array.element.id 0
diff --git a/config-model/src/test/derived/twostreamingstructs/documentmanager.cfg b/config-model/src/test/derived/twostreamingstructs/documentmanager.cfg
index f74b4e7b458..bb5bb001036 100644
--- a/config-model/src/test/derived/twostreamingstructs/documentmanager.cfg
+++ b/config-model/src/test/derived/twostreamingstructs/documentmanager.cfg
@@ -86,10 +86,6 @@ datatype[].structtype[].field[].name "g"
datatype[].structtype[].field[].datatype 2
datatype[].structtype[].field[].name "anothersummaryfield"
datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
datatype[].structtype[].field[].name "snippet"
datatype[].structtype[].field[].datatype 2
datatype[].structtype[].field[].name "snippet2"
@@ -143,10 +139,6 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
datatype[].id -1417926544
datatype[].structtype[].name "whatever.body"
datatype[].structtype[].version 0
diff --git a/config-model/src/test/derived/types/documentmanager.cfg b/config-model/src/test/derived/types/documentmanager.cfg
index 0644659cae7..a4fcd4f49f6 100644
--- a/config-model/src/test/derived/types/documentmanager.cfg
+++ b/config-model/src/test/derived/types/documentmanager.cfg
@@ -209,12 +209,6 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "other"
datatype[].structtype[].field[].datatype 4
datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "rankfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
-datatype[].structtype[].field[].name "summaryfeatures"
-datatype[].structtype[].field[].datatype 2
-datatype[].structtype[].field[].detailedtype ""
datatype[].id -372512406
datatype[].maptype[].keytype 0
datatype[].maptype[].valtype 1707615575
diff --git a/config-model/src/test/derived/types/index-info.cfg b/config-model/src/test/derived/types/index-info.cfg
index d6b914e5b1b..6332316e7d0 100644
--- a/config-model/src/test/derived/types/index-info.cfg
+++ b/config-model/src/test/derived/types/index-info.cfg
@@ -439,7 +439,3 @@ indexinfo[].command[].indexname "pst_sta_boldingoff_nomatch_tag_01"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "pst_sta_boldingoff_nomatch_tag_01"
indexinfo[].command[].command "multivalue"
-indexinfo[].command[].indexname "rankfeatures"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "summaryfeatures"
-indexinfo[].command[].command "index"
diff --git a/config-model/src/test/examples/fieldoftypedocument.cfg b/config-model/src/test/examples/fieldoftypedocument.cfg
index d3dd0d06b66..b7bb444ec93 100644
--- a/config-model/src/test/examples/fieldoftypedocument.cfg
+++ b/config-model/src/test/examples/fieldoftypedocument.cfg
@@ -22,12 +22,6 @@ datatype[1].structtype[0].compressminsize 800
datatype[1].structtype[0].field[0].name "soundtrack"
datatype[1].structtype[0].field[0].datatype 1412693671
datatype[1].structtype[0].field[0].detailedtype ""
-datatype[1].structtype[0].field[1].name "rankfeatures"
-datatype[1].structtype[0].field[1].datatype 2
-datatype[1].structtype[0].field[1].detailedtype ""
-datatype[1].structtype[0].field[2].name "summaryfeatures"
-datatype[1].structtype[0].field[2].datatype 2
-datatype[1].structtype[0].field[2].detailedtype ""
datatype[2].id -820813431
datatype[2].structtype[0].name "book.body"
datatype[2].structtype[0].version 0
@@ -59,12 +53,6 @@ datatype[4].structtype[0].field[1].detailedtype ""
datatype[4].structtype[0].field[2].name "longfield"
datatype[4].structtype[0].field[2].datatype 4
datatype[4].structtype[0].field[2].detailedtype ""
-datatype[4].structtype[0].field[3].name "rankfeatures"
-datatype[4].structtype[0].field[3].datatype 2
-datatype[4].structtype[0].field[3].detailedtype ""
-datatype[4].structtype[0].field[4].name "summaryfeatures"
-datatype[4].structtype[0].field[4].datatype 2
-datatype[4].structtype[0].field[4].detailedtype ""
datatype[5].id 993120973
datatype[5].structtype[0].name "music.body"
datatype[5].structtype[0].version 0
diff --git a/config-model/src/test/examples/structresult.cfg b/config-model/src/test/examples/structresult.cfg
index 075ac54b983..eff48f18914 100755
--- a/config-model/src/test/examples/structresult.cfg
+++ b/config-model/src/test/examples/structresult.cfg
@@ -54,12 +54,6 @@ datatype[4].structtype[0].field[1].detailedtype ""
datatype[4].structtype[0].field[2].name "advanced"
datatype[4].structtype[0].field[2].datatype 93505813
datatype[4].structtype[0].field[2].detailedtype ""
-datatype[4].structtype[0].field[3].name "rankfeatures"
-datatype[4].structtype[0].field[3].datatype 2
-datatype[4].structtype[0].field[3].detailedtype ""
-datatype[4].structtype[0].field[4].name "summaryfeatures"
-datatype[4].structtype[0].field[4].datatype 2
-datatype[4].structtype[0].field[4].detailedtype ""
datatype[5].id 993120973
datatype[5].structtype[0].name "music.body"
datatype[5].structtype[0].version 0
diff --git a/config-model/src/test/integration/vespa/models/example.model b/config-model/src/test/integration/vespa/models/example.model
index 9579be4e44c..e9725d14923 100644
--- a/config-model/src/test/integration/vespa/models/example.model
+++ b/config-model/src/test/integration/vespa/models/example.model
@@ -19,7 +19,7 @@ model example {
}
function foo2() {
- expression: max(sum(input1 * input2, name) * constant1asLarge, x) * constant2
+ expression: max(sum(input1 * input2, name) * constant(constant1asLarge), x) * constant2
}
} \ No newline at end of file
diff --git a/config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java b/config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java
index af31a09101e..82841b52984 100644
--- a/config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java
+++ b/config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java
@@ -16,7 +16,6 @@ import com.yahoo.container.core.ApplicationMetadataConfig;
import com.yahoo.search.config.QrStartConfig;
import com.yahoo.searchdefinition.parser.ParseException;
import com.yahoo.vespa.config.search.core.ProtonConfig;
-import com.yahoo.vespa.model.AbstractService;
import com.yahoo.vespa.model.HostResource;
import com.yahoo.vespa.model.HostSystem;
import com.yahoo.vespa.model.VespaModel;
@@ -51,9 +50,6 @@ import java.util.stream.Collectors;
import static com.yahoo.config.model.test.TestUtil.joinLines;
import static com.yahoo.vespa.defaults.Defaults.getDefaults;
import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.collection.IsIn.isIn;
-import static org.hamcrest.core.Every.everyItem;
-import static org.hamcrest.core.IsNot.not;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
@@ -762,42 +758,6 @@ public class ModelProvisioningTest {
assertEquals("Included in addition because it is retired", "default03", model.getAdmin().getSlobroks().get(5).getHostName());
}
- @Test
- public void testSlobroksAreSpreadOverAllContainerClustersExceptNodeAdmin() {
- String services =
- "<?xml version='1.0' encoding='utf-8' ?>\n" +
- "<services>" +
- " <admin version='4.0'/>" +
- " <container version='1.0' id='routing'>" +
- " <nodes count='10'/>" +
- " </container>" +
- " <container version='1.0' id='node-admin'>" +
- " <nodes count='3'/>" +
- " </container>" +
- "</services>";
-
- int numberOfHosts = 13;
- VespaModelTester tester = new VespaModelTester();
- tester.addHosts(numberOfHosts);
- tester.setApplicationId("hosted-vespa", "routing", "default");
- VespaModel model = tester.createModel(services, true);
- assertThat(model.getRoot().getHostSystem().getHosts().size(), is(numberOfHosts));
-
- Set<String> routingHosts = getClusterHostnames(model, "routing");
- assertEquals(10, routingHosts.size());
-
- Set<String> nodeAdminHosts = getClusterHostnames(model, "node-admin");
- assertEquals(3, nodeAdminHosts.size());
-
- Set<String> slobrokHosts = model.getAdmin().getSlobroks().stream()
- .map(AbstractService::getHostName)
- .collect(Collectors.toSet());
- assertEquals(3, slobrokHosts.size());
-
- assertThat(slobrokHosts, everyItem(isIn(routingHosts)));
- assertThat(slobrokHosts, everyItem(not(isIn(nodeAdminHosts))));
- }
-
private Set<String> getClusterHostnames(VespaModel model, String clusterId) {
return model.getHosts().stream()
.filter(host -> host.getServices().stream()
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/FieldOfTypeDocumentTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/FieldOfTypeDocumentTestCase.java
index 3331bf4cdba..9942b563297 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/FieldOfTypeDocumentTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/FieldOfTypeDocumentTestCase.java
@@ -33,7 +33,7 @@ public class FieldOfTypeDocumentTestCase extends SearchDefinitionTestCase {
DocumentType musicType = manager.getDocumentType("music");
- assertEquals(5, musicType.getFieldCount());
+ assertEquals(3, musicType.getFieldCount());
Field intField = musicType.getField("intfield");
assertEquals(DataType.INT, intField.getDataType());
@@ -41,21 +41,13 @@ public class FieldOfTypeDocumentTestCase extends SearchDefinitionTestCase {
assertEquals(DataType.STRING, stringField.getDataType());
Field longField = musicType.getField("longfield");
assertEquals(DataType.LONG, longField.getDataType());
- Field summaryfeatures = musicType.getField("summaryfeatures");
- assertEquals(DataType.STRING, summaryfeatures.getDataType());
- Field rankfeatures = musicType.getField("rankfeatures");
- assertEquals(DataType.STRING, rankfeatures.getDataType());
DocumentType bookType = manager.getDocumentType("book");
- assertEquals(3, bookType.getFieldCount());
+ assertEquals(1, bookType.getFieldCount());
Field musicField = bookType.getField("soundtrack");
assertSame(musicType, musicField.getDataType());
- summaryfeatures = musicType.getField("summaryfeatures");
- assertEquals(DataType.STRING, summaryfeatures.getDataType());
- rankfeatures = musicType.getField("rankfeatures");
- assertEquals(DataType.STRING, rankfeatures.getDataType());
}
}
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/RankingExpressionLoopDetectionTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/RankingExpressionLoopDetectionTestCase.java
index 0ff8a5cc7ca..9a0dcc7dd07 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/RankingExpressionLoopDetectionTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/RankingExpressionLoopDetectionTestCase.java
@@ -40,7 +40,7 @@ public class RankingExpressionLoopDetectionTestCase {
fail("Excepted exception");
}
catch (IllegalArgumentException e) {
- assertEquals("In search definition 'test', rank profile 'test': The function 'foo' is invalid: Invocation loop: foo -> foo",
+ assertEquals("In search definition 'test', rank profile 'test': The function 'foo' is invalid: foo is invalid: Invocation loop: foo -> foo",
Exceptions.toMessageString(e));
}
}
@@ -75,7 +75,7 @@ public class RankingExpressionLoopDetectionTestCase {
fail("Excepted exception");
}
catch (IllegalArgumentException e) {
- assertEquals("In search definition 'test', rank profile 'test': The function 'foo' is invalid: Invocation loop: arg(5) -> foo -> arg(5)",
+ assertEquals("In search definition 'test', rank profile 'test': The function 'foo' is invalid: arg(5) is invalid: foo is invalid: arg(5) is invalid: Invocation loop: arg(5) -> foo -> arg(5)",
Exceptions.toMessageString(e));
}
}
@@ -110,7 +110,7 @@ public class RankingExpressionLoopDetectionTestCase {
fail("Excepted exception");
}
catch (IllegalArgumentException e) {
- assertEquals("In search definition 'test', rank profile 'test': The function 'foo' is invalid: Invocation loop: arg(foo) -> foo -> arg(foo)",
+ assertEquals("In search definition 'test', rank profile 'test': The function 'foo' is invalid: arg(foo) is invalid: a1 is invalid: foo is invalid: arg(foo) is invalid: Invocation loop: arg(foo) -> foo -> arg(foo)",
Exceptions.toMessageString(e));
}
}
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/SearchImporterTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/SearchImporterTestCase.java
index 89e551fa789..a94c8e76684 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/SearchImporterTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/SearchImporterTestCase.java
@@ -45,7 +45,7 @@ public class SearchImporterTestCase extends SearchDefinitionTestCase {
SDDocumentType document = search.getDocument();
assertEquals("simple", document.getName());
- assertEquals(25, document.getFieldCount());
+ assertEquals(23, document.getFieldCount());
SDField field;
Attribute attribute;
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/derived/AbstractExportingTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/derived/AbstractExportingTestCase.java
index ef99ec28686..7fbca88cb61 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/derived/AbstractExportingTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/derived/AbstractExportingTestCase.java
@@ -3,6 +3,7 @@ package com.yahoo.searchdefinition.derived;
import com.yahoo.document.DocumenttypesConfig;
import com.yahoo.document.config.DocumentmanagerConfig;
+import com.yahoo.search.query.profile.QueryProfileRegistry;
import com.yahoo.searchdefinition.Search;
import com.yahoo.searchdefinition.SearchBuilder;
import com.yahoo.searchdefinition.SearchDefinitionTestCase;
@@ -29,11 +30,10 @@ public abstract class AbstractExportingTestCase extends SearchDefinitionTestCase
deleteContent(toDir);
SearchBuilder builder = SearchBuilder.createFromDirectory(searchDefRoot + dirName + "/");
- //SearchBuilder builder = SearchBuilder.createFromFile(searchDefDir + name + ".sd");
return derive(dirName, searchDefinitionName, builder);
}
- protected DerivedConfiguration derive(String dirName, String searchDefinitionName, SearchBuilder builder) throws IOException {
+ private DerivedConfiguration derive(String dirName, String searchDefinitionName, SearchBuilder builder) throws IOException {
DerivedConfiguration config = new DerivedConfiguration(builder.getSearch(searchDefinitionName),
builder.getRankProfileRegistry(),
builder.getQueryProfileRegistry(),
@@ -85,14 +85,14 @@ public abstract class AbstractExportingTestCase extends SearchDefinitionTestCase
* Asserts config is correctly derived given a builder.
* This will fail if the builder contains multiple search definitions.
*/
- protected DerivedConfiguration assertCorrectDeriving(SearchBuilder builder, String dirName) throws IOException, ParseException {
+ protected DerivedConfiguration assertCorrectDeriving(SearchBuilder builder, String dirName) throws IOException {
builder.build();
DerivedConfiguration derived = derive(dirName, null, builder);
assertCorrectConfigFiles(dirName);
return derived;
}
- protected DerivedConfiguration assertCorrectDeriving(SearchBuilder builder, Search search, String name) throws IOException, ParseException {
+ protected DerivedConfiguration assertCorrectDeriving(SearchBuilder builder, Search search, String name) throws IOException {
DerivedConfiguration derived = derive(name, builder, search);
assertCorrectConfigFiles(name);
return derived;
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/derived/NeuralNetTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/derived/NeuralNetTestCase.java
new file mode 100644
index 00000000000..b299c7fa299
--- /dev/null
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/derived/NeuralNetTestCase.java
@@ -0,0 +1,16 @@
+// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.searchdefinition.derived;
+
+import com.yahoo.searchdefinition.parser.ParseException;
+import org.junit.Test;
+
+import java.io.IOException;
+
+public class NeuralNetTestCase extends AbstractExportingTestCase {
+
+ @Test
+ public void testNeuralNet() throws IOException, ParseException {
+ assertCorrectDeriving("neuralnet");
+ }
+
+}
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/processing/ImplicitSearchFieldsTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/processing/ImplicitSearchFieldsTestCase.java
index b66105009cd..52c36ca240c 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/processing/ImplicitSearchFieldsTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/processing/ImplicitSearchFieldsTestCase.java
@@ -25,11 +25,9 @@ public class ImplicitSearchFieldsTestCase extends SearchDefinitionTestCase {
SDDocumentType docType = search.getDocument();
assertNotNull(docType);
- assertNotNull(docType.getField("rankfeatures"));
- assertNotNull(docType.getField("summaryfeatures"));
assertNotNull(docType.getField("foo"));
assertNotNull(docType.getField("bar"));
- assertEquals(4, docType.getFieldCount());
+ assertEquals(2, docType.getFieldCount());
}
@Test
@@ -39,12 +37,10 @@ public class ImplicitSearchFieldsTestCase extends SearchDefinitionTestCase {
SDDocumentType docType = search.getDocument();
assertNotNull(docType);
- assertNotNull(docType.getField("rankfeatures"));
- assertNotNull(docType.getField("summaryfeatures"));
assertNotNull(docType.getField("foo"));
assertNotNull(docType.getField("bar"));
assertNotNull(docType.getField("cox"));
- assertEquals(5, docType.getFieldCount());
+ assertEquals(3, docType.getFieldCount());
}
@Test
@@ -54,13 +50,11 @@ public class ImplicitSearchFieldsTestCase extends SearchDefinitionTestCase {
SDDocumentType docType = search.getDocument();
assertNotNull(docType);
- assertNotNull(docType.getField("rankfeatures"));
- assertNotNull(docType.getField("summaryfeatures"));
assertNotNull(docType.getField("foo"));
assertNotNull(docType.getField("bar"));
assertNotNull(docType.getField("baz"));
assertNotNull(docType.getField("cox"));
- assertEquals(6, docType.getFieldCount());
+ assertEquals(4, docType.getFieldCount());
}
@Test
@@ -70,12 +64,10 @@ public class ImplicitSearchFieldsTestCase extends SearchDefinitionTestCase {
SDDocumentType docType = search.getDocument();
assertNotNull(docType);
- assertNotNull(docType.getField("rankfeatures"));
- assertNotNull(docType.getField("summaryfeatures"));
assertNotNull(docType.getField("foo"));
assertNotNull(docType.getField("bar"));
assertNotNull(docType.getField("baz"));
- assertEquals(5, docType.getFieldCount());
+ assertEquals(3, docType.getFieldCount());
}
@Test
@@ -85,11 +77,9 @@ public class ImplicitSearchFieldsTestCase extends SearchDefinitionTestCase {
SDDocumentType docType = search.getDocument();
assertNotNull(docType);
- assertNotNull(docType.getField("rankfeatures"));
- assertNotNull(docType.getField("summaryfeatures"));
assertNotNull(docType.getField("foo"));
assertNotNull(docType.getField("bar"));
- assertEquals(4, docType.getFieldCount());
+ assertEquals(2, docType.getFieldCount());
}
@Test
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/processing/ImplicitStructTypesTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/processing/ImplicitStructTypesTestCase.java
index 88c85452cb3..f2d81414b5a 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/processing/ImplicitStructTypesTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/processing/ImplicitStructTypesTestCase.java
@@ -35,8 +35,6 @@ public class ImplicitStructTypesTestCase extends SearchDefinitionTestCase {
assertField(docType, "doc_str_sum", DataType.STRING);
assertField(docType, "doc_uri", DataType.URI);
assertField(docType, "docsum_str", DataType.STRING);
- assertField(docType, "rankfeatures", DataType.STRING);
- assertField(docType, "summaryfeatures", DataType.STRING);
}
@SuppressWarnings({ "UnusedDeclaration" })
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionTypeResolverTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionTypeResolverTestCase.java
index 1b917b6f3a3..3b3ce712387 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionTypeResolverTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionTypeResolverTestCase.java
@@ -103,7 +103,9 @@ public class RankingExpressionTypeResolverTestCase {
fail("Expected exception");
}
catch (IllegalArgumentException expected) {
- assertEquals("In search definition 'test', rank profile 'my_rank_profile': The first-phase expression is invalid: An if expression must produce compatible types in both alternatives, but the 'true' type is tensor(x[],y[]) while the 'false' type is tensor(z[10])",
+ assertEquals("In search definition 'test', rank profile 'my_rank_profile': The first-phase expression is invalid: An if expression must produce compatible types in both alternatives, but the 'true' type is tensor(x[],y[]) while the 'false' type is tensor(z[10])" +
+ "\n'true' branch: attribute(a)" +
+ "\n'false' branch: attribute(b)",
Exceptions.toMessageString(expected));
}
}
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionWithTensorTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionWithTensorTestCase.java
index 80440ac8eb4..1b03825eef1 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionWithTensorTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionWithTensorTestCase.java
@@ -2,9 +2,10 @@
package com.yahoo.searchdefinition.processing;
import com.yahoo.searchdefinition.parser.ParseException;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.ExpectedException;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
/**
* @author geirst
@@ -138,23 +139,29 @@ public class RankingExpressionWithTensorTestCase {
f.assertRankProperty("tensor(x{})", "constant(my_tensor).type", "my_profile");
}
- @Rule
- public ExpectedException exception = ExpectedException.none();
-
@Test
public void requireThatInvalidTensorTypeSpecThrowsException() throws ParseException {
- exception.expect(IllegalArgumentException.class);
- exception.expectMessage("For constant tensor 'my_tensor' in rank profile 'my_profile': Illegal tensor type spec: A tensor type spec must be on the form tensor[<valuetype>]?(dimensionidentifier[{}|[length?]*), but was 'tensor(x)'. Dimension 'x' is on the wrong format. Examples: tensor(x[]), tensor<float>(name{}, x[10])");
- RankProfileSearchFixture f = new RankProfileSearchFixture(
- " rank-profile my_profile {\n" +
- " constants {\n" +
- " my_tensor {\n" +
- " value: { {x:1}:1 }\n" +
- " type: tensor(x)\n" +
- " }\n" +
- " }\n" +
- " }");
- f.compileRankProfile("my_profile");
+ try {
+ RankProfileSearchFixture f = new RankProfileSearchFixture(
+ " rank-profile my_profile {\n" +
+ " constants {\n" +
+ " my_tensor {\n" +
+ " value: { {x:1}:1 }\n" +
+ " type: tensor(x)\n" +
+ " }\n" +
+ " }\n" +
+ " }");
+ f.compileRankProfile("my_profile");
+ fail("Expected exception");
+ }
+ catch (IllegalArgumentException e) {
+ assertStartsWith("For constant tensor 'my_tensor' in rank profile 'my_profile': Illegal tensor type spec",
+ e.getMessage());
+ }
+ }
+
+ private void assertStartsWith(String prefix, String string) {
+ assertEquals(prefix, string.substring(0, Math.min(prefix.length(), string.length())));
}
}
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionsTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionsTestCase.java
index d4fcd09e249..1a7eb96483e 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionsTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionsTestCase.java
@@ -23,8 +23,7 @@ public class RankingExpressionsTestCase extends SearchDefinitionTestCase {
public void testFunctions() throws IOException, ParseException {
RankProfileRegistry rankProfileRegistry = new RankProfileRegistry();
Search search = SearchBuilder.createFromDirectory("src/test/examples/rankingexpressionfunction",
- rankProfileRegistry,
- new QueryProfileRegistry()).getSearch();
+ rankProfileRegistry).getSearch();
RankProfile functionsRankProfile = rankProfileRegistry.get(search, "macros");
Map<String, RankProfile.RankingExpressionFunction> functions = functionsRankProfile.getFunctions();
assertEquals(2, functions.get("titlematch$").function().arguments().size());
@@ -62,9 +61,7 @@ public class RankingExpressionsTestCase extends SearchDefinitionTestCase {
@Test(expected = IllegalArgumentException.class)
public void testThatIncludingFileInSubdirFails() throws IOException, ParseException {
RankProfileRegistry registry = new RankProfileRegistry();
- Search search = SearchBuilder.createFromDirectory("src/test/examples/rankingexpressioninfile",
- registry,
- new QueryProfileRegistry()).getSearch();
+ Search search = SearchBuilder.createFromDirectory("src/test/examples/rankingexpressioninfile", registry).getSearch();
new DerivedConfiguration(search, registry, new QueryProfileRegistry(), new ImportedMlModels()); // rank profile parsing happens during deriving
}
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/processing/TensorFieldTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/processing/TensorFieldTestCase.java
index f53ca15635f..b6569357495 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/processing/TensorFieldTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/processing/TensorFieldTestCase.java
@@ -3,48 +3,68 @@ package com.yahoo.searchdefinition.processing;
import com.yahoo.searchdefinition.SearchBuilder;
import com.yahoo.searchdefinition.parser.ParseException;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.ExpectedException;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
/**
* @author geirst
*/
public class TensorFieldTestCase {
- @Rule
- public ExpectedException exception = ExpectedException.none();
-
@Test
public void requireThatTensorFieldCannotBeOfCollectionType() throws ParseException {
- exception.expect(IllegalArgumentException.class);
- exception.expectMessage("For search 'test', field 'f1': A field with collection type of tensor is not supported. Use simple type 'tensor' instead.");
- SearchBuilder.createFromString(getSd("field f1 type array<tensor(x{})> {}"));
+ try {
+ SearchBuilder.createFromString(getSd("field f1 type array<tensor(x{})> {}"));
+ fail("Expected exception");
+ }
+ catch (IllegalArgumentException e) {
+ assertEquals("For search 'test', field 'f1': A field with collection type of tensor is not supported. Use simple type 'tensor' instead.",
+ e.getMessage());
+ }
}
@Test
public void requireThatTensorFieldCannotBeIndexField() throws ParseException {
- exception.expect(IllegalArgumentException.class);
- exception.expectMessage("For search 'test', field 'f1': A field of type 'tensor' cannot be specified as an 'index' field.");
- SearchBuilder.createFromString(getSd("field f1 type tensor(x{}) { indexing: index }"));
+ try {
+ SearchBuilder.createFromString(getSd("field f1 type tensor(x{}) { indexing: index }"));
+ fail("Expected exception");
+ }
+ catch (IllegalArgumentException e) {
+ assertEquals("For search 'test', field 'f1': A field of type 'tensor' cannot be specified as an 'index' field.",
+ e.getMessage());
+ }
}
@Test
public void requireThatTensorAttributeCannotBeFastSearch() throws ParseException {
- exception.expect(IllegalArgumentException.class);
- exception.expectMessage("For search 'test', field 'f1': An attribute of type 'tensor' cannot be 'fast-search'.");
- SearchBuilder.createFromString(getSd("field f1 type tensor(x{}) { indexing: attribute \n attribute: fast-search }"));
+ try {
+ SearchBuilder.createFromString(getSd("field f1 type tensor(x{}) { indexing: attribute \n attribute: fast-search }"));
+ fail("Expected exception");
+ }
+ catch (IllegalArgumentException e) {
+ assertEquals("For search 'test', field 'f1': An attribute of type 'tensor' cannot be 'fast-search'.", e.getMessage());
+ }
}
@Test
public void requireThatIllegalTensorTypeSpecThrowsException() throws ParseException {
- exception.expect(IllegalArgumentException.class);
- exception.expectMessage("Field type: Illegal tensor type spec: A tensor type spec must be on the form tensor[<valuetype>]?(dimensionidentifier[{}|[length?]*), but was 'tensor(invalid)'. Dimension 'invalid' is on the wrong format. Examples: tensor(x[]), tensor<float>(name{}, x[10])");
- SearchBuilder.createFromString(getSd("field f1 type tensor(invalid) { indexing: attribute }"));
+ try {
+ SearchBuilder.createFromString(getSd("field f1 type tensor(invalid) { indexing: attribute }"));
+ fail("Expected exception");
+ }
+ catch (IllegalArgumentException e) {
+ assertStartsWith("Field type: Illegal tensor type spec:", e.getMessage());
+ }
}
private static String getSd(String field) {
return "search test {\n document test {\n" + field + "}\n}\n";
}
+ private void assertStartsWith(String prefix, String string) {
+ assertEquals(prefix, string.substring(0, Math.min(prefix.length(), string.length())));
+ }
+
}
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/processing/TensorTransformTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/processing/TensorTransformTestCase.java
index fe150b51961..15c1d24ce33 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/processing/TensorTransformTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/processing/TensorTransformTestCase.java
@@ -58,8 +58,8 @@ public class TensorTransformTestCase extends SearchDefinitionTestCase {
"max(attribute(tensor_field_1),x)");
assertTransformedExpression("1+reduce(attribute(tensor_field_1),max,x)",
"1 + max(attribute(tensor_field_1),x)");
- assertTransformedExpression("if(attribute(double_field),1+reduce(attribute(tensor_field_1),max,x),attribute(tensor_field_1))",
- "if(attribute(double_field),1 + max(attribute(tensor_field_1),x),attribute(tensor_field_1))");
+ assertTransformedExpression("if(attribute(double_field),1+reduce(attribute(tensor_field_1),max,x),reduce(attribute(tensor_field_1),sum,x))",
+ "if(attribute(double_field),1 + max(attribute(tensor_field_1),x),reduce(attribute(tensor_field_1), sum, x))");
assertTransformedExpression("reduce(max(attribute(tensor_field_1),attribute(tensor_field_2)),max,x)",
"max(max(attribute(tensor_field_1),attribute(tensor_field_2)),x)");
assertTransformedExpression("reduce(if(attribute(double_field),attribute(tensor_field_2),attribute(tensor_field_2)),max,x)",
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerTest.java b/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerTest.java
index a10a5dcf4cc..d2bf4b601a6 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerTest.java
@@ -9,6 +9,7 @@ import com.yahoo.vespa.model.test.VespaModelTester;
import org.junit.Test;
import static com.yahoo.config.model.api.container.ContainerServiceType.METRICS_PROXY_CONTAINER;
+import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.CLUSTER_CONFIG_ID;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.CONTAINER_CONFIG_ID;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.MY_FLAVOR;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.getHostedModel;
@@ -101,7 +102,9 @@ public class MetricsProxyContainerTest {
public void hosted_application_propagates_node_dimensions() {
String services = servicesWithContent();
VespaModel hostedModel = getHostedModel(services);
- NodeDimensionsConfig config = getNodeDimensionsConfig(hostedModel);
+ assertEquals(1, hostedModel.getHosts().size());
+ String configId = CLUSTER_CONFIG_ID + "/" + hostedModel.getHosts().iterator().next().getHostname();
+ NodeDimensionsConfig config = getNodeDimensionsConfig(hostedModel, configId);
assertEquals("content", config.dimensions(NodeDimensionNames.CLUSTER_TYPE));
assertEquals("my-content", config.dimensions(NodeDimensionNames.CLUSTER_ID));
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyModelTester.java b/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyModelTester.java
index 81b06e54585..13589c763e2 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyModelTester.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyModelTester.java
@@ -32,7 +32,7 @@ class MetricsProxyModelTester {
static final String CLUSTER_CONFIG_ID = "admin/metrics";
// Used for all configs that are produced by the container, not the cluster.
- static final String CONTAINER_CONFIG_ID = CLUSTER_CONFIG_ID + "/metricsproxy.0";
+ static final String CONTAINER_CONFIG_ID = CLUSTER_CONFIG_ID + "/localhost";
static VespaModel getModel(String servicesXml) {
var numberOfHosts = 1;
@@ -87,8 +87,8 @@ class MetricsProxyModelTester {
return new QrStartConfig((QrStartConfig.Builder) model.getConfig(new QrStartConfig.Builder(), CLUSTER_CONFIG_ID));
}
- static NodeDimensionsConfig getNodeDimensionsConfig(VespaModel model) {
- return new NodeDimensionsConfig((NodeDimensionsConfig.Builder) model.getConfig(new NodeDimensionsConfig.Builder(), CONTAINER_CONFIG_ID));
+ static NodeDimensionsConfig getNodeDimensionsConfig(VespaModel model, String configId) {
+ return new NodeDimensionsConfig((NodeDimensionsConfig.Builder) model.getConfig(new NodeDimensionsConfig.Builder(), configId));
}
static VespaServicesConfig getVespaServicesConfig(String servicesXml) {
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/ConfigValueChangeValidatorTest.java b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/ConfigValueChangeValidatorTest.java
index 3fbfbf33fb3..6d9eabf326b 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/ConfigValueChangeValidatorTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/ConfigValueChangeValidatorTest.java
@@ -61,7 +61,7 @@ public class ConfigValueChangeValidatorTest {
assertEquals(3, changes.size());
assertComponentsEquals(changes, "default/container.0", 0);
assertComponentsEquals(changes, "admin/cluster-controllers/0", 1);
- assertComponentsEquals(changes, "admin/metrics/metricsproxy.0", 2);
+ assertComponentsEquals(changes, "admin/metrics/localhost", 2);
}
@Test
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/search/test/QueryProfileVariantsTestCase.java b/config-model/src/test/java/com/yahoo/vespa/model/container/search/test/QueryProfileVariantsTestCase.java
index 5833bc79ebf..5e559b64bd1 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/container/search/test/QueryProfileVariantsTestCase.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/container/search/test/QueryProfileVariantsTestCase.java
@@ -1,6 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.model.container.search.test;
+import com.yahoo.config.application.api.DeployLogger;
import com.yahoo.search.query.profile.QueryProfile;
import com.yahoo.search.query.profile.QueryProfileRegistry;
import com.yahoo.search.query.profile.config.QueryProfileXMLReader;
@@ -8,6 +9,7 @@ import com.yahoo.vespa.model.container.search.QueryProfiles;
import org.junit.Test;
import java.io.IOException;
+import java.util.logging.Level;
import static helpers.CompareConfigTestHelper.assertSerializedConfigFileEquals;
import static org.junit.Assert.assertEquals;
@@ -22,28 +24,28 @@ public class QueryProfileVariantsTestCase {
@Test
public void testConfigCreation() throws IOException {
QueryProfileRegistry registry = new QueryProfileXMLReader().read(root + "queryprofilevariants");
- QueryProfiles profiles = new QueryProfiles(registry);
+ QueryProfiles profiles = new QueryProfiles(registry, new SilentDeployLogger());
assertSerializedConfigFileEquals(root + "query-profile-variants-configuration.cfg", profiles.getConfig().toString());
}
@Test
public void testConfigCreation2() throws IOException {
QueryProfileRegistry registry = new QueryProfileXMLReader().read("src/test/java/com/yahoo/vespa/model/container/search/test/queryprofilevariants2");
- QueryProfiles profiles = new QueryProfiles(registry);
+ QueryProfiles profiles = new QueryProfiles(registry, new SilentDeployLogger());
assertSerializedConfigFileEquals(root + "query-profile-variants2-configuration.cfg", profiles.getConfig().toString());
}
@Test
public void testConfigCreationNewsBESimple() throws IOException {
QueryProfileRegistry registry = new QueryProfileXMLReader().read(root + "newsbesimple");
- QueryProfiles profiles = new QueryProfiles(registry);
+ QueryProfiles profiles = new QueryProfiles(registry, new SilentDeployLogger());
assertSerializedConfigFileEquals(root + "newsbe-query-profiles-simple.cfg", profiles.getConfig().toString());
}
@Test
public void testConfigCreationNewsFESimple() throws IOException {
QueryProfileRegistry registry = new QueryProfileXMLReader().read(root + "newsfesimple");
- QueryProfiles profiles = new QueryProfiles(registry);
+ QueryProfiles profiles = new QueryProfiles(registry, new SilentDeployLogger());
assertSerializedConfigFileEquals(root + "newsfe-query-profiles-simple.cfg", profiles.getConfig().toString());
}
@@ -63,7 +65,7 @@ public class QueryProfileVariantsTestCase {
registry.register(a1);
registry.register(profile);
- QueryProfiles profiles = new QueryProfiles(registry);
+ QueryProfiles profiles = new QueryProfiles(registry, new SilentDeployLogger());
assertSerializedConfigFileEquals(root + "variants-of-explicit-compound.cfg", profiles.getConfig().toString());
}
@@ -88,7 +90,7 @@ public class QueryProfileVariantsTestCase {
registry.register(a2);
registry.register(profile);
- QueryProfiles profiles = new QueryProfiles(registry);
+ QueryProfiles profiles = new QueryProfiles(registry, new SilentDeployLogger());
assertSerializedConfigFileEquals(root + "variants-of-explicit-compound-with-reference.cfg", profiles.getConfig().toString());
}
@@ -108,8 +110,15 @@ public class QueryProfileVariantsTestCase {
registry.register(a1);
registry.register(profile);
- QueryProfiles profiles = new QueryProfiles(registry);
+ QueryProfiles profiles = new QueryProfiles(registry, new SilentDeployLogger());
assertSerializedConfigFileEquals(root + "explicit-reference-override.cfg", profiles.getConfig().toString());
}
+ private static class SilentDeployLogger implements DeployLogger {
+
+ @Override
+ public void log(Level level, String message) {}
+
+ }
+
}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/search/test/QueryProfilesTestCase.java b/config-model/src/test/java/com/yahoo/vespa/model/container/search/test/QueryProfilesTestCase.java
index 8c725ecc43c..746e771667f 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/container/search/test/QueryProfilesTestCase.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/container/search/test/QueryProfilesTestCase.java
@@ -2,6 +2,7 @@
package com.yahoo.vespa.model.container.search.test;
import com.yahoo.component.ComponentId;
+import com.yahoo.config.application.api.DeployLogger;
import com.yahoo.search.query.profile.QueryProfile;
import com.yahoo.search.query.profile.QueryProfileRegistry;
import com.yahoo.search.query.profile.compiled.CompiledQueryProfileRegistry;
@@ -11,12 +12,18 @@ import com.yahoo.search.query.profile.types.FieldDescription;
import com.yahoo.search.query.profile.types.FieldType;
import com.yahoo.search.query.profile.types.QueryProfileType;
import com.yahoo.search.query.profile.types.QueryProfileTypeRegistry;
+import com.yahoo.searchdefinition.SearchBuilder;
+import com.yahoo.searchdefinition.parser.ParseException;
import com.yahoo.vespa.model.container.search.QueryProfiles;
+import com.yahoo.vespa.model.test.utils.DeployLoggerStub;
import org.junit.Test;
import java.io.IOException;
+import java.util.logging.Level;
+import java.util.logging.Logger;
import static helpers.CompareConfigTestHelper.assertSerializedConfigFileEquals;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
@@ -112,15 +119,63 @@ public class QueryProfilesTestCase {
registry.register(untypedUser);
assertConfig("query-profiles.cfg",registry);
+
+ DeployLoggerStub logger = new DeployLoggerStub();
+ new QueryProfiles(registry, logger);
+ assertTrue(logger.entries.isEmpty());
+ }
+
+ @Test
+ public void testValidation() {
+ QueryProfileRegistry registry = new QueryProfileRegistry();
+ QueryProfileTypeRegistry typeRegistry = registry.getTypeRegistry();
+
+ QueryProfileType userType = new QueryProfileType("user");
+ typeRegistry.register(userType);
+
+ DeployLoggerStub logger = new DeployLoggerStub();
+ new QueryProfiles(registry, logger);
+ assertEquals(1, logger.entries.size());
+ assertEquals("This application define query profile types, but has no query profiles referencing them " +
+ "so they have no effect. " +
+ "See https://docs.vespa.ai/documentation/query-profiles.html",
+ logger.entries.get(0).message);
+ }
+
+ @Test
+ public void testValidationWithTensorFields() {
+ QueryProfileRegistry registry = new QueryProfileRegistry();
+ QueryProfileTypeRegistry typeRegistry = registry.getTypeRegistry();
+
+ QueryProfileType userType = new QueryProfileType("user");
+ userType.addField(new FieldDescription("vector", FieldType.fromString("tensor(x[5])", typeRegistry)));
+ userType.addField(new FieldDescription("matrix", FieldType.fromString("tensor(x[5],y[5])", typeRegistry)));
+ typeRegistry.register(userType);
+
+ DeployLoggerStub logger = new DeployLoggerStub();
+ new QueryProfiles(registry, logger);
+ assertEquals(1, logger.entries.size());
+ assertEquals("This application define query profile types, but has no query profiles referencing them " +
+ "so they have no effect. " +
+ "In particular, the tensors (vector, matrix) will be interpreted as strings, not tensors if sent in requests. " +
+ "See https://docs.vespa.ai/documentation/query-profiles.html",
+ logger.entries.get(0).message);
}
protected void assertConfig(String correctFileName, QueryProfileRegistry check) throws IOException {
assertSerializedConfigFileEquals(root + "/" + correctFileName,
- com.yahoo.text.StringUtilities.implodeMultiline(com.yahoo.config.ConfigInstance.serialize(new QueryProfiles(check).getConfig())));
+ com.yahoo.text.StringUtilities.implodeMultiline(com.yahoo.config.ConfigInstance.serialize(new QueryProfiles(check, new SilentDeployLogger()).getConfig())));
// Also assert that the correct config config can actually be read as a config source
QueryProfileConfigurer configurer = new QueryProfileConfigurer("file:" + root + "empty.cfg");
configurer.shutdown();
}
+ private static class SilentDeployLogger implements DeployLogger {
+
+ @Override
+ public void log(Level level, String message) {}
+
+ }
+
}