diff options
Diffstat (limited to 'config-model/src/test/derived')
302 files changed, 18636 insertions, 0 deletions
diff --git a/config-model/src/test/derived/advanced/advanced.sd b/config-model/src/test/derived/advanced/advanced.sd new file mode 100644 index 00000000000..7d6623e268f --- /dev/null +++ b/config-model/src/test/derived/advanced/advanced.sd @@ -0,0 +1,105 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search advanced { + document advanced { + field debug_src type string { } + field attributes_src type string { } + field location_str type string { } + field title_src type string { } + field product_src type string { } + field product2_src type string { } + field product3_src type string { } + } + field debug type string { + indexing { + + # Initialize variables used for superduper ranking + 0 | set_var superduperus | set_var superdupereu | set_var superduperasia; + + input debug_src | lowercase | summary | index | split ";" | for_each { + # Loop through each token in debug string + switch { + case "superduperus": 10 | set_var superduperus; + case "superdupereu": 10 | set_var superdupereu; + case "superduperasia": 10 | set_var superduperasia; + } + }; + } + stemming: none + } + + field attributes type string { + indexing { + + # Initialize variables used for superduper ranking + 1 | set_var superdupermod; + 2 | set_var tmppubdate; + input attributes_src | lowercase | summary | index | split ";" | for_each { + # Loop through each token in attributes string + switch { + + # De-rank PR articles using the following rules: + # 1. Set editedstaticrank to '1' + # 2. Subtract 2.5 hours (9000 seconds) from timestamp used in ranking + # 3. No superduper rank + case "typepr": 1 | set_var tmpsourcerank | get_var tmppubdate - 9000 | set_var tmppubdate | 0 | set_var superdupermod; + } + }; + } + stemming: none + } + + field title type string { + indexing: input title_src | index + indexing-rewrite: none + rank-type: identity + stemming: none + alias: headline + } + + field title_s type string { + indexing: input title_src | summary + } + + field product type string { + indexing: input product_src | switch { + case "": "myweb" | index | summary; + default: input product_src | index | summary; + } + indexing-rewrite: none + normalizing: none + } + + field product2 type string { + indexing { + if (input product2_src == "foo") { + "bar" | index product2; + } else { + "baz" | index product2; + }; + } + indexing-rewrite: none + normalizing: none + } + + field product3 type string { + indexing: input product3_src | switch { + case "": "myweb" | index product3 | summary product3; + default: input product3_src | index product3 | summary product3; + } + normalizing: none + indexing-rewrite: none + } + + field location type position { + indexing: input location_str | to_pos | attribute + } + field mysummary type string { + indexing: input title_src | summary + } + fieldset titleabstract { + fields: title + } + fieldset default { + fields: title + } +} diff --git a/config-model/src/test/derived/advanced/attributes.cfg b/config-model/src/test/derived/advanced/attributes.cfg new file mode 100644 index 00000000000..afc25d5975c --- /dev/null +++ b/config-model/src/test/derived/advanced/attributes.cfg @@ -0,0 +1,19 @@ +attribute[0].name "location_zcurve" +attribute[0].datatype INT64 +attribute[0].collectiontype SINGLE +attribute[0].removeifzero false +attribute[0].createifnonexistent false +attribute[0].fastsearch true +attribute[0].huge false +attribute[0].sortascending true +attribute[0].sortfunction UCA +attribute[0].sortstrength PRIMARY +attribute[0].sortlocale "" +attribute[0].enablebitvectors false +attribute[0].enableonlybitvector false +attribute[0].fastaccess false +attribute[0].arity 8 +attribute[0].lowerbound -9223372036854775808 +attribute[0].upperbound 9223372036854775807 +attribute[0].densepostinglistthreshold 0.4 +attribute[0].tensortype ""
\ No newline at end of file diff --git a/config-model/src/test/derived/advanced/documentmanager.cfg b/config-model/src/test/derived/advanced/documentmanager.cfg new file mode 100644 index 00000000000..98c3d379987 --- /dev/null +++ b/config-model/src/test/derived/advanced/documentmanager.cfg @@ -0,0 +1,84 @@ +enablecompression false +datatype[0].id 1381038251 +datatype[0].structtype[0].name "position" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[0].structtype[0].field[0].name "x" +datatype[0].structtype[0].field[0].datatype 0 +datatype[0].structtype[0].field[1].name "y" +datatype[0].structtype[0].field[1].datatype 0 +datatype[1].id -1486737430 +datatype[1].arraytype[0].datatype 2 +datatype[2].id -1337915045 +datatype[2].structtype[0].name "advanced.header" +datatype[2].structtype[0].version 0 +datatype[2].structtype[0].compresstype NONE +datatype[2].structtype[0].compresslevel 0 +datatype[2].structtype[0].compressthreshold 95 +datatype[2].structtype[0].compressminsize 800 +datatype[2].structtype[0].field[0].name "debug_src" +datatype[2].structtype[0].field[0].datatype 2 +datatype[2].structtype[0].field[1].name "attributes_src" +datatype[2].structtype[0].field[1].datatype 2 +datatype[2].structtype[0].field[2].name "location_str" +datatype[2].structtype[0].field[2].datatype 2 +datatype[2].structtype[0].field[3].name "title_src" +datatype[2].structtype[0].field[3].datatype 2 +datatype[2].structtype[0].field[4].name "product_src" +datatype[2].structtype[0].field[4].datatype 2 +datatype[2].structtype[0].field[5].name "product2_src" +datatype[2].structtype[0].field[5].datatype 2 +datatype[2].structtype[0].field[6].name "product3_src" +datatype[2].structtype[0].field[6].datatype 2 +datatype[2].structtype[0].field[7].name "debug" +datatype[2].structtype[0].field[7].datatype 2 +datatype[2].structtype[0].field[8].name "attributes" +datatype[2].structtype[0].field[8].datatype 2 +datatype[2].structtype[0].field[9].name "title" +datatype[2].structtype[0].field[9].datatype 2 +datatype[2].structtype[0].field[10].name "product" +datatype[2].structtype[0].field[10].datatype 2 +datatype[2].structtype[0].field[11].name "product2" +datatype[2].structtype[0].field[11].datatype 2 +datatype[2].structtype[0].field[12].name "product3" +datatype[2].structtype[0].field[12].datatype 2 +datatype[2].structtype[0].field[13].name "location_zcurve" +datatype[2].structtype[0].field[13].datatype 4 +datatype[2].structtype[0].field[14].name "title_s" +datatype[2].structtype[0].field[14].datatype 2 +datatype[2].structtype[0].field[15].name "location.position" +datatype[2].structtype[0].field[15].datatype -1486737430 +datatype[2].structtype[0].field[16].name "location.distance" +datatype[2].structtype[0].field[16].datatype 0 +datatype[2].structtype[0].field[17].name "mysummary" +datatype[2].structtype[0].field[17].datatype 2 +datatype[2].structtype[0].field[18].name "rankfeatures" +datatype[2].structtype[0].field[18].datatype 2 +datatype[2].structtype[0].field[19].name "summaryfeatures" +datatype[2].structtype[0].field[19].datatype 2 +datatype[3].id -704605648 +datatype[3].structtype[0].name "advanced.body" +datatype[3].structtype[0].version 0 +datatype[3].structtype[0].compresstype NONE +datatype[3].structtype[0].compresslevel 0 +datatype[3].structtype[0].compressthreshold 95 +datatype[3].structtype[0].compressminsize 800 +datatype[4].id 686681444 +datatype[4].documenttype[0].name "advanced" +datatype[4].documenttype[0].version 0 +datatype[4].documenttype[0].inherits[0].name "document" +datatype[4].documenttype[0].inherits[0].version 0 +datatype[4].documenttype[0].headerstruct -1337915045 +datatype[4].documenttype[0].bodystruct -704605648 +datatype[4].documenttype[0].fieldsets{titleabstract}.fields[0] "title" +datatype[4].documenttype[0].fieldsets{default}.fields[0] "title" +datatype[4].documenttype[0].fieldsets{[document]}.fields[0] "attributes_src" +datatype[4].documenttype[0].fieldsets{[document]}.fields[1] "debug_src" +datatype[4].documenttype[0].fieldsets{[document]}.fields[2] "location_str" +datatype[4].documenttype[0].fieldsets{[document]}.fields[3] "product2_src" +datatype[4].documenttype[0].fieldsets{[document]}.fields[4] "product3_src" +datatype[4].documenttype[0].fieldsets{[document]}.fields[5] "product_src" +datatype[4].documenttype[0].fieldsets{[document]}.fields[6] "title_src" diff --git a/config-model/src/test/derived/advanced/ilscripts.cfg b/config-model/src/test/derived/advanced/ilscripts.cfg new file mode 100644 index 00000000000..ffa9a7e060f --- /dev/null +++ b/config-model/src/test/derived/advanced/ilscripts.cfg @@ -0,0 +1,24 @@ +maxtermoccurrences 100 +ilscript[0].doctype "advanced" +ilscript[0].docfield[0] "debug_src" +ilscript[0].docfield[1] "attributes_src" +ilscript[0].docfield[2] "location_str" +ilscript[0].docfield[3] "title_src" +ilscript[0].docfield[4] "product_src" +ilscript[0].docfield[5] "product2_src" +ilscript[0].docfield[6] "product3_src" +ilscript[0].content[0] "clear_state | guard { 1 | set_var superdupermod; 2 | set_var tmppubdate; input attributes_src | lowercase | tokenize normalize | summary attributes | index attributes | split \";\" | for_each { switch { case \"typepr\": 1 | set_var tmpsourcerank | get_var tmppubdate - 9000 | set_var tmppubdate | 0 | set_var superdupermod; } }; }" +ilscript[0].content[1] "clear_state | guard { 0 | set_var superduperus | set_var superdupereu | set_var superduperasia; input debug_src | lowercase | tokenize normalize | summary debug | index debug | split \";\" | for_each { switch { case \"superduperus\": 10 | set_var superduperus; case \"superdupereu\": 10 | set_var superdupereu; case \"superduperasia\": 10 | set_var superduperasia; } }; }" +ilscript[0].content[2] "clear_state | guard { input location_str | to_pos | zcurve | attribute location_zcurve; }" +ilscript[0].content[3] "clear_state | guard { input title_src | summary mysummary; }" +ilscript[0].content[4] "clear_state | guard { input product_src | switch { case \"\": \"myweb\" | tokenize stem:\"SHORTEST\" | index product | summary product; default: input product_src | tokenize stem:\"SHORTEST\" | index product | summary product; }; }" +ilscript[0].content[5] "clear_state | guard { if (input product2_src == \"foo\") { \"bar\" | tokenize stem:\"SHORTEST\" | index product2; } else { \"baz\" | tokenize stem:\"SHORTEST\" | index product2; }; }" +ilscript[0].content[6] "clear_state | guard { input product3_src | switch { case \"\": \"myweb\" | tokenize stem:\"SHORTEST\" | index product3 | summary product3; default: input product3_src | tokenize stem:\"SHORTEST\" | index product3 | summary product3; }; }" +ilscript[0].content[7] "clear_state | guard { input title_src | tokenize normalize | index title; }" +ilscript[0].content[8] "clear_state | guard { input title_src | summary title_s; }" +ilscript[0].content[9] "input attributes_src | passthrough attributes_src" +ilscript[0].content[10] "input debug_src | passthrough debug_src" +ilscript[0].content[11] "input product2_src | passthrough product2_src" +ilscript[0].content[12] "input product3_src | passthrough product3_src" +ilscript[0].content[13] "input product_src | passthrough product_src" +ilscript[0].content[14] "input title_src | passthrough title_src"
\ No newline at end of file diff --git a/config-model/src/test/derived/advanced/index-info.cfg b/config-model/src/test/derived/advanced/index-info.cfg new file mode 100644 index 00000000000..1bb68110dae --- /dev/null +++ b/config-model/src/test/derived/advanced/index-info.cfg @@ -0,0 +1,97 @@ +indexinfo[0].name "advanced" +indexinfo[0].command[0].indexname "sddocname" +indexinfo[0].command[0].command "index" +indexinfo[0].command[1].indexname "sddocname" +indexinfo[0].command[1].command "word" +indexinfo[0].command[2].indexname "debug_src" +indexinfo[0].command[2].command "index" +indexinfo[0].command[3].indexname "attributes_src" +indexinfo[0].command[3].command "index" +indexinfo[0].command[4].indexname "location_str" +indexinfo[0].command[4].command "index" +indexinfo[0].command[5].indexname "title_src" +indexinfo[0].command[5].command "index" +indexinfo[0].command[6].indexname "product_src" +indexinfo[0].command[6].command "index" +indexinfo[0].command[7].indexname "product2_src" +indexinfo[0].command[7].command "index" +indexinfo[0].command[8].indexname "product3_src" +indexinfo[0].command[8].command "index" +indexinfo[0].command[9].indexname "attributes" +indexinfo[0].command[9].command "index" +indexinfo[0].command[10].indexname "attributes" +indexinfo[0].command[10].command "lowercase" +indexinfo[0].command[11].indexname "attributes" +indexinfo[0].command[11].command "normalize" +indexinfo[0].command[12].indexname "debug" +indexinfo[0].command[12].command "index" +indexinfo[0].command[13].indexname "debug" +indexinfo[0].command[13].command "lowercase" +indexinfo[0].command[14].indexname "debug" +indexinfo[0].command[14].command "normalize" +indexinfo[0].command[15].indexname "location" +indexinfo[0].command[15].command "default-position" +indexinfo[0].command[16].indexname "location" +indexinfo[0].command[16].command "index" +indexinfo[0].command[17].indexname "location.distance" +indexinfo[0].command[17].command "index" +indexinfo[0].command[18].indexname "location.distance" +indexinfo[0].command[18].command "numerical" +indexinfo[0].command[19].indexname "location.position" +indexinfo[0].command[19].command "index" +indexinfo[0].command[20].indexname "location.position" +indexinfo[0].command[20].command "multivalue" +indexinfo[0].command[21].indexname "location_zcurve" +indexinfo[0].command[21].command "index" +indexinfo[0].command[22].indexname "location_zcurve" +indexinfo[0].command[22].command "attribute" +indexinfo[0].command[23].indexname "location_zcurve" +indexinfo[0].command[23].command "fast-search" +indexinfo[0].command[24].indexname "location_zcurve" +indexinfo[0].command[24].command "numerical" +indexinfo[0].command[25].indexname "mysummary" +indexinfo[0].command[25].command "index" +indexinfo[0].command[26].indexname "product" +indexinfo[0].command[26].command "index" +indexinfo[0].command[27].indexname "product" +indexinfo[0].command[27].command "lowercase" +indexinfo[0].command[28].indexname "product" +indexinfo[0].command[28].command "stem:SHORTEST" +indexinfo[0].command[29].indexname "product2" +indexinfo[0].command[29].command "index" +indexinfo[0].command[30].indexname "product2" +indexinfo[0].command[30].command "lowercase" +indexinfo[0].command[31].indexname "product2" +indexinfo[0].command[31].command "stem:SHORTEST" +indexinfo[0].command[32].indexname "product3" +indexinfo[0].command[32].command "index" +indexinfo[0].command[33].indexname "product3" +indexinfo[0].command[33].command "lowercase" +indexinfo[0].command[34].indexname "product3" +indexinfo[0].command[34].command "stem:SHORTEST" +indexinfo[0].command[35].indexname "rankfeatures" +indexinfo[0].command[35].command "index" +indexinfo[0].command[36].indexname "summaryfeatures" +indexinfo[0].command[36].command "index" +indexinfo[0].command[37].indexname "title" +indexinfo[0].command[37].command "index" +indexinfo[0].command[38].indexname "titleabstract" +indexinfo[0].command[38].command "index" +indexinfo[0].command[39].indexname "default" +indexinfo[0].command[39].command "index" +indexinfo[0].command[40].indexname "title" +indexinfo[0].command[40].command "lowercase" +indexinfo[0].command[41].indexname "titleabstract" +indexinfo[0].command[41].command "lowercase" +indexinfo[0].command[42].indexname "default" +indexinfo[0].command[42].command "lowercase" +indexinfo[0].command[43].indexname "title" +indexinfo[0].command[43].command "normalize" +indexinfo[0].command[44].indexname "titleabstract" +indexinfo[0].command[44].command "normalize" +indexinfo[0].command[45].indexname "default" +indexinfo[0].command[45].command "normalize" +indexinfo[0].command[46].indexname "title_s" +indexinfo[0].command[46].command "index" +indexinfo[0].alias[0].alias "headline" +indexinfo[0].alias[0].indexname "title"
\ No newline at end of file diff --git a/config-model/src/test/derived/advanced/rank-profiles.cfg b/config-model/src/test/derived/advanced/rank-profiles.cfg new file mode 100644 index 00000000000..779ee927952 --- /dev/null +++ b/config-model/src/test/derived/advanced/rank-profiles.cfg @@ -0,0 +1,18 @@ +rankprofile[0].name "default" +rankprofile[0].fef.property[0].name "nativeFieldMatch.firstOccurrenceTable.title" +rankprofile[0].fef.property[0].value "expdecay(100,12.50)" +rankprofile[0].fef.property[1].name "nativeFieldMatch.occurrenceCountTable.title" +rankprofile[0].fef.property[1].value "loggrowth(1500,4000,19)" +rankprofile[0].fef.property[2].name "nativeProximity.proximityTable.title" +rankprofile[0].fef.property[2].value "expdecay(5000,3)" +rankprofile[0].fef.property[3].name "nativeProximity.reverseProximityTable.title" +rankprofile[0].fef.property[3].value "expdecay(3000,3)" +rankprofile[1].name "unranked" +rankprofile[1].fef.property[0].name "vespa.rank.firstphase" +rankprofile[1].fef.property[0].value "value(0)" +rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize" +rankprofile[1].fef.property[1].value "0" +rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize" +rankprofile[1].fef.property[2].value "0" +rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures" +rankprofile[1].fef.property[3].value "true"
\ No newline at end of file diff --git a/config-model/src/test/derived/advanced/summary.cfg b/config-model/src/test/derived/advanced/summary.cfg new file mode 100644 index 00000000000..529bebd431b --- /dev/null +++ b/config-model/src/test/derived/advanced/summary.cfg @@ -0,0 +1,33 @@ +defaultsummaryid 1271952241 +classes[0].id 1271952241 +classes[0].name "default" +classes[0].fields[0].name "debug" +classes[0].fields[0].type "longstring" +classes[0].fields[1].name "attributes" +classes[0].fields[1].type "longstring" +classes[0].fields[2].name "title_s" +classes[0].fields[2].type "longstring" +classes[0].fields[3].name "product" +classes[0].fields[3].type "longstring" +classes[0].fields[4].name "product3" +classes[0].fields[4].type "longstring" +classes[0].fields[5].name "location.position" +classes[0].fields[5].type "xmlstring" +classes[0].fields[6].name "location.distance" +classes[0].fields[6].type "integer" +classes[0].fields[7].name "mysummary" +classes[0].fields[7].type "longstring" +classes[0].fields[8].name "rankfeatures" +classes[0].fields[8].type "featuredata" +classes[0].fields[9].name "summaryfeatures" +classes[0].fields[9].type "featuredata" +classes[0].fields[10].name "documentid" +classes[0].fields[10].type "longstring" +classes[1].id 472092010 +classes[1].name "attributeprefetch" +classes[1].fields[0].name "location_zcurve" +classes[1].fields[0].type "int64" +classes[1].fields[1].name "rankfeatures" +classes[1].fields[1].type "featuredata" +classes[1].fields[2].name "summaryfeatures" +classes[1].fields[2].type "featuredata"
\ No newline at end of file diff --git a/config-model/src/test/derived/advanced/summarymap.cfg b/config-model/src/test/derived/advanced/summarymap.cfg new file mode 100644 index 00000000000..ee1a491f8c8 --- /dev/null +++ b/config-model/src/test/derived/advanced/summarymap.cfg @@ -0,0 +1,16 @@ +defaultoutputclass -1 +override[0].field "location.position" +override[0].command "positions" +override[0].arguments "location_zcurve" +override[1].field "location.distance" +override[1].command "absdist" +override[1].arguments "location_zcurve" +override[2].field "rankfeatures" +override[2].command "rankfeatures" +override[2].arguments "" +override[3].field "summaryfeatures" +override[3].command "summaryfeatures" +override[3].arguments "" +override[4].field "location_zcurve" +override[4].command "attribute" +override[4].arguments "location_zcurve"
\ No newline at end of file diff --git a/config-model/src/test/derived/annotationsimplicitstruct/annotationsimplicitstruct.sd b/config-model/src/test/derived/annotationsimplicitstruct/annotationsimplicitstruct.sd new file mode 100755 index 00000000000..37c88f58b6b --- /dev/null +++ b/config-model/src/test/derived/annotationsimplicitstruct/annotationsimplicitstruct.sd @@ -0,0 +1,12 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search annotationsimplicitstruct { + + document annotationsimplicitstruct { + + annotation banana { + field brand type string { } + } + + } + +} diff --git a/config-model/src/test/derived/annotationsimplicitstruct/documentmanager.cfg b/config-model/src/test/derived/annotationsimplicitstruct/documentmanager.cfg new file mode 100755 index 00000000000..db85eb92e9b --- /dev/null +++ b/config-model/src/test/derived/annotationsimplicitstruct/documentmanager.cfg @@ -0,0 +1,49 @@ +enablecompression false +datatype[0].id 1381038251 +datatype[0].structtype[0].name "position" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[0].structtype[0].field[0].name "x" +datatype[0].structtype[0].field[0].datatype 0 +datatype[0].structtype[0].field[1].name "y" +datatype[0].structtype[0].field[1].datatype 0 +datatype[1].id 517946310 +datatype[1].structtype[0].name "annotation.banana" +datatype[1].structtype[0].version 0 +datatype[1].structtype[0].compresstype NONE +datatype[1].structtype[0].compresslevel 0 +datatype[1].structtype[0].compressthreshold 95 +datatype[1].structtype[0].compressminsize 800 +datatype[1].structtype[0].field[0].name "brand" +datatype[1].structtype[0].field[0].datatype 2 +datatype[2].id -364910881 +datatype[2].structtype[0].name "annotationsimplicitstruct.header" +datatype[2].structtype[0].version 0 +datatype[2].structtype[0].compresstype NONE +datatype[2].structtype[0].compresslevel 0 +datatype[2].structtype[0].compressthreshold 95 +datatype[2].structtype[0].compressminsize 800 +datatype[2].structtype[0].field[0].name "rankfeatures" +datatype[2].structtype[0].field[0].datatype 2 +datatype[2].structtype[0].field[1].name "summaryfeatures" +datatype[2].structtype[0].field[1].datatype 2 +datatype[3].id -1503592268 +datatype[3].structtype[0].name "annotationsimplicitstruct.body" +datatype[3].structtype[0].version 0 +datatype[3].structtype[0].compresstype NONE +datatype[3].structtype[0].compresslevel 0 +datatype[3].structtype[0].compressthreshold 95 +datatype[3].structtype[0].compressminsize 800 +datatype[4].id -2099544992 +datatype[4].documenttype[0].name "annotationsimplicitstruct" +datatype[4].documenttype[0].version 0 +datatype[4].documenttype[0].inherits[0].name "document" +datatype[4].documenttype[0].inherits[0].version 0 +datatype[4].documenttype[0].headerstruct -364910881 +datatype[4].documenttype[0].bodystruct -1503592268 +annotationtype[0].id -269517759 +annotationtype[0].name "banana" +annotationtype[0].datatype 517946310 diff --git a/config-model/src/test/derived/annotationsimplicitstruct/ilscripts.cfg b/config-model/src/test/derived/annotationsimplicitstruct/ilscripts.cfg new file mode 100644 index 00000000000..b49e52092c2 --- /dev/null +++ b/config-model/src/test/derived/annotationsimplicitstruct/ilscripts.cfg @@ -0,0 +1,2 @@ +maxtermoccurrences 100 +ilscript[0].doctype "annotationsimplicitstruct"
\ No newline at end of file diff --git a/config-model/src/test/derived/annotationsimplicitstruct/index-info.cfg b/config-model/src/test/derived/annotationsimplicitstruct/index-info.cfg new file mode 100755 index 00000000000..30ee2e6333b --- /dev/null +++ b/config-model/src/test/derived/annotationsimplicitstruct/index-info.cfg @@ -0,0 +1,9 @@ +indexinfo[0].name "annotationsimplicitstruct" +indexinfo[0].command[0].indexname "sddocname" +indexinfo[0].command[0].command "index" +indexinfo[0].command[1].indexname "sddocname" +indexinfo[0].command[1].command "word" +indexinfo[0].command[2].indexname "rankfeatures" +indexinfo[0].command[2].command "index" +indexinfo[0].command[3].indexname "summaryfeatures" +indexinfo[0].command[3].command "index"
\ No newline at end of file diff --git a/config-model/src/test/derived/annotationsinheritance/annotationsinheritance.sd b/config-model/src/test/derived/annotationsinheritance/annotationsinheritance.sd new file mode 100755 index 00000000000..8316e6b7fa5 --- /dev/null +++ b/config-model/src/test/derived/annotationsinheritance/annotationsinheritance.sd @@ -0,0 +1,39 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search annotationsinheritance { + + document annotationsinheritance { + + annotation fruit { + } + + annotation banana inherits fruit { + field brand type string { } + } + + annotation vehicle { + field numwheels type int { } + } + + annotation car inherits vehicle { + field color type string { } + } + + annotation intern inherits employee { + field enddate type long { } + } + + annotation employee inherits worker { + field employeeid type int { } + } + + annotation worker inherits person { + } + + annotation person { + field name type string { } + } + + } + + +} diff --git a/config-model/src/test/derived/annotationsinheritance/documentmanager.cfg b/config-model/src/test/derived/annotationsinheritance/documentmanager.cfg new file mode 100755 index 00000000000..11e179ec748 --- /dev/null +++ b/config-model/src/test/derived/annotationsinheritance/documentmanager.cfg @@ -0,0 +1,135 @@ +enablecompression false +datatype[0].id 1381038251 +datatype[0].structtype[0].name "position" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[0].structtype[0].field[0].name "x" +datatype[0].structtype[0].field[0].datatype 0 +datatype[0].structtype[0].field[1].name "y" +datatype[0].structtype[0].field[1].datatype 0 +datatype[1].id 517946310 +datatype[1].structtype[0].name "annotation.banana" +datatype[1].structtype[0].version 0 +datatype[1].structtype[0].compresstype NONE +datatype[1].structtype[0].compresslevel 0 +datatype[1].structtype[0].compressthreshold 95 +datatype[1].structtype[0].compressminsize 800 +datatype[1].structtype[0].field[0].name "brand" +datatype[1].structtype[0].field[0].datatype 2 +datatype[2].id -1339036621 +datatype[2].structtype[0].name "annotation.intern" +datatype[2].structtype[0].version 0 +datatype[2].structtype[0].compresstype NONE +datatype[2].structtype[0].compresslevel 0 +datatype[2].structtype[0].compressthreshold 95 +datatype[2].structtype[0].compressminsize 800 +datatype[2].structtype[0].field[0].name "enddate" +datatype[2].structtype[0].field[0].datatype 4 +datatype[2].structtype[0].inherits[0].name "annotation.employee" +datatype[2].structtype[0].inherits[0].version 0 +datatype[3].id 249059607 +datatype[3].structtype[0].name "annotation.car" +datatype[3].structtype[0].version 0 +datatype[3].structtype[0].compresstype NONE +datatype[3].structtype[0].compresslevel 0 +datatype[3].structtype[0].compressthreshold 95 +datatype[3].structtype[0].compressminsize 800 +datatype[3].structtype[0].field[0].name "color" +datatype[3].structtype[0].field[0].datatype 2 +datatype[3].structtype[0].inherits[0].name "annotation.vehicle" +datatype[3].structtype[0].inherits[0].version 0 +datatype[4].id -1466283082 +datatype[4].structtype[0].name "annotation.person" +datatype[4].structtype[0].version 0 +datatype[4].structtype[0].compresstype NONE +datatype[4].structtype[0].compresslevel 0 +datatype[4].structtype[0].compressthreshold 95 +datatype[4].structtype[0].compressminsize 800 +datatype[4].structtype[0].field[0].name "name" +datatype[4].structtype[0].field[0].datatype 2 +datatype[5].id -858216177 +datatype[5].structtype[0].name "annotation.employee" +datatype[5].structtype[0].version 0 +datatype[5].structtype[0].compresstype NONE +datatype[5].structtype[0].compresslevel 0 +datatype[5].structtype[0].compressthreshold 95 +datatype[5].structtype[0].compressminsize 800 +datatype[5].structtype[0].field[0].name "employeeid" +datatype[5].structtype[0].field[0].datatype 0 +datatype[5].structtype[0].inherits[0].name "annotation.worker" +datatype[5].structtype[0].inherits[0].version 0 +datatype[6].id -1874092641 +datatype[6].structtype[0].name "annotation.worker" +datatype[6].structtype[0].version 0 +datatype[6].structtype[0].compresstype NONE +datatype[6].structtype[0].compresslevel 0 +datatype[6].structtype[0].compressthreshold 95 +datatype[6].structtype[0].compressminsize 800 +datatype[6].structtype[0].inherits[0].name "annotation.person" +datatype[6].structtype[0].inherits[0].version 0 +datatype[7].id -1047410193 +datatype[7].structtype[0].name "annotation.vehicle" +datatype[7].structtype[0].version 0 +datatype[7].structtype[0].compresstype NONE +datatype[7].structtype[0].compresslevel 0 +datatype[7].structtype[0].compressthreshold 95 +datatype[7].structtype[0].compressminsize 800 +datatype[7].structtype[0].field[0].name "numwheels" +datatype[7].structtype[0].field[0].datatype 0 +datatype[8].id -1406250281 +datatype[8].structtype[0].name "annotationsinheritance.header" +datatype[8].structtype[0].version 0 +datatype[8].structtype[0].compresstype NONE +datatype[8].structtype[0].compresslevel 0 +datatype[8].structtype[0].compressthreshold 95 +datatype[8].structtype[0].compressminsize 800 +datatype[8].structtype[0].field[0].name "rankfeatures" +datatype[8].structtype[0].field[0].datatype 2 +datatype[8].structtype[0].field[1].name "summaryfeatures" +datatype[8].structtype[0].field[1].datatype 2 +datatype[9].id 1181354668 +datatype[9].structtype[0].name "annotationsinheritance.body" +datatype[9].structtype[0].version 0 +datatype[9].structtype[0].compresstype NONE +datatype[9].structtype[0].compresslevel 0 +datatype[9].structtype[0].compressthreshold 95 +datatype[9].structtype[0].compressminsize 800 +datatype[10].id -748546200 +datatype[10].documenttype[0].name "annotationsinheritance" +datatype[10].documenttype[0].version 0 +datatype[10].documenttype[0].inherits[0].name "document" +datatype[10].documenttype[0].inherits[0].version 0 +datatype[10].documenttype[0].headerstruct -1406250281 +datatype[10].documenttype[0].bodystruct 1181354668 +annotationtype[0].id -269517759 +annotationtype[0].name "banana" +annotationtype[0].datatype 517946310 +annotationtype[0].inherits[0].id 877283632 +annotationtype[1].id 855102455 +annotationtype[1].name "intern" +annotationtype[1].datatype -1339036621 +annotationtype[1].inherits[0].id 804106508 +annotationtype[2].id -973728295 +annotationtype[2].name "car" +annotationtype[2].datatype 249059607 +annotationtype[2].inherits[0].id 290814930 +annotationtype[3].id 877283632 +annotationtype[3].name "fruit" +annotationtype[3].datatype -1 +annotationtype[4].id 609952424 +annotationtype[4].name "person" +annotationtype[4].datatype -1466283082 +annotationtype[5].id 804106508 +annotationtype[5].name "employee" +annotationtype[5].datatype -858216177 +annotationtype[5].inherits[0].id 881692980 +annotationtype[6].id 881692980 +annotationtype[6].name "worker" +annotationtype[6].datatype -1874092641 +annotationtype[6].inherits[0].id 609952424 +annotationtype[7].id 290814930 +annotationtype[7].name "vehicle" +annotationtype[7].datatype -1047410193 diff --git a/config-model/src/test/derived/annotationsinheritance/ilscripts.cfg b/config-model/src/test/derived/annotationsinheritance/ilscripts.cfg new file mode 100755 index 00000000000..a6b1aabfb47 --- /dev/null +++ b/config-model/src/test/derived/annotationsinheritance/ilscripts.cfg @@ -0,0 +1,2 @@ +maxtermoccurrences 100 +ilscript[0].doctype "annotationsinheritance"
\ No newline at end of file diff --git a/config-model/src/test/derived/annotationsinheritance/index-info.cfg b/config-model/src/test/derived/annotationsinheritance/index-info.cfg new file mode 100755 index 00000000000..ae1a6462229 --- /dev/null +++ b/config-model/src/test/derived/annotationsinheritance/index-info.cfg @@ -0,0 +1,9 @@ +indexinfo[0].name "annotationsinheritance" +indexinfo[0].command[0].indexname "sddocname" +indexinfo[0].command[0].command "index" +indexinfo[0].command[1].indexname "sddocname" +indexinfo[0].command[1].command "word" +indexinfo[0].command[2].indexname "rankfeatures" +indexinfo[0].command[2].command "index" +indexinfo[0].command[3].indexname "summaryfeatures" +indexinfo[0].command[3].command "index"
\ No newline at end of file diff --git a/config-model/src/test/derived/annotationsinheritance2/annotationsinheritance2.sd b/config-model/src/test/derived/annotationsinheritance2/annotationsinheritance2.sd new file mode 100755 index 00000000000..441ea3c4f65 --- /dev/null +++ b/config-model/src/test/derived/annotationsinheritance2/annotationsinheritance2.sd @@ -0,0 +1,32 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search annotationsinheritance2 { + + document annotationsinheritance2 { + + annotation g { + field gfoo type string { } + } + + annotation f { + } + + annotation e inherits d { + } + + + annotation d inherits c { + } + + annotation c { + field cfoo type int { } + } + + annotation b inherits a { + } + + annotation a { + } + + } + +} diff --git a/config-model/src/test/derived/annotationsinheritance2/documentmanager.cfg b/config-model/src/test/derived/annotationsinheritance2/documentmanager.cfg new file mode 100755 index 00000000000..e49d0753296 --- /dev/null +++ b/config-model/src/test/derived/annotationsinheritance2/documentmanager.cfg @@ -0,0 +1,97 @@ +enablecompression false +datatype[0].id 1381038251 +datatype[0].structtype[0].name "position" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[0].structtype[0].field[0].name "x" +datatype[0].structtype[0].field[0].datatype 0 +datatype[0].structtype[0].field[1].name "y" +datatype[0].structtype[0].field[1].datatype 0 +datatype[1].id 1443831334 +datatype[1].structtype[0].name "annotation.c" +datatype[1].structtype[0].version 0 +datatype[1].structtype[0].compresstype NONE +datatype[1].structtype[0].compresslevel 0 +datatype[1].structtype[0].compressthreshold 95 +datatype[1].structtype[0].compressminsize 800 +datatype[1].structtype[0].field[0].name "cfoo" +datatype[1].structtype[0].field[0].datatype 0 +datatype[2].id 1443832295 +datatype[2].structtype[0].name "annotation.d" +datatype[2].structtype[0].version 0 +datatype[2].structtype[0].compresstype NONE +datatype[2].structtype[0].compresslevel 0 +datatype[2].structtype[0].compressthreshold 95 +datatype[2].structtype[0].compressminsize 800 +datatype[2].structtype[0].inherits[0].name "annotation.c" +datatype[2].structtype[0].inherits[0].version 0 +datatype[3].id 1443833256 +datatype[3].structtype[0].name "annotation.e" +datatype[3].structtype[0].version 0 +datatype[3].structtype[0].compresstype NONE +datatype[3].structtype[0].compresslevel 0 +datatype[3].structtype[0].compressthreshold 95 +datatype[3].structtype[0].compressminsize 800 +datatype[3].structtype[0].inherits[0].name "annotation.d" +datatype[3].structtype[0].inherits[0].version 0 +datatype[4].id 1443835178 +datatype[4].structtype[0].name "annotation.g" +datatype[4].structtype[0].version 0 +datatype[4].structtype[0].compresstype NONE +datatype[4].structtype[0].compresslevel 0 +datatype[4].structtype[0].compressthreshold 95 +datatype[4].structtype[0].compressminsize 800 +datatype[4].structtype[0].field[0].name "gfoo" +datatype[4].structtype[0].field[0].datatype 2 +datatype[5].id 424382193 +datatype[5].structtype[0].name "annotationsinheritance2.header" +datatype[5].structtype[0].version 0 +datatype[5].structtype[0].compresstype NONE +datatype[5].structtype[0].compresslevel 0 +datatype[5].structtype[0].compressthreshold 95 +datatype[5].structtype[0].compressminsize 800 +datatype[5].structtype[0].field[0].name "rankfeatures" +datatype[5].structtype[0].field[0].datatype 2 +datatype[5].structtype[0].field[1].name "summaryfeatures" +datatype[5].structtype[0].field[1].datatype 2 +datatype[6].id 1375438150 +datatype[6].structtype[0].name "annotationsinheritance2.body" +datatype[6].structtype[0].version 0 +datatype[6].structtype[0].compresstype NONE +datatype[6].structtype[0].compresslevel 0 +datatype[6].structtype[0].compressthreshold 95 +datatype[6].structtype[0].compressminsize 800 +datatype[7].id -1730091890 +datatype[7].documenttype[0].name "annotationsinheritance2" +datatype[7].documenttype[0].version 0 +datatype[7].documenttype[0].inherits[0].name "document" +datatype[7].documenttype[0].inherits[0].version 0 +datatype[7].documenttype[0].headerstruct 424382193 +datatype[7].documenttype[0].bodystruct 1375438150 +annotationtype[0].id 1769416289 +annotationtype[0].name "a" +annotationtype[0].datatype -1 +annotationtype[1].id 1966167951 +annotationtype[1].name "b" +annotationtype[1].datatype -1 +annotationtype[1].inherits[0].id 1769416289 +annotationtype[2].id 1082875699 +annotationtype[2].name "c" +annotationtype[2].datatype 1443831334 +annotationtype[3].id 383816109 +annotationtype[3].name "d" +annotationtype[3].datatype 1443832295 +annotationtype[3].inherits[0].id 1082875699 +annotationtype[4].id -398332878 +annotationtype[4].name "e" +annotationtype[4].datatype 1443833256 +annotationtype[4].inherits[0].id 383816109 +annotationtype[5].id 422169831 +annotationtype[5].name "f" +annotationtype[5].datatype -1 +annotationtype[6].id 907314269 +annotationtype[6].name "g" +annotationtype[6].datatype 1443835178 diff --git a/config-model/src/test/derived/annotationsinheritance2/ilscripts.cfg b/config-model/src/test/derived/annotationsinheritance2/ilscripts.cfg new file mode 100755 index 00000000000..2717f4ab7e5 --- /dev/null +++ b/config-model/src/test/derived/annotationsinheritance2/ilscripts.cfg @@ -0,0 +1,2 @@ +maxtermoccurrences 100 +ilscript[0].doctype "annotationsinheritance2"
\ No newline at end of file diff --git a/config-model/src/test/derived/annotationsinheritance2/index-info.cfg b/config-model/src/test/derived/annotationsinheritance2/index-info.cfg new file mode 100755 index 00000000000..5c41ffe1bb7 --- /dev/null +++ b/config-model/src/test/derived/annotationsinheritance2/index-info.cfg @@ -0,0 +1,9 @@ +indexinfo[0].name "annotationsinheritance2" +indexinfo[0].command[0].indexname "sddocname" +indexinfo[0].command[0].command "index" +indexinfo[0].command[1].indexname "sddocname" +indexinfo[0].command[1].command "word" +indexinfo[0].command[2].indexname "rankfeatures" +indexinfo[0].command[2].command "index" +indexinfo[0].command[3].indexname "summaryfeatures" +indexinfo[0].command[3].command "index"
\ No newline at end of file diff --git a/config-model/src/test/derived/annotationsoutsideofdocument/annotationsoutsideofdocument.sd b/config-model/src/test/derived/annotationsoutsideofdocument/annotationsoutsideofdocument.sd new file mode 100644 index 00000000000..6b46ec6c86e --- /dev/null +++ b/config-model/src/test/derived/annotationsoutsideofdocument/annotationsoutsideofdocument.sd @@ -0,0 +1,11 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search annotationsoutsideofdocument { + +# (will fail) + +annotation foo {} + +document { + +} +} diff --git a/config-model/src/test/derived/annotationspolymorphy/annotationspolymorphy.sd b/config-model/src/test/derived/annotationspolymorphy/annotationspolymorphy.sd new file mode 100644 index 00000000000..64fd62bc58b --- /dev/null +++ b/config-model/src/test/derived/annotationspolymorphy/annotationspolymorphy.sd @@ -0,0 +1,15 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search annotationspolymorphy { + + document annotationspolymorphy { + + annotation super { + } + annotation sub inherits super { + } + annotation blah { + field a type annotationreference<super> {} + } + + } +} diff --git a/config-model/src/test/derived/annotationspolymorphy/documentmanager.cfg b/config-model/src/test/derived/annotationspolymorphy/documentmanager.cfg new file mode 100755 index 00000000000..d612a3b168b --- /dev/null +++ b/config-model/src/test/derived/annotationspolymorphy/documentmanager.cfg @@ -0,0 +1,58 @@ +enablecompression false +datatype[0].id 1381038251 +datatype[0].structtype[0].name "position" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[0].structtype[0].field[0].name "x" +datatype[0].structtype[0].field[0].datatype 0 +datatype[0].structtype[0].field[1].name "y" +datatype[0].structtype[0].field[1].datatype 0 +datatype[1].id -2014701853 +datatype[1].annotationreftype[0].annotation "super" +datatype[2].id -888007918 +datatype[2].structtype[0].name "annotation.blah" +datatype[2].structtype[0].version 0 +datatype[2].structtype[0].compresstype NONE +datatype[2].structtype[0].compresslevel 0 +datatype[2].structtype[0].compressthreshold 95 +datatype[2].structtype[0].compressminsize 800 +datatype[2].structtype[0].field[0].name "a" +datatype[2].structtype[0].field[0].datatype -2014701853 +datatype[3].id -1552577796 +datatype[3].structtype[0].name "annotationspolymorphy.header" +datatype[3].structtype[0].version 0 +datatype[3].structtype[0].compresstype NONE +datatype[3].structtype[0].compresslevel 0 +datatype[3].structtype[0].compressthreshold 95 +datatype[3].structtype[0].compressminsize 800 +datatype[3].structtype[0].field[0].name "rankfeatures" +datatype[3].structtype[0].field[0].datatype 2 +datatype[3].structtype[0].field[1].name "summaryfeatures" +datatype[3].structtype[0].field[1].datatype 2 +datatype[4].id -570750959 +datatype[4].structtype[0].name "annotationspolymorphy.body" +datatype[4].structtype[0].version 0 +datatype[4].structtype[0].compresstype NONE +datatype[4].structtype[0].compresslevel 0 +datatype[4].structtype[0].compressthreshold 95 +datatype[4].structtype[0].compressminsize 800 +datatype[5].id -1383624989 +datatype[5].documenttype[0].name "annotationspolymorphy" +datatype[5].documenttype[0].version 0 +datatype[5].documenttype[0].inherits[0].name "document" +datatype[5].documenttype[0].inherits[0].version 0 +datatype[5].documenttype[0].headerstruct -1552577796 +datatype[5].documenttype[0].bodystruct -570750959 +annotationtype[0].id 668095690 +annotationtype[0].name "super" +annotationtype[0].datatype -1 +annotationtype[1].id 119710016 +annotationtype[1].name "sub" +annotationtype[1].datatype -1 +annotationtype[1].inherits[0].id 668095690 +annotationtype[2].id -1793776935 +annotationtype[2].name "blah" +annotationtype[2].datatype -888007918 diff --git a/config-model/src/test/derived/annotationspolymorphy/index-info.cfg b/config-model/src/test/derived/annotationspolymorphy/index-info.cfg new file mode 100755 index 00000000000..67e43f8036f --- /dev/null +++ b/config-model/src/test/derived/annotationspolymorphy/index-info.cfg @@ -0,0 +1,9 @@ +indexinfo[0].name "annotationspolymorphy" +indexinfo[0].command[0].indexname "sddocname" +indexinfo[0].command[0].command "index" +indexinfo[0].command[1].indexname "sddocname" +indexinfo[0].command[1].command "word" +indexinfo[0].command[2].indexname "rankfeatures" +indexinfo[0].command[2].command "index" +indexinfo[0].command[3].indexname "summaryfeatures" +indexinfo[0].command[3].command "index"
\ No newline at end of file diff --git a/config-model/src/test/derived/annotationsreference/annotationsreference.sd b/config-model/src/test/derived/annotationsreference/annotationsreference.sd new file mode 100755 index 00000000000..568a6a1f191 --- /dev/null +++ b/config-model/src/test/derived/annotationsreference/annotationsreference.sd @@ -0,0 +1,26 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search annotationsreference { + + document annotationsreference { + + annotation banana { + field brand type string { } + } + + annotation food { + field what type annotationreference<banana> { } + } + + annotation cyclic { + field blah type annotationreference<cyclic> { } + } + + annotation a { + field foo type annotationreference<b> { } + } + + annotation b { + } + + } +} diff --git a/config-model/src/test/derived/annotationsreference/documentmanager.cfg b/config-model/src/test/derived/annotationsreference/documentmanager.cfg new file mode 100755 index 00000000000..3218262b54d --- /dev/null +++ b/config-model/src/test/derived/annotationsreference/documentmanager.cfg @@ -0,0 +1,94 @@ +enablecompression false +datatype[0].id 1381038251 +datatype[0].structtype[0].name "position" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[0].structtype[0].field[0].name "x" +datatype[0].structtype[0].field[0].datatype 0 +datatype[0].structtype[0].field[1].name "y" +datatype[0].structtype[0].field[1].datatype 0 +datatype[1].id 517946310 +datatype[1].structtype[0].name "annotation.banana" +datatype[1].structtype[0].version 0 +datatype[1].structtype[0].compresstype NONE +datatype[1].structtype[0].compresslevel 0 +datatype[1].structtype[0].compressthreshold 95 +datatype[1].structtype[0].compressminsize 800 +datatype[1].structtype[0].field[0].name "brand" +datatype[1].structtype[0].field[0].datatype 2 +datatype[2].id 400622300 +datatype[2].annotationreftype[0].annotation "b" +datatype[3].id 1443829412 +datatype[3].structtype[0].name "annotation.a" +datatype[3].structtype[0].version 0 +datatype[3].structtype[0].compresstype NONE +datatype[3].structtype[0].compresslevel 0 +datatype[3].structtype[0].compressthreshold 95 +datatype[3].structtype[0].compressminsize 800 +datatype[3].structtype[0].field[0].name "foo" +datatype[3].structtype[0].field[0].datatype 400622300 +datatype[4].id -808460615 +datatype[4].annotationreftype[0].annotation "banana" +datatype[5].id -770307521 +datatype[5].structtype[0].name "annotation.food" +datatype[5].structtype[0].version 0 +datatype[5].structtype[0].compresstype NONE +datatype[5].structtype[0].compresslevel 0 +datatype[5].structtype[0].compressthreshold 95 +datatype[5].structtype[0].compressminsize 800 +datatype[5].structtype[0].field[0].name "what" +datatype[5].structtype[0].field[0].datatype -808460615 +datatype[6].id 756306917 +datatype[6].annotationreftype[0].annotation "cyclic" +datatype[7].id 1781099546 +datatype[7].structtype[0].name "annotation.cyclic" +datatype[7].structtype[0].version 0 +datatype[7].structtype[0].compresstype NONE +datatype[7].structtype[0].compresslevel 0 +datatype[7].structtype[0].compressthreshold 95 +datatype[7].structtype[0].compressminsize 800 +datatype[7].structtype[0].field[0].name "blah" +datatype[7].structtype[0].field[0].datatype 756306917 +datatype[8].id 571255414 +datatype[8].structtype[0].name "annotationsreference.header" +datatype[8].structtype[0].version 0 +datatype[8].structtype[0].compresstype NONE +datatype[8].structtype[0].compresslevel 0 +datatype[8].structtype[0].compressthreshold 95 +datatype[8].structtype[0].compressminsize 800 +datatype[8].structtype[0].field[0].name "rankfeatures" +datatype[8].structtype[0].field[0].datatype 2 +datatype[8].structtype[0].field[1].name "summaryfeatures" +datatype[8].structtype[0].field[1].datatype 2 +datatype[9].id 1692909067 +datatype[9].structtype[0].name "annotationsreference.body" +datatype[9].structtype[0].version 0 +datatype[9].structtype[0].compresstype NONE +datatype[9].structtype[0].compresslevel 0 +datatype[9].structtype[0].compressthreshold 95 +datatype[9].structtype[0].compressminsize 800 +datatype[10].id -1448377175 +datatype[10].documenttype[0].name "annotationsreference" +datatype[10].documenttype[0].version 0 +datatype[10].documenttype[0].inherits[0].name "document" +datatype[10].documenttype[0].inherits[0].version 0 +datatype[10].documenttype[0].headerstruct 571255414 +datatype[10].documenttype[0].bodystruct 1692909067 +annotationtype[0].id -269517759 +annotationtype[0].name "banana" +annotationtype[0].datatype 517946310 +annotationtype[1].id 1769416289 +annotationtype[1].name "a" +annotationtype[1].datatype 1443829412 +annotationtype[2].id 1966167951 +annotationtype[2].name "b" +annotationtype[2].datatype -1 +annotationtype[3].id 1918102169 +annotationtype[3].name "food" +annotationtype[3].datatype -770307521 +annotationtype[4].id -1569831750 +annotationtype[4].name "cyclic" +annotationtype[4].datatype 1781099546 diff --git a/config-model/src/test/derived/annotationsreference/ilscripts.cfg b/config-model/src/test/derived/annotationsreference/ilscripts.cfg new file mode 100755 index 00000000000..2297994c727 --- /dev/null +++ b/config-model/src/test/derived/annotationsreference/ilscripts.cfg @@ -0,0 +1,2 @@ +maxtermoccurrences 100 +ilscript[0].doctype "annotationsreference"
\ No newline at end of file diff --git a/config-model/src/test/derived/annotationsreference/index-info.cfg b/config-model/src/test/derived/annotationsreference/index-info.cfg new file mode 100755 index 00000000000..0dfc76861e1 --- /dev/null +++ b/config-model/src/test/derived/annotationsreference/index-info.cfg @@ -0,0 +1,9 @@ +indexinfo[0].name "annotationsreference" +indexinfo[0].command[0].indexname "sddocname" +indexinfo[0].command[0].command "index" +indexinfo[0].command[1].indexname "sddocname" +indexinfo[0].command[1].command "word" +indexinfo[0].command[2].indexname "rankfeatures" +indexinfo[0].command[2].command "index" +indexinfo[0].command[3].indexname "summaryfeatures" +indexinfo[0].command[3].command "index"
\ No newline at end of file diff --git a/config-model/src/test/derived/annotationsreference2/annotationsreference2.sd b/config-model/src/test/derived/annotationsreference2/annotationsreference2.sd new file mode 100644 index 00000000000..5b4a2eb0562 --- /dev/null +++ b/config-model/src/test/derived/annotationsreference2/annotationsreference2.sd @@ -0,0 +1,9 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search annotationreference2 { + document annotationreference2 { + annotation foo { } + annotation bar { + field baz type array<annotationreference<foo>> { } + } + } +} diff --git a/config-model/src/test/derived/annotationssimple/annotationssimple.sd b/config-model/src/test/derived/annotationssimple/annotationssimple.sd new file mode 100755 index 00000000000..82bcd55b673 --- /dev/null +++ b/config-model/src/test/derived/annotationssimple/annotationssimple.sd @@ -0,0 +1,8 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search annotationssimple { + + document annotationssimple { + annotation banana { } + } + +} diff --git a/config-model/src/test/derived/annotationssimple/documentmanager.cfg b/config-model/src/test/derived/annotationssimple/documentmanager.cfg new file mode 100755 index 00000000000..54832bb97f9 --- /dev/null +++ b/config-model/src/test/derived/annotationssimple/documentmanager.cfg @@ -0,0 +1,40 @@ +enablecompression false +datatype[0].id 1381038251 +datatype[0].structtype[0].name "position" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[0].structtype[0].field[0].name "x" +datatype[0].structtype[0].field[0].datatype 0 +datatype[0].structtype[0].field[1].name "y" +datatype[0].structtype[0].field[1].datatype 0 +datatype[1].id -1205708249 +datatype[1].structtype[0].name "annotationssimple.header" +datatype[1].structtype[0].version 0 +datatype[1].structtype[0].compresstype NONE +datatype[1].structtype[0].compresslevel 0 +datatype[1].structtype[0].compressthreshold 95 +datatype[1].structtype[0].compressminsize 800 +datatype[1].structtype[0].field[0].name "rankfeatures" +datatype[1].structtype[0].field[0].datatype 2 +datatype[1].structtype[0].field[1].name "summaryfeatures" +datatype[1].structtype[0].field[1].datatype 2 +datatype[2].id -682121732 +datatype[2].structtype[0].name "annotationssimple.body" +datatype[2].structtype[0].version 0 +datatype[2].structtype[0].compresstype NONE +datatype[2].structtype[0].compresslevel 0 +datatype[2].structtype[0].compressthreshold 95 +datatype[2].structtype[0].compressminsize 800 +datatype[3].id -1584092648 +datatype[3].documenttype[0].name "annotationssimple" +datatype[3].documenttype[0].version 0 +datatype[3].documenttype[0].inherits[0].name "document" +datatype[3].documenttype[0].inherits[0].version 0 +datatype[3].documenttype[0].headerstruct -1205708249 +datatype[3].documenttype[0].bodystruct -682121732 +annotationtype[0].id -269517759 +annotationtype[0].name "banana" +annotationtype[0].datatype -1 diff --git a/config-model/src/test/derived/annotationssimple/ilscripts.cfg b/config-model/src/test/derived/annotationssimple/ilscripts.cfg new file mode 100644 index 00000000000..a234feff99d --- /dev/null +++ b/config-model/src/test/derived/annotationssimple/ilscripts.cfg @@ -0,0 +1,2 @@ +maxtermoccurrences 100 +ilscript[0].doctype "annotationssimple"
\ No newline at end of file diff --git a/config-model/src/test/derived/annotationssimple/index-info.cfg b/config-model/src/test/derived/annotationssimple/index-info.cfg new file mode 100755 index 00000000000..84c18bc082f --- /dev/null +++ b/config-model/src/test/derived/annotationssimple/index-info.cfg @@ -0,0 +1,9 @@ +indexinfo[0].name "annotationssimple" +indexinfo[0].command[0].indexname "sddocname" +indexinfo[0].command[0].command "index" +indexinfo[0].command[1].indexname "sddocname" +indexinfo[0].command[1].command "word" +indexinfo[0].command[2].indexname "rankfeatures" +indexinfo[0].command[2].command "index" +indexinfo[0].command[3].indexname "summaryfeatures" +indexinfo[0].command[3].command "index"
\ No newline at end of file diff --git a/config-model/src/test/derived/annotationsstruct/annotationsstruct.sd b/config-model/src/test/derived/annotationsstruct/annotationsstruct.sd new file mode 100644 index 00000000000..b4ba809d93b --- /dev/null +++ b/config-model/src/test/derived/annotationsstruct/annotationsstruct.sd @@ -0,0 +1,11 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search annotationsstruct { + document annotationsstruct { + struct my_struct { + field my_structfield type string { } + } + annotation my_anno { + field my_annofield type my_struct { } + } + } +} diff --git a/config-model/src/test/derived/annotationsstruct/documentmanager.cfg b/config-model/src/test/derived/annotationsstruct/documentmanager.cfg new file mode 100644 index 00000000000..f3c93b31285 --- /dev/null +++ b/config-model/src/test/derived/annotationsstruct/documentmanager.cfg @@ -0,0 +1,58 @@ +enablecompression false +datatype[0].id 1381038251 +datatype[0].structtype[0].name "position" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[0].structtype[0].field[0].name "x" +datatype[0].structtype[0].field[0].datatype 0 +datatype[0].structtype[0].field[1].name "y" +datatype[0].structtype[0].field[1].datatype 0 +datatype[1].id 1293792650 +datatype[1].structtype[0].name "my_struct" +datatype[1].structtype[0].version 0 +datatype[1].structtype[0].compresstype NONE +datatype[1].structtype[0].compresslevel 0 +datatype[1].structtype[0].compressthreshold 95 +datatype[1].structtype[0].compressminsize 800 +datatype[1].structtype[0].field[0].name "my_structfield" +datatype[1].structtype[0].field[0].datatype 2 +datatype[2].id -1080124700 +datatype[2].structtype[0].name "annotation.my_anno" +datatype[2].structtype[0].version 0 +datatype[2].structtype[0].compresstype NONE +datatype[2].structtype[0].compresslevel 0 +datatype[2].structtype[0].compressthreshold 95 +datatype[2].structtype[0].compressminsize 800 +datatype[2].structtype[0].field[0].name "my_annofield" +datatype[2].structtype[0].field[0].datatype 1293792650 +datatype[3].id 1341437796 +datatype[3].structtype[0].name "annotationsstruct.header" +datatype[3].structtype[0].version 0 +datatype[3].structtype[0].compresstype NONE +datatype[3].structtype[0].compresslevel 0 +datatype[3].structtype[0].compressthreshold 95 +datatype[3].structtype[0].compressminsize 800 +datatype[3].structtype[0].field[0].name "rankfeatures" +datatype[3].structtype[0].field[0].datatype 2 +datatype[3].structtype[0].field[1].name "summaryfeatures" +datatype[3].structtype[0].field[1].datatype 2 +datatype[4].id -1180029319 +datatype[4].structtype[0].name "annotationsstruct.body" +datatype[4].structtype[0].version 0 +datatype[4].structtype[0].compresstype NONE +datatype[4].structtype[0].compresslevel 0 +datatype[4].structtype[0].compressthreshold 95 +datatype[4].structtype[0].compressminsize 800 +datatype[5].id -263977093 +datatype[5].documenttype[0].name "annotationsstruct" +datatype[5].documenttype[0].version 0 +datatype[5].documenttype[0].inherits[0].name "document" +datatype[5].documenttype[0].inherits[0].version 0 +datatype[5].documenttype[0].headerstruct 1341437796 +datatype[5].documenttype[0].bodystruct -1180029319 +annotationtype[0].id -160036815 +annotationtype[0].name "my_anno" +annotationtype[0].datatype -1080124700 diff --git a/config-model/src/test/derived/annotationsstructarray/annotationsstructarray.sd b/config-model/src/test/derived/annotationsstructarray/annotationsstructarray.sd new file mode 100644 index 00000000000..e54aae45caa --- /dev/null +++ b/config-model/src/test/derived/annotationsstructarray/annotationsstructarray.sd @@ -0,0 +1,11 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search annotationsstructarray { + document annotationsstructarray { + struct my_struct { + field my_structfield type string { } + } + annotation my_anno { + field my_annofield type array<my_struct> { } + } + } +} diff --git a/config-model/src/test/derived/annotationsstructarray/documentmanager.cfg b/config-model/src/test/derived/annotationsstructarray/documentmanager.cfg new file mode 100644 index 00000000000..01e3945fc2a --- /dev/null +++ b/config-model/src/test/derived/annotationsstructarray/documentmanager.cfg @@ -0,0 +1,60 @@ +enablecompression false +datatype[0].id 1381038251 +datatype[0].structtype[0].name "position" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[0].structtype[0].field[0].name "x" +datatype[0].structtype[0].field[0].datatype 0 +datatype[0].structtype[0].field[1].name "y" +datatype[0].structtype[0].field[1].datatype 0 +datatype[1].id 1293792650 +datatype[1].structtype[0].name "my_struct" +datatype[1].structtype[0].version 0 +datatype[1].structtype[0].compresstype NONE +datatype[1].structtype[0].compresslevel 0 +datatype[1].structtype[0].compressthreshold 95 +datatype[1].structtype[0].compressminsize 800 +datatype[1].structtype[0].field[0].name "my_structfield" +datatype[1].structtype[0].field[0].datatype 2 +datatype[2].id 754837689 +datatype[2].arraytype[0].datatype 1293792650 +datatype[3].id -1080124700 +datatype[3].structtype[0].name "annotation.my_anno" +datatype[3].structtype[0].version 0 +datatype[3].structtype[0].compresstype NONE +datatype[3].structtype[0].compresslevel 0 +datatype[3].structtype[0].compressthreshold 95 +datatype[3].structtype[0].compressminsize 800 +datatype[3].structtype[0].field[0].name "my_annofield" +datatype[3].structtype[0].field[0].datatype 754837689 +datatype[4].id 94945597 +datatype[4].structtype[0].name "annotationsstructarray.header" +datatype[4].structtype[0].version 0 +datatype[4].structtype[0].compresstype NONE +datatype[4].structtype[0].compresslevel 0 +datatype[4].structtype[0].compressthreshold 95 +datatype[4].structtype[0].compressminsize 800 +datatype[4].structtype[0].field[0].name "rankfeatures" +datatype[4].structtype[0].field[0].datatype 2 +datatype[4].structtype[0].field[1].name "summaryfeatures" +datatype[4].structtype[0].field[1].datatype 2 +datatype[5].id 1616435858 +datatype[5].structtype[0].name "annotationsstructarray.body" +datatype[5].structtype[0].version 0 +datatype[5].structtype[0].compresstype NONE +datatype[5].structtype[0].compresslevel 0 +datatype[5].structtype[0].compressthreshold 95 +datatype[5].structtype[0].compressminsize 800 +datatype[6].id 1593733058 +datatype[6].documenttype[0].name "annotationsstructarray" +datatype[6].documenttype[0].version 0 +datatype[6].documenttype[0].inherits[0].name "document" +datatype[6].documenttype[0].inherits[0].version 0 +datatype[6].documenttype[0].headerstruct 94945597 +datatype[6].documenttype[0].bodystruct 1616435858 +annotationtype[0].id -160036815 +annotationtype[0].name "my_anno" +annotationtype[0].datatype -1080124700 diff --git a/config-model/src/test/derived/arrays/arrays.sd b/config-model/src/test/derived/arrays/arrays.sd new file mode 100644 index 00000000000..c5ce810bc0c --- /dev/null +++ b/config-model/src/test/derived/arrays/arrays.sd @@ -0,0 +1,32 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search arrays { + + document arrays { + + field tags type array<string> { + indexing: summary | index + } + + field ratings type int[] { + indexing: summary | index + } + + field a type string { + indexing: index + } + + field b type array<string> { + indexing: index | attribute + } + + field c type weightedset<string> { + indexing: summary | index + } + + } + + fieldset default { + fields: a, b, c + } + +} diff --git a/config-model/src/test/derived/arrays/documentmanager.cfg b/config-model/src/test/derived/arrays/documentmanager.cfg new file mode 100644 index 00000000000..68506844b5d --- /dev/null +++ b/config-model/src/test/derived/arrays/documentmanager.cfg @@ -0,0 +1,63 @@ +enablecompression false +datatype[0].id 1381038251 +datatype[0].structtype[0].name "position" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[0].structtype[0].field[0].name "x" +datatype[0].structtype[0].field[0].datatype 0 +datatype[0].structtype[0].field[1].name "y" +datatype[0].structtype[0].field[1].datatype 0 +datatype[1].id -1486737430 +datatype[1].arraytype[0].datatype 2 +datatype[2].id -1245117006 +datatype[2].arraytype[0].datatype 0 +datatype[3].id 1328286588 +datatype[3].weightedsettype[0].datatype 2 +datatype[3].weightedsettype[0].createifnonexistant false +datatype[3].weightedsettype[0].removeifzero false +datatype[4].id 1081627459 +datatype[4].structtype[0].name "arrays.header" +datatype[4].structtype[0].version 0 +datatype[4].structtype[0].compresstype NONE +datatype[4].structtype[0].compresslevel 0 +datatype[4].structtype[0].compressthreshold 95 +datatype[4].structtype[0].compressminsize 800 +datatype[4].structtype[0].field[0].name "tags" +datatype[4].structtype[0].field[0].datatype -1486737430 +datatype[4].structtype[0].field[1].name "ratings" +datatype[4].structtype[0].field[1].datatype -1245117006 +datatype[4].structtype[0].field[2].name "a" +datatype[4].structtype[0].field[2].datatype 2 +datatype[4].structtype[0].field[3].name "b" +datatype[4].structtype[0].field[3].datatype -1486737430 +datatype[4].structtype[0].field[4].name "c" +datatype[4].structtype[0].field[4].datatype 1328286588 +datatype[4].structtype[0].field[5].name "rankfeatures" +datatype[4].structtype[0].field[5].datatype 2 +datatype[4].structtype[0].field[6].name "summaryfeatures" +datatype[4].structtype[0].field[6].datatype 2 +datatype[5].id -1747896808 +datatype[5].structtype[0].name "arrays.body" +datatype[5].structtype[0].version 0 +datatype[5].structtype[0].compresstype NONE +datatype[5].structtype[0].compresslevel 0 +datatype[5].structtype[0].compressthreshold 95 +datatype[5].structtype[0].compressminsize 800 +datatype[6].id -1292863364 +datatype[6].documenttype[0].name "arrays" +datatype[6].documenttype[0].version 0 +datatype[6].documenttype[0].inherits[0].name "document" +datatype[6].documenttype[0].inherits[0].version 0 +datatype[6].documenttype[0].headerstruct 1081627459 +datatype[6].documenttype[0].bodystruct -1747896808 +datatype[6].documenttype[0].fieldsets{default}.fields[0] "a" +datatype[6].documenttype[0].fieldsets{default}.fields[1] "b" +datatype[6].documenttype[0].fieldsets{default}.fields[2] "c" +datatype[6].documenttype[0].fieldsets{[document]}.fields[0] "a" +datatype[6].documenttype[0].fieldsets{[document]}.fields[1] "b" +datatype[6].documenttype[0].fieldsets{[document]}.fields[2] "c" +datatype[6].documenttype[0].fieldsets{[document]}.fields[3] "ratings" +datatype[6].documenttype[0].fieldsets{[document]}.fields[4] "tags" diff --git a/config-model/src/test/derived/arrays/ilscripts.cfg b/config-model/src/test/derived/arrays/ilscripts.cfg new file mode 100644 index 00000000000..d8fbe752676 --- /dev/null +++ b/config-model/src/test/derived/arrays/ilscripts.cfg @@ -0,0 +1,12 @@ +maxtermoccurrences 100 +ilscript[0].doctype "arrays" +ilscript[0].docfield[0] "tags" +ilscript[0].docfield[1] "ratings" +ilscript[0].docfield[2] "a" +ilscript[0].docfield[3] "b" +ilscript[0].docfield[4] "c" +ilscript[0].content[0] "clear_state | guard { input tags | for_each { tokenize normalize stem:\"SHORTEST\" } | summary tags | index tags; }" +ilscript[0].content[1] "clear_state | guard { input ratings | summary ratings | attribute ratings; }" +ilscript[0].content[2] "clear_state | guard { input a | tokenize normalize stem:\"SHORTEST\" | index a; }" +ilscript[0].content[3] "clear_state | guard { input b | for_each { tokenize normalize stem:\"SHORTEST\" } | index b | attribute b; }" +ilscript[0].content[4] "clear_state | guard { input c | for_each { tokenize normalize stem:\"SHORTEST\" } | summary c | index c; }"
\ No newline at end of file diff --git a/config-model/src/test/derived/arrays/index-info.cfg b/config-model/src/test/derived/arrays/index-info.cfg new file mode 100644 index 00000000000..f5f65700d89 --- /dev/null +++ b/config-model/src/test/derived/arrays/index-info.cfg @@ -0,0 +1,63 @@ +indexinfo[].name "arrays" +indexinfo[].command[].indexname "sddocname" +indexinfo[].command[].command "index" +indexinfo[].command[].indexname "sddocname" +indexinfo[].command[].command "word" +indexinfo[].command[].indexname "tags" +indexinfo[].command[].command "index" +indexinfo[].command[].indexname "tags" +indexinfo[].command[].command "lowercase" +indexinfo[].command[].indexname "tags" +indexinfo[].command[].command "multivalue" +indexinfo[].command[].indexname "tags" +indexinfo[].command[].command "stem:SHORTEST" +indexinfo[].command[].indexname "tags" +indexinfo[].command[].command "normalize" +indexinfo[].command[].indexname "ratings" +indexinfo[].command[].command "index" +indexinfo[].command[].indexname "ratings" +indexinfo[].command[].command "multivalue" +indexinfo[].command[].indexname "ratings" +indexinfo[].command[].command "attribute" +indexinfo[].command[].indexname "default" +indexinfo[].command[].command "index" +indexinfo[].command[].indexname "default" +indexinfo[].command[].command "lowercase" +indexinfo[].command[].indexname "default" +indexinfo[].command[].command "stem:SHORTEST" +indexinfo[].command[].indexname "default" +indexinfo[].command[].command "normalize" +indexinfo[].command[].indexname "default" +indexinfo[].command[].command "multivalue" +indexinfo[].command[].indexname "a" +indexinfo[].command[].command "index" +indexinfo[].command[].indexname "a" +indexinfo[].command[].command "lowercase" +indexinfo[].command[].indexname "a" +indexinfo[].command[].command "stem:SHORTEST" +indexinfo[].command[].indexname "a" +indexinfo[].command[].command "normalize" +indexinfo[].command[].indexname "b" +indexinfo[].command[].command "index" +indexinfo[].command[].indexname "b" +indexinfo[].command[].command "lowercase" +indexinfo[].command[].indexname "b" +indexinfo[].command[].command "multivalue" +indexinfo[].command[].indexname "b" +indexinfo[].command[].command "stem:SHORTEST" +indexinfo[].command[].indexname "b" +indexinfo[].command[].command "normalize" +indexinfo[].command[].indexname "c" +indexinfo[].command[].command "index" +indexinfo[].command[].indexname "c" +indexinfo[].command[].command "lowercase" +indexinfo[].command[].indexname "c" +indexinfo[].command[].command "multivalue" +indexinfo[].command[].indexname "c" +indexinfo[].command[].command "stem:SHORTEST" +indexinfo[].command[].indexname "c" +indexinfo[].command[].command "normalize" +indexinfo[].command[].indexname "rankfeatures" +indexinfo[].command[].command "index" +indexinfo[].command[].indexname "summaryfeatures" +indexinfo[].command[].command "index"
\ No newline at end of file diff --git a/config-model/src/test/derived/attributeprefetch/attributeprefetch.sd b/config-model/src/test/derived/attributeprefetch/attributeprefetch.sd new file mode 100644 index 00000000000..25804ba9728 --- /dev/null +++ b/config-model/src/test/derived/attributeprefetch/attributeprefetch.sd @@ -0,0 +1,86 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search prefetch { + document prefetch { + field singlebyte type byte { + indexing: attribute + attribute: prefetch + } + field multibyte type array<byte> { + indexing: attribute + attribute: prefetch + } + field wsbyte type weightedset<byte> { + indexing: attribute + attribute: prefetch + } + field singleint type int { + indexing: attribute + attribute: prefetch + } + field multiint type array<int> { + indexing: attribute + attribute: prefetch + } + field wsint type weightedset<int> { + indexing: attribute + attribute: prefetch + } + field singlelong type long { + indexing: attribute + attribute: prefetch + } + field multilong type array<long> { + indexing: attribute + attribute: prefetch + } + field wslong type weightedset<long> { + indexing: attribute + attribute: prefetch + } + field singlefloat type float { + indexing: attribute + attribute: prefetch + } + field multifloat type array<float> { + indexing: attribute + attribute: prefetch + } + field wsfloat type weightedset<float> { + indexing: attribute + attribute: prefetch + } + field singledouble type double { + indexing: attribute + attribute: prefetch + } + field multidouble type array<double> { + indexing: attribute + attribute: prefetch + } + field wsdouble type weightedset<double> { + indexing: attribute + attribute: prefetch + } + field singlestring type string { + indexing: attribute + attribute: prefetch + match { + token + } + } + field multistring type array<string> { + indexing: attribute + attribute: prefetch + match { + token + } + } + field wsstring type weightedset<string> { + indexing: attribute + attribute: prefetch + match { + token + } + } + } +} diff --git a/config-model/src/test/derived/attributeprefetch/attributes.cfg b/config-model/src/test/derived/attributeprefetch/attributes.cfg new file mode 100644 index 00000000000..16c2d9e404e --- /dev/null +++ b/config-model/src/test/derived/attributeprefetch/attributes.cfg @@ -0,0 +1,342 @@ +attribute[0].name "singlebyte" +attribute[0].datatype INT8 +attribute[0].collectiontype SINGLE +attribute[0].removeifzero false +attribute[0].createifnonexistent false +attribute[0].fastsearch false +attribute[0].huge false +attribute[0].sortascending true +attribute[0].sortfunction UCA +attribute[0].sortstrength PRIMARY +attribute[0].sortlocale "" +attribute[0].enablebitvectors false +attribute[0].enableonlybitvector false +attribute[0].fastaccess false +attribute[0].arity 8 +attribute[0].lowerbound -9223372036854775808 +attribute[0].upperbound 9223372036854775807 +attribute[0].densepostinglistthreshold 0.4 +attribute[0].tensortype "" +attribute[1].name "multibyte" +attribute[1].datatype INT8 +attribute[1].collectiontype ARRAY +attribute[1].removeifzero false +attribute[1].createifnonexistent false +attribute[1].fastsearch false +attribute[1].huge false +attribute[1].sortascending true +attribute[1].sortfunction UCA +attribute[1].sortstrength PRIMARY +attribute[1].sortlocale "" +attribute[1].enablebitvectors false +attribute[1].enableonlybitvector false +attribute[1].fastaccess false +attribute[1].arity 8 +attribute[1].lowerbound -9223372036854775808 +attribute[1].upperbound 9223372036854775807 +attribute[1].densepostinglistthreshold 0.4 +attribute[1].tensortype "" +attribute[2].name "wsbyte" +attribute[2].datatype INT8 +attribute[2].collectiontype WEIGHTEDSET +attribute[2].removeifzero false +attribute[2].createifnonexistent false +attribute[2].fastsearch false +attribute[2].huge false +attribute[2].sortascending true +attribute[2].sortfunction UCA +attribute[2].sortstrength PRIMARY +attribute[2].sortlocale "" +attribute[2].enablebitvectors false +attribute[2].enableonlybitvector false +attribute[2].fastaccess false +attribute[2].arity 8 +attribute[2].lowerbound -9223372036854775808 +attribute[2].upperbound 9223372036854775807 +attribute[2].densepostinglistthreshold 0.4 +attribute[2].tensortype "" +attribute[3].name "singleint" +attribute[3].datatype INT32 +attribute[3].collectiontype SINGLE +attribute[3].removeifzero false +attribute[3].createifnonexistent false +attribute[3].fastsearch false +attribute[3].huge false +attribute[3].sortascending true +attribute[3].sortfunction UCA +attribute[3].sortstrength PRIMARY +attribute[3].sortlocale "" +attribute[3].enablebitvectors false +attribute[3].enableonlybitvector false +attribute[3].fastaccess false +attribute[3].arity 8 +attribute[3].lowerbound -9223372036854775808 +attribute[3].upperbound 9223372036854775807 +attribute[3].densepostinglistthreshold 0.4 +attribute[3].tensortype "" +attribute[4].name "multiint" +attribute[4].datatype INT32 +attribute[4].collectiontype ARRAY +attribute[4].removeifzero false +attribute[4].createifnonexistent false +attribute[4].fastsearch false +attribute[4].huge false +attribute[4].sortascending true +attribute[4].sortfunction UCA +attribute[4].sortstrength PRIMARY +attribute[4].sortlocale "" +attribute[4].enablebitvectors false +attribute[4].enableonlybitvector false +attribute[4].fastaccess false +attribute[4].arity 8 +attribute[4].lowerbound -9223372036854775808 +attribute[4].upperbound 9223372036854775807 +attribute[4].densepostinglistthreshold 0.4 +attribute[4].tensortype "" +attribute[5].name "wsint" +attribute[5].datatype INT32 +attribute[5].collectiontype WEIGHTEDSET +attribute[5].removeifzero false +attribute[5].createifnonexistent false +attribute[5].fastsearch false +attribute[5].huge false +attribute[5].sortascending true +attribute[5].sortfunction UCA +attribute[5].sortstrength PRIMARY +attribute[5].sortlocale "" +attribute[5].enablebitvectors false +attribute[5].enableonlybitvector false +attribute[5].fastaccess false +attribute[5].arity 8 +attribute[5].lowerbound -9223372036854775808 +attribute[5].upperbound 9223372036854775807 +attribute[5].densepostinglistthreshold 0.4 +attribute[5].tensortype "" +attribute[6].name "singlelong" +attribute[6].datatype INT64 +attribute[6].collectiontype SINGLE +attribute[6].removeifzero false +attribute[6].createifnonexistent false +attribute[6].fastsearch false +attribute[6].huge false +attribute[6].sortascending true +attribute[6].sortfunction UCA +attribute[6].sortstrength PRIMARY +attribute[6].sortlocale "" +attribute[6].enablebitvectors false +attribute[6].enableonlybitvector false +attribute[6].fastaccess false +attribute[6].arity 8 +attribute[6].lowerbound -9223372036854775808 +attribute[6].upperbound 9223372036854775807 +attribute[6].densepostinglistthreshold 0.4 +attribute[6].tensortype "" +attribute[7].name "multilong" +attribute[7].datatype INT64 +attribute[7].collectiontype ARRAY +attribute[7].removeifzero false +attribute[7].createifnonexistent false +attribute[7].fastsearch false +attribute[7].huge false +attribute[7].sortascending true +attribute[7].sortfunction UCA +attribute[7].sortstrength PRIMARY +attribute[7].sortlocale "" +attribute[7].enablebitvectors false +attribute[7].enableonlybitvector false +attribute[7].fastaccess false +attribute[7].arity 8 +attribute[7].lowerbound -9223372036854775808 +attribute[7].upperbound 9223372036854775807 +attribute[7].densepostinglistthreshold 0.4 +attribute[7].tensortype "" +attribute[8].name "wslong" +attribute[8].datatype INT64 +attribute[8].collectiontype WEIGHTEDSET +attribute[8].removeifzero false +attribute[8].createifnonexistent false +attribute[8].fastsearch false +attribute[8].huge false +attribute[8].sortascending true +attribute[8].sortfunction UCA +attribute[8].sortstrength PRIMARY +attribute[8].sortlocale "" +attribute[8].enablebitvectors false +attribute[8].enableonlybitvector false +attribute[8].fastaccess false +attribute[8].arity 8 +attribute[8].lowerbound -9223372036854775808 +attribute[8].upperbound 9223372036854775807 +attribute[8].densepostinglistthreshold 0.4 +attribute[8].tensortype "" +attribute[9].name "singlefloat" +attribute[9].datatype FLOAT +attribute[9].collectiontype SINGLE +attribute[9].removeifzero false +attribute[9].createifnonexistent false +attribute[9].fastsearch false +attribute[9].huge false +attribute[9].sortascending true +attribute[9].sortfunction UCA +attribute[9].sortstrength PRIMARY +attribute[9].sortlocale "" +attribute[9].enablebitvectors false +attribute[9].enableonlybitvector false +attribute[9].fastaccess false +attribute[9].arity 8 +attribute[9].lowerbound -9223372036854775808 +attribute[9].upperbound 9223372036854775807 +attribute[9].densepostinglistthreshold 0.4 +attribute[9].tensortype "" +attribute[10].name "multifloat" +attribute[10].datatype FLOAT +attribute[10].collectiontype ARRAY +attribute[10].removeifzero false +attribute[10].createifnonexistent false +attribute[10].fastsearch false +attribute[10].huge false +attribute[10].sortascending true +attribute[10].sortfunction UCA +attribute[10].sortstrength PRIMARY +attribute[10].sortlocale "" +attribute[10].enablebitvectors false +attribute[10].enableonlybitvector false +attribute[10].fastaccess false +attribute[10].arity 8 +attribute[10].lowerbound -9223372036854775808 +attribute[10].upperbound 9223372036854775807 +attribute[10].densepostinglistthreshold 0.4 +attribute[10].tensortype "" +attribute[11].name "wsfloat" +attribute[11].datatype FLOAT +attribute[11].collectiontype WEIGHTEDSET +attribute[11].removeifzero false +attribute[11].createifnonexistent false +attribute[11].fastsearch false +attribute[11].huge false +attribute[11].sortascending true +attribute[11].sortfunction UCA +attribute[11].sortstrength PRIMARY +attribute[11].sortlocale "" +attribute[11].enablebitvectors false +attribute[11].enableonlybitvector false +attribute[11].fastaccess false +attribute[11].arity 8 +attribute[11].lowerbound -9223372036854775808 +attribute[11].upperbound 9223372036854775807 +attribute[11].densepostinglistthreshold 0.4 +attribute[11].tensortype "" +attribute[12].name "singledouble" +attribute[12].datatype DOUBLE +attribute[12].collectiontype SINGLE +attribute[12].removeifzero false +attribute[12].createifnonexistent false +attribute[12].fastsearch false +attribute[12].huge false +attribute[12].sortascending true +attribute[12].sortfunction UCA +attribute[12].sortstrength PRIMARY +attribute[12].sortlocale "" +attribute[12].enablebitvectors false +attribute[12].enableonlybitvector false +attribute[12].fastaccess false +attribute[12].arity 8 +attribute[12].lowerbound -9223372036854775808 +attribute[12].upperbound 9223372036854775807 +attribute[12].densepostinglistthreshold 0.4 +attribute[12].tensortype "" +attribute[13].name "multidouble" +attribute[13].datatype DOUBLE +attribute[13].collectiontype ARRAY +attribute[13].removeifzero false +attribute[13].createifnonexistent false +attribute[13].fastsearch false +attribute[13].huge false +attribute[13].sortascending true +attribute[13].sortfunction UCA +attribute[13].sortstrength PRIMARY +attribute[13].sortlocale "" +attribute[13].enablebitvectors false +attribute[13].enableonlybitvector false +attribute[13].fastaccess false +attribute[13].arity 8 +attribute[13].lowerbound -9223372036854775808 +attribute[13].upperbound 9223372036854775807 +attribute[13].densepostinglistthreshold 0.4 +attribute[13].tensortype "" +attribute[14].name "wsdouble" +attribute[14].datatype DOUBLE +attribute[14].collectiontype WEIGHTEDSET +attribute[14].removeifzero false +attribute[14].createifnonexistent false +attribute[14].fastsearch false +attribute[14].huge false +attribute[14].sortascending true +attribute[14].sortfunction UCA +attribute[14].sortstrength PRIMARY +attribute[14].sortlocale "" +attribute[14].enablebitvectors false +attribute[14].enableonlybitvector false +attribute[14].fastaccess false +attribute[14].arity 8 +attribute[14].lowerbound -9223372036854775808 +attribute[14].upperbound 9223372036854775807 +attribute[14].densepostinglistthreshold 0.4 +attribute[14].tensortype "" +attribute[15].name "singlestring" +attribute[15].datatype STRING +attribute[15].collectiontype SINGLE +attribute[15].removeifzero false +attribute[15].createifnonexistent false +attribute[15].fastsearch false +attribute[15].huge false +attribute[15].sortascending true +attribute[15].sortfunction UCA +attribute[15].sortstrength PRIMARY +attribute[15].sortlocale "" +attribute[15].enablebitvectors false +attribute[15].enableonlybitvector false +attribute[15].fastaccess false +attribute[15].arity 8 +attribute[15].lowerbound -9223372036854775808 +attribute[15].upperbound 9223372036854775807 +attribute[15].densepostinglistthreshold 0.4 +attribute[15].tensortype "" +attribute[16].name "multistring" +attribute[16].datatype STRING +attribute[16].collectiontype ARRAY +attribute[16].removeifzero false +attribute[16].createifnonexistent false +attribute[16].fastsearch false +attribute[16].huge false +attribute[16].sortascending true +attribute[16].sortfunction UCA +attribute[16].sortstrength PRIMARY +attribute[16].sortlocale "" +attribute[16].enablebitvectors false +attribute[16].enableonlybitvector false +attribute[16].fastaccess false +attribute[16].arity 8 +attribute[16].lowerbound -9223372036854775808 +attribute[16].upperbound 9223372036854775807 +attribute[16].densepostinglistthreshold 0.4 +attribute[16].tensortype "" +attribute[17].name "wsstring" +attribute[17].datatype STRING +attribute[17].collectiontype WEIGHTEDSET +attribute[17].removeifzero false +attribute[17].createifnonexistent false +attribute[17].fastsearch false +attribute[17].huge false +attribute[17].sortascending true +attribute[17].sortfunction UCA +attribute[17].sortstrength PRIMARY +attribute[17].sortlocale "" +attribute[17].enablebitvectors false +attribute[17].enableonlybitvector false +attribute[17].fastaccess false +attribute[17].arity 8 +attribute[17].lowerbound -9223372036854775808 +attribute[17].upperbound 9223372036854775807 +attribute[17].densepostinglistthreshold 0.4 +attribute[17].tensortype ""
\ No newline at end of file diff --git a/config-model/src/test/derived/attributeprefetch/documentmanager.cfg b/config-model/src/test/derived/attributeprefetch/documentmanager.cfg new file mode 100644 index 00000000000..92558a62509 --- /dev/null +++ b/config-model/src/test/derived/attributeprefetch/documentmanager.cfg @@ -0,0 +1,127 @@ +enablecompression false +datatype[0].id 1381038251 +datatype[0].structtype[0].name "position" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[0].structtype[0].field[0].name "x" +datatype[0].structtype[0].field[0].datatype 0 +datatype[0].structtype[0].field[1].name "y" +datatype[0].structtype[0].field[1].datatype 0 +datatype[1].id 49942803 +datatype[1].arraytype[0].datatype 16 +datatype[2].id -1068914395 +datatype[2].weightedsettype[0].datatype 16 +datatype[2].weightedsettype[0].createifnonexistant false +datatype[2].weightedsettype[0].removeifzero false +datatype[3].id -1245117006 +datatype[3].arraytype[0].datatype 0 +datatype[4].id 519906144 +datatype[4].weightedsettype[0].datatype 0 +datatype[4].weightedsettype[0].createifnonexistant false +datatype[4].weightedsettype[0].removeifzero false +datatype[5].id 58874399 +datatype[5].arraytype[0].datatype 4 +datatype[6].id -1059982799 +datatype[6].weightedsettype[0].datatype 4 +datatype[6].weightedsettype[0].createifnonexistant false +datatype[6].weightedsettype[0].removeifzero false +datatype[7].id 1650586661 +datatype[7].arraytype[0].datatype 1 +datatype[8].id 1325751891 +datatype[8].weightedsettype[0].datatype 1 +datatype[8].weightedsettype[0].createifnonexistant false +datatype[8].weightedsettype[0].removeifzero false +datatype[9].id -2054976470 +datatype[9].arraytype[0].datatype 5 +datatype[10].id 760047548 +datatype[10].weightedsettype[0].datatype 5 +datatype[10].weightedsettype[0].createifnonexistant false +datatype[10].weightedsettype[0].removeifzero false +datatype[11].id -1486737430 +datatype[11].arraytype[0].datatype 2 +datatype[12].id 1328286588 +datatype[12].weightedsettype[0].datatype 2 +datatype[12].weightedsettype[0].createifnonexistant false +datatype[12].weightedsettype[0].removeifzero false +datatype[13].id -109105370 +datatype[13].structtype[0].name "prefetch.header" +datatype[13].structtype[0].version 0 +datatype[13].structtype[0].compresstype NONE +datatype[13].structtype[0].compresslevel 0 +datatype[13].structtype[0].compressthreshold 95 +datatype[13].structtype[0].compressminsize 800 +datatype[13].structtype[0].field[0].name "singlebyte" +datatype[13].structtype[0].field[0].datatype 16 +datatype[13].structtype[0].field[1].name "multibyte" +datatype[13].structtype[0].field[1].datatype 49942803 +datatype[13].structtype[0].field[2].name "wsbyte" +datatype[13].structtype[0].field[2].datatype -1068914395 +datatype[13].structtype[0].field[3].name "singleint" +datatype[13].structtype[0].field[3].datatype 0 +datatype[13].structtype[0].field[4].name "multiint" +datatype[13].structtype[0].field[4].datatype -1245117006 +datatype[13].structtype[0].field[5].name "wsint" +datatype[13].structtype[0].field[5].datatype 519906144 +datatype[13].structtype[0].field[6].name "singlelong" +datatype[13].structtype[0].field[6].datatype 4 +datatype[13].structtype[0].field[7].name "multilong" +datatype[13].structtype[0].field[7].datatype 58874399 +datatype[13].structtype[0].field[8].name "wslong" +datatype[13].structtype[0].field[8].datatype -1059982799 +datatype[13].structtype[0].field[9].name "singlefloat" +datatype[13].structtype[0].field[9].datatype 1 +datatype[13].structtype[0].field[10].name "multifloat" +datatype[13].structtype[0].field[10].datatype 1650586661 +datatype[13].structtype[0].field[11].name "wsfloat" +datatype[13].structtype[0].field[11].datatype 1325751891 +datatype[13].structtype[0].field[12].name "singledouble" +datatype[13].structtype[0].field[12].datatype 5 +datatype[13].structtype[0].field[13].name "multidouble" +datatype[13].structtype[0].field[13].datatype -2054976470 +datatype[13].structtype[0].field[14].name "wsdouble" +datatype[13].structtype[0].field[14].datatype 760047548 +datatype[13].structtype[0].field[15].name "singlestring" +datatype[13].structtype[0].field[15].datatype 2 +datatype[13].structtype[0].field[16].name "multistring" +datatype[13].structtype[0].field[16].datatype -1486737430 +datatype[13].structtype[0].field[17].name "wsstring" +datatype[13].structtype[0].field[17].datatype 1328286588 +datatype[13].structtype[0].field[18].name "rankfeatures" +datatype[13].structtype[0].field[18].datatype 2 +datatype[13].structtype[0].field[19].name "summaryfeatures" +datatype[13].structtype[0].field[19].datatype 2 +datatype[14].id 932425403 +datatype[14].structtype[0].name "prefetch.body" +datatype[14].structtype[0].version 0 +datatype[14].structtype[0].compresstype NONE +datatype[14].structtype[0].compresslevel 0 +datatype[14].structtype[0].compressthreshold 95 +datatype[14].structtype[0].compressminsize 800 +datatype[15].id -1458051591 +datatype[15].documenttype[0].name "prefetch" +datatype[15].documenttype[0].version 0 +datatype[15].documenttype[0].inherits[0].name "document" +datatype[15].documenttype[0].inherits[0].version 0 +datatype[15].documenttype[0].headerstruct -109105370 +datatype[15].documenttype[0].bodystruct 932425403 +datatype[15].documenttype[0].fieldsets{[document]}.fields[0] "multibyte" +datatype[15].documenttype[0].fieldsets{[document]}.fields[1] "multidouble" +datatype[15].documenttype[0].fieldsets{[document]}.fields[2] "multifloat" +datatype[15].documenttype[0].fieldsets{[document]}.fields[3] "multiint" +datatype[15].documenttype[0].fieldsets{[document]}.fields[4] "multilong" +datatype[15].documenttype[0].fieldsets{[document]}.fields[5] "multistring" +datatype[15].documenttype[0].fieldsets{[document]}.fields[6] "singlebyte" +datatype[15].documenttype[0].fieldsets{[document]}.fields[7] "singledouble" +datatype[15].documenttype[0].fieldsets{[document]}.fields[8] "singlefloat" +datatype[15].documenttype[0].fieldsets{[document]}.fields[9] "singleint" +datatype[15].documenttype[0].fieldsets{[document]}.fields[10] "singlelong" +datatype[15].documenttype[0].fieldsets{[document]}.fields[11] "singlestring" +datatype[15].documenttype[0].fieldsets{[document]}.fields[12] "wsbyte" +datatype[15].documenttype[0].fieldsets{[document]}.fields[13] "wsdouble" +datatype[15].documenttype[0].fieldsets{[document]}.fields[14] "wsfloat" +datatype[15].documenttype[0].fieldsets{[document]}.fields[15] "wsint" +datatype[15].documenttype[0].fieldsets{[document]}.fields[16] "wslong" +datatype[15].documenttype[0].fieldsets{[document]}.fields[17] "wsstring" diff --git a/config-model/src/test/derived/attributeprefetch/ilscripts.cfg b/config-model/src/test/derived/attributeprefetch/ilscripts.cfg new file mode 100644 index 00000000000..201d529ce1d --- /dev/null +++ b/config-model/src/test/derived/attributeprefetch/ilscripts.cfg @@ -0,0 +1,38 @@ +maxtermoccurrences 100 +ilscript[0].doctype "prefetch" +ilscript[0].docfield[0] "singlebyte" +ilscript[0].docfield[1] "multibyte" +ilscript[0].docfield[2] "wsbyte" +ilscript[0].docfield[3] "singleint" +ilscript[0].docfield[4] "multiint" +ilscript[0].docfield[5] "wsint" +ilscript[0].docfield[6] "singlelong" +ilscript[0].docfield[7] "multilong" +ilscript[0].docfield[8] "wslong" +ilscript[0].docfield[9] "singlefloat" +ilscript[0].docfield[10] "multifloat" +ilscript[0].docfield[11] "wsfloat" +ilscript[0].docfield[12] "singledouble" +ilscript[0].docfield[13] "multidouble" +ilscript[0].docfield[14] "wsdouble" +ilscript[0].docfield[15] "singlestring" +ilscript[0].docfield[16] "multistring" +ilscript[0].docfield[17] "wsstring" +ilscript[0].content[0] "clear_state | guard { input singlebyte | attribute singlebyte; }" +ilscript[0].content[1] "clear_state | guard { input multibyte | attribute multibyte; }" +ilscript[0].content[2] "clear_state | guard { input wsbyte | attribute wsbyte; }" +ilscript[0].content[3] "clear_state | guard { input singleint | attribute singleint; }" +ilscript[0].content[4] "clear_state | guard { input multiint | attribute multiint; }" +ilscript[0].content[5] "clear_state | guard { input wsint | attribute wsint; }" +ilscript[0].content[6] "clear_state | guard { input singlelong | attribute singlelong; }" +ilscript[0].content[7] "clear_state | guard { input multilong | attribute multilong; }" +ilscript[0].content[8] "clear_state | guard { input wslong | attribute wslong; }" +ilscript[0].content[9] "clear_state | guard { input singlefloat | attribute singlefloat; }" +ilscript[0].content[10] "clear_state | guard { input multifloat | attribute multifloat; }" +ilscript[0].content[11] "clear_state | guard { input wsfloat | attribute wsfloat; }" +ilscript[0].content[12] "clear_state | guard { input singledouble | attribute singledouble; }" +ilscript[0].content[13] "clear_state | guard { input multidouble | attribute multidouble; }" +ilscript[0].content[14] "clear_state | guard { input wsdouble | attribute wsdouble; }" +ilscript[0].content[15] "clear_state | guard { input singlestring | attribute singlestring; }" +ilscript[0].content[16] "clear_state | guard { input multistring | attribute multistring; }" +ilscript[0].content[17] "clear_state | guard { input wsstring | attribute wsstring; }"
\ No newline at end of file diff --git a/config-model/src/test/derived/attributeprefetch/index-info.cfg b/config-model/src/test/derived/attributeprefetch/index-info.cfg new file mode 100644 index 00000000000..526195dffb9 --- /dev/null +++ b/config-model/src/test/derived/attributeprefetch/index-info.cfg @@ -0,0 +1,115 @@ +indexinfo[0].name "prefetch" +indexinfo[0].command[0].indexname "sddocname" +indexinfo[0].command[0].command "index" +indexinfo[0].command[1].indexname "sddocname" +indexinfo[0].command[1].command "word" +indexinfo[0].command[2].indexname "singlebyte" +indexinfo[0].command[2].command "index" +indexinfo[0].command[3].indexname "singlebyte" +indexinfo[0].command[3].command "attribute" +indexinfo[0].command[4].indexname "singlebyte" +indexinfo[0].command[4].command "numerical" +indexinfo[0].command[5].indexname "multibyte" +indexinfo[0].command[5].command "index" +indexinfo[0].command[6].indexname "multibyte" +indexinfo[0].command[6].command "multivalue" +indexinfo[0].command[7].indexname "multibyte" +indexinfo[0].command[7].command "attribute" +indexinfo[0].command[8].indexname "wsbyte" +indexinfo[0].command[8].command "index" +indexinfo[0].command[9].indexname "wsbyte" +indexinfo[0].command[9].command "multivalue" +indexinfo[0].command[10].indexname "wsbyte" +indexinfo[0].command[10].command "attribute" +indexinfo[0].command[11].indexname "singleint" +indexinfo[0].command[11].command "index" +indexinfo[0].command[12].indexname "singleint" +indexinfo[0].command[12].command "attribute" +indexinfo[0].command[13].indexname "singleint" +indexinfo[0].command[13].command "numerical" +indexinfo[0].command[14].indexname "multiint" +indexinfo[0].command[14].command "index" +indexinfo[0].command[15].indexname "multiint" +indexinfo[0].command[15].command "multivalue" +indexinfo[0].command[16].indexname "multiint" +indexinfo[0].command[16].command "attribute" +indexinfo[0].command[17].indexname "wsint" +indexinfo[0].command[17].command "index" +indexinfo[0].command[18].indexname "wsint" +indexinfo[0].command[18].command "multivalue" +indexinfo[0].command[19].indexname "wsint" +indexinfo[0].command[19].command "attribute" +indexinfo[0].command[20].indexname "singlelong" +indexinfo[0].command[20].command "index" +indexinfo[0].command[21].indexname "singlelong" +indexinfo[0].command[21].command "attribute" +indexinfo[0].command[22].indexname "singlelong" +indexinfo[0].command[22].command "numerical" +indexinfo[0].command[23].indexname "multilong" +indexinfo[0].command[23].command "index" +indexinfo[0].command[24].indexname "multilong" +indexinfo[0].command[24].command "multivalue" +indexinfo[0].command[25].indexname "multilong" +indexinfo[0].command[25].command "attribute" +indexinfo[0].command[26].indexname "wslong" +indexinfo[0].command[26].command "index" +indexinfo[0].command[27].indexname "wslong" +indexinfo[0].command[27].command "multivalue" +indexinfo[0].command[28].indexname "wslong" +indexinfo[0].command[28].command "attribute" +indexinfo[0].command[29].indexname "singlefloat" +indexinfo[0].command[29].command "index" +indexinfo[0].command[30].indexname "singlefloat" +indexinfo[0].command[30].command "attribute" +indexinfo[0].command[31].indexname "singlefloat" +indexinfo[0].command[31].command "numerical" +indexinfo[0].command[32].indexname "multifloat" +indexinfo[0].command[32].command "index" +indexinfo[0].command[33].indexname "multifloat" +indexinfo[0].command[33].command "multivalue" +indexinfo[0].command[34].indexname "multifloat" +indexinfo[0].command[34].command "attribute" +indexinfo[0].command[35].indexname "wsfloat" +indexinfo[0].command[35].command "index" +indexinfo[0].command[36].indexname "wsfloat" +indexinfo[0].command[36].command "multivalue" +indexinfo[0].command[37].indexname "wsfloat" +indexinfo[0].command[37].command "attribute" +indexinfo[0].command[38].indexname "singledouble" +indexinfo[0].command[38].command "index" +indexinfo[0].command[39].indexname "singledouble" +indexinfo[0].command[39].command "attribute" +indexinfo[0].command[40].indexname "singledouble" +indexinfo[0].command[40].command "numerical" +indexinfo[0].command[41].indexname "multidouble" +indexinfo[0].command[41].command "index" +indexinfo[0].command[42].indexname "multidouble" +indexinfo[0].command[42].command "multivalue" +indexinfo[0].command[43].indexname "multidouble" +indexinfo[0].command[43].command "attribute" +indexinfo[0].command[44].indexname "wsdouble" +indexinfo[0].command[44].command "index" +indexinfo[0].command[45].indexname "wsdouble" +indexinfo[0].command[45].command "multivalue" +indexinfo[0].command[46].indexname "wsdouble" +indexinfo[0].command[46].command "attribute" +indexinfo[0].command[47].indexname "singlestring" +indexinfo[0].command[47].command "index" +indexinfo[0].command[48].indexname "singlestring" +indexinfo[0].command[48].command "attribute" +indexinfo[0].command[49].indexname "multistring" +indexinfo[0].command[49].command "index" +indexinfo[0].command[50].indexname "multistring" +indexinfo[0].command[50].command "multivalue" +indexinfo[0].command[51].indexname "multistring" +indexinfo[0].command[51].command "attribute" +indexinfo[0].command[52].indexname "wsstring" +indexinfo[0].command[52].command "index" +indexinfo[0].command[53].indexname "wsstring" +indexinfo[0].command[53].command "multivalue" +indexinfo[0].command[54].indexname "wsstring" +indexinfo[0].command[54].command "attribute" +indexinfo[0].command[55].indexname "rankfeatures" +indexinfo[0].command[55].command "index" +indexinfo[0].command[56].indexname "summaryfeatures" +indexinfo[0].command[56].command "index"
\ No newline at end of file diff --git a/config-model/src/test/derived/attributeprefetch/rank-profiles.cfg b/config-model/src/test/derived/attributeprefetch/rank-profiles.cfg new file mode 100644 index 00000000000..caca83a9a91 --- /dev/null +++ b/config-model/src/test/derived/attributeprefetch/rank-profiles.cfg @@ -0,0 +1,10 @@ +rankprofile[0].name "default" +rankprofile[1].name "unranked" +rankprofile[1].fef.property[0].name "vespa.rank.firstphase" +rankprofile[1].fef.property[0].value "value(0)" +rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize" +rankprofile[1].fef.property[1].value "0" +rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize" +rankprofile[1].fef.property[2].value "0" +rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures" +rankprofile[1].fef.property[3].value "true"
\ No newline at end of file diff --git a/config-model/src/test/derived/attributeprefetch/summary.cfg b/config-model/src/test/derived/attributeprefetch/summary.cfg new file mode 100644 index 00000000000..ef01911a41f --- /dev/null +++ b/config-model/src/test/derived/attributeprefetch/summary.cfg @@ -0,0 +1,51 @@ +defaultsummaryid 1151071433 +classes[0].id 1151071433 +classes[0].name "default" +classes[0].fields[0].name "rankfeatures" +classes[0].fields[0].type "featuredata" +classes[0].fields[1].name "summaryfeatures" +classes[0].fields[1].type "featuredata" +classes[0].fields[2].name "documentid" +classes[0].fields[2].type "longstring" +classes[1].id 1279606967 +classes[1].name "attributeprefetch" +classes[1].fields[0].name "singlebyte" +classes[1].fields[0].type "byte" +classes[1].fields[1].name "multibyte" +classes[1].fields[1].type "jsonstring" +classes[1].fields[2].name "wsbyte" +classes[1].fields[2].type "jsonstring" +classes[1].fields[3].name "singleint" +classes[1].fields[3].type "integer" +classes[1].fields[4].name "multiint" +classes[1].fields[4].type "jsonstring" +classes[1].fields[5].name "wsint" +classes[1].fields[5].type "jsonstring" +classes[1].fields[6].name "singlelong" +classes[1].fields[6].type "int64" +classes[1].fields[7].name "multilong" +classes[1].fields[7].type "jsonstring" +classes[1].fields[8].name "wslong" +classes[1].fields[8].type "jsonstring" +classes[1].fields[9].name "singlefloat" +classes[1].fields[9].type "float" +classes[1].fields[10].name "multifloat" +classes[1].fields[10].type "jsonstring" +classes[1].fields[11].name "wsfloat" +classes[1].fields[11].type "jsonstring" +classes[1].fields[12].name "singledouble" +classes[1].fields[12].type "double" +classes[1].fields[13].name "multidouble" +classes[1].fields[13].type "jsonstring" +classes[1].fields[14].name "wsdouble" +classes[1].fields[14].type "jsonstring" +classes[1].fields[15].name "singlestring" +classes[1].fields[15].type "longstring" +classes[1].fields[16].name "multistring" +classes[1].fields[16].type "jsonstring" +classes[1].fields[17].name "wsstring" +classes[1].fields[17].type "jsonstring" +classes[1].fields[18].name "rankfeatures" +classes[1].fields[18].type "featuredata" +classes[1].fields[19].name "summaryfeatures" +classes[1].fields[19].type "featuredata"
\ No newline at end of file diff --git a/config-model/src/test/derived/attributeprefetch/summarymap.cfg b/config-model/src/test/derived/attributeprefetch/summarymap.cfg new file mode 100644 index 00000000000..e42657eb2bb --- /dev/null +++ b/config-model/src/test/derived/attributeprefetch/summarymap.cfg @@ -0,0 +1,61 @@ +defaultoutputclass -1 +override[0].field "rankfeatures" +override[0].command "rankfeatures" +override[0].arguments "" +override[1].field "summaryfeatures" +override[1].command "summaryfeatures" +override[1].arguments "" +override[2].field "singlebyte" +override[2].command "attribute" +override[2].arguments "singlebyte" +override[3].field "multibyte" +override[3].command "attribute" +override[3].arguments "multibyte" +override[4].field "wsbyte" +override[4].command "attribute" +override[4].arguments "wsbyte" +override[5].field "singleint" +override[5].command "attribute" +override[5].arguments "singleint" +override[6].field "multiint" +override[6].command "attribute" +override[6].arguments "multiint" +override[7].field "wsint" +override[7].command "attribute" +override[7].arguments "wsint" +override[8].field "singlelong" +override[8].command "attribute" +override[8].arguments "singlelong" +override[9].field "multilong" +override[9].command "attribute" +override[9].arguments "multilong" +override[10].field "wslong" +override[10].command "attribute" +override[10].arguments "wslong" +override[11].field "singlefloat" +override[11].command "attribute" +override[11].arguments "singlefloat" +override[12].field "multifloat" +override[12].command "attribute" +override[12].arguments "multifloat" +override[13].field "wsfloat" +override[13].command "attribute" +override[13].arguments "wsfloat" +override[14].field "singledouble" +override[14].command "attribute" +override[14].arguments "singledouble" +override[15].field "multidouble" +override[15].command "attribute" +override[15].arguments "multidouble" +override[16].field "wsdouble" +override[16].command "attribute" +override[16].arguments "wsdouble" +override[17].field "singlestring" +override[17].command "attribute" +override[17].arguments "singlestring" +override[18].field "multistring" +override[18].command "attribute" +override[18].arguments "multistring" +override[19].field "wsstring" +override[19].command "attribute" +override[19].arguments "wsstring"
\ No newline at end of file diff --git a/config-model/src/test/derived/attributerank/attributerank.sd b/config-model/src/test/derived/attributerank/attributerank.sd new file mode 100644 index 00000000000..d20f9972404 --- /dev/null +++ b/config-model/src/test/derived/attributerank/attributerank.sd @@ -0,0 +1,41 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search attributerank { + + document attributerank { + + field singlebyte type byte { + indexing: attribute + } + field singleint type int { + indexing: attribute + } + field singlelong type long { + indexing: attribute + } + field singlefloat type float { + indexing: attribute + rank-type: identity + } + field singledouble type double { + indexing: attribute + rank-type: identity + } + field singlestring type string { + indexing: attribute + rank-type: identity + } + } + + rank-profile firstprofile inherits default { + rank-type singlestring: default + } + + rank-profile secondprofile inherits identity { + rank-type singlebyte: identity + rank-type singleint: identity + rank-type singlelong: identity + rank-type singlefloat: identity + rank-type singledouble: identity + rank-type singlestring: identity + } +} diff --git a/config-model/src/test/derived/attributerank/rank-profiles.cfg b/config-model/src/test/derived/attributerank/rank-profiles.cfg new file mode 100644 index 00000000000..b37289705ec --- /dev/null +++ b/config-model/src/test/derived/attributerank/rank-profiles.cfg @@ -0,0 +1,34 @@ +rankprofile[0].name "default" +rankprofile[0].fef.property[0].name "nativeAttributeMatch.weightTable.singlefloat" +rankprofile[0].fef.property[0].value "linear(1,0)" +rankprofile[0].fef.property[1].name "nativeAttributeMatch.weightTable.singledouble" +rankprofile[0].fef.property[1].value "linear(1,0)" +rankprofile[0].fef.property[2].name "nativeAttributeMatch.weightTable.singlestring" +rankprofile[0].fef.property[2].value "linear(1,0)" +rankprofile[1].name "unranked" +rankprofile[1].fef.property[0].name "vespa.rank.firstphase" +rankprofile[1].fef.property[0].value "value(0)" +rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize" +rankprofile[1].fef.property[1].value "0" +rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize" +rankprofile[1].fef.property[2].value "0" +rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures" +rankprofile[1].fef.property[3].value "true" +rankprofile[2].name "firstprofile" +rankprofile[2].fef.property[0].name "nativeAttributeMatch.weightTable.singlefloat" +rankprofile[2].fef.property[0].value "linear(1,0)" +rankprofile[2].fef.property[1].name "nativeAttributeMatch.weightTable.singledouble" +rankprofile[2].fef.property[1].value "linear(1,0)" +rankprofile[3].name "secondprofile" +rankprofile[3].fef.property[0].name "nativeAttributeMatch.weightTable.singlebyte" +rankprofile[3].fef.property[0].value "linear(1,0)" +rankprofile[3].fef.property[1].name "nativeAttributeMatch.weightTable.singleint" +rankprofile[3].fef.property[1].value "linear(1,0)" +rankprofile[3].fef.property[2].name "nativeAttributeMatch.weightTable.singlelong" +rankprofile[3].fef.property[2].value "linear(1,0)" +rankprofile[3].fef.property[3].name "nativeAttributeMatch.weightTable.singlefloat" +rankprofile[3].fef.property[3].value "linear(1,0)" +rankprofile[3].fef.property[4].name "nativeAttributeMatch.weightTable.singledouble" +rankprofile[3].fef.property[4].value "linear(1,0)" +rankprofile[3].fef.property[5].name "nativeAttributeMatch.weightTable.singlestring" +rankprofile[3].fef.property[5].value "linear(1,0)"
\ No newline at end of file diff --git a/config-model/src/test/derived/attributes/attributes.cfg b/config-model/src/test/derived/attributes/attributes.cfg new file mode 100644 index 00000000000..38f55f9645d --- /dev/null +++ b/config-model/src/test/derived/attributes/attributes.cfg @@ -0,0 +1,342 @@ +attribute[0].name "a1" +attribute[0].datatype STRING +attribute[0].collectiontype SINGLE +attribute[0].removeifzero false +attribute[0].createifnonexistent false +attribute[0].fastsearch false +attribute[0].huge false +attribute[0].sortascending true +attribute[0].sortfunction UCA +attribute[0].sortstrength PRIMARY +attribute[0].sortlocale "" +attribute[0].enablebitvectors false +attribute[0].enableonlybitvector false +attribute[0].fastaccess false +attribute[0].arity 8 +attribute[0].lowerbound -9223372036854775808 +attribute[0].upperbound 9223372036854775807 +attribute[0].densepostinglistthreshold 0.4 +attribute[0].tensortype "" +attribute[1].name "a2" +attribute[1].datatype STRING +attribute[1].collectiontype SINGLE +attribute[1].removeifzero false +attribute[1].createifnonexistent false +attribute[1].fastsearch false +attribute[1].huge false +attribute[1].sortascending true +attribute[1].sortfunction UCA +attribute[1].sortstrength PRIMARY +attribute[1].sortlocale "" +attribute[1].enablebitvectors false +attribute[1].enableonlybitvector false +attribute[1].fastaccess false +attribute[1].arity 8 +attribute[1].lowerbound -9223372036854775808 +attribute[1].upperbound 9223372036854775807 +attribute[1].densepostinglistthreshold 0.4 +attribute[1].tensortype "" +attribute[2].name "a3" +attribute[2].datatype STRING +attribute[2].collectiontype SINGLE +attribute[2].removeifzero false +attribute[2].createifnonexistent false +attribute[2].fastsearch false +attribute[2].huge false +attribute[2].sortascending true +attribute[2].sortfunction UCA +attribute[2].sortstrength PRIMARY +attribute[2].sortlocale "" +attribute[2].enablebitvectors false +attribute[2].enableonlybitvector false +attribute[2].fastaccess false +attribute[2].arity 8 +attribute[2].lowerbound -9223372036854775808 +attribute[2].upperbound 9223372036854775807 +attribute[2].densepostinglistthreshold 0.4 +attribute[2].tensortype "" +attribute[3].name "a5" +attribute[3].datatype STRING +attribute[3].collectiontype SINGLE +attribute[3].removeifzero false +attribute[3].createifnonexistent false +attribute[3].fastsearch false +attribute[3].huge false +attribute[3].sortascending true +attribute[3].sortfunction UCA +attribute[3].sortstrength PRIMARY +attribute[3].sortlocale "" +attribute[3].enablebitvectors false +attribute[3].enableonlybitvector false +attribute[3].fastaccess false +attribute[3].arity 8 +attribute[3].lowerbound -9223372036854775808 +attribute[3].upperbound 9223372036854775807 +attribute[3].densepostinglistthreshold 0.4 +attribute[3].tensortype "" +attribute[4].name "a6" +attribute[4].datatype STRING +attribute[4].collectiontype SINGLE +attribute[4].removeifzero false +attribute[4].createifnonexistent false +attribute[4].fastsearch false +attribute[4].huge false +attribute[4].sortascending true +attribute[4].sortfunction UCA +attribute[4].sortstrength PRIMARY +attribute[4].sortlocale "" +attribute[4].enablebitvectors false +attribute[4].enableonlybitvector false +attribute[4].fastaccess false +attribute[4].arity 8 +attribute[4].lowerbound -9223372036854775808 +attribute[4].upperbound 9223372036854775807 +attribute[4].densepostinglistthreshold 0.4 +attribute[4].tensortype "" +attribute[5].name "b1" +attribute[5].datatype STRING +attribute[5].collectiontype SINGLE +attribute[5].removeifzero false +attribute[5].createifnonexistent false +attribute[5].fastsearch false +attribute[5].huge false +attribute[5].sortascending true +attribute[5].sortfunction UCA +attribute[5].sortstrength PRIMARY +attribute[5].sortlocale "" +attribute[5].enablebitvectors false +attribute[5].enableonlybitvector false +attribute[5].fastaccess false +attribute[5].arity 8 +attribute[5].lowerbound -9223372036854775808 +attribute[5].upperbound 9223372036854775807 +attribute[5].densepostinglistthreshold 0.4 +attribute[5].tensortype "" +attribute[6].name "b2" +attribute[6].datatype STRING +attribute[6].collectiontype SINGLE +attribute[6].removeifzero false +attribute[6].createifnonexistent false +attribute[6].fastsearch false +attribute[6].huge false +attribute[6].sortascending true +attribute[6].sortfunction UCA +attribute[6].sortstrength PRIMARY +attribute[6].sortlocale "" +attribute[6].enablebitvectors false +attribute[6].enableonlybitvector false +attribute[6].fastaccess false +attribute[6].arity 8 +attribute[6].lowerbound -9223372036854775808 +attribute[6].upperbound 9223372036854775807 +attribute[6].densepostinglistthreshold 0.4 +attribute[6].tensortype "" +attribute[7].name "b3" +attribute[7].datatype STRING +attribute[7].collectiontype SINGLE +attribute[7].removeifzero false +attribute[7].createifnonexistent false +attribute[7].fastsearch false +attribute[7].huge false +attribute[7].sortascending true +attribute[7].sortfunction UCA +attribute[7].sortstrength PRIMARY +attribute[7].sortlocale "" +attribute[7].enablebitvectors false +attribute[7].enableonlybitvector false +attribute[7].fastaccess false +attribute[7].arity 8 +attribute[7].lowerbound -9223372036854775808 +attribute[7].upperbound 9223372036854775807 +attribute[7].densepostinglistthreshold 0.4 +attribute[7].tensortype "" +attribute[8].name "b4" +attribute[8].datatype INT32 +attribute[8].collectiontype SINGLE +attribute[8].removeifzero false +attribute[8].createifnonexistent false +attribute[8].fastsearch false +attribute[8].huge false +attribute[8].sortascending true +attribute[8].sortfunction UCA +attribute[8].sortstrength PRIMARY +attribute[8].sortlocale "" +attribute[8].enablebitvectors false +attribute[8].enableonlybitvector false +attribute[8].fastaccess false +attribute[8].arity 8 +attribute[8].lowerbound -9223372036854775808 +attribute[8].upperbound 9223372036854775807 +attribute[8].densepostinglistthreshold 0.4 +attribute[8].tensortype "" +attribute[9].name "b5" +attribute[9].datatype INT32 +attribute[9].collectiontype SINGLE +attribute[9].removeifzero false +attribute[9].createifnonexistent false +attribute[9].fastsearch false +attribute[9].huge false +attribute[9].sortascending true +attribute[9].sortfunction UCA +attribute[9].sortstrength PRIMARY +attribute[9].sortlocale "" +attribute[9].enablebitvectors false +attribute[9].enableonlybitvector false +attribute[9].fastaccess false +attribute[9].arity 8 +attribute[9].lowerbound -9223372036854775808 +attribute[9].upperbound 9223372036854775807 +attribute[9].densepostinglistthreshold 0.4 +attribute[9].tensortype "" +attribute[10].name "b6" +attribute[10].datatype INT64 +attribute[10].collectiontype ARRAY +attribute[10].removeifzero false +attribute[10].createifnonexistent false +attribute[10].fastsearch false +attribute[10].huge false +attribute[10].sortascending true +attribute[10].sortfunction UCA +attribute[10].sortstrength PRIMARY +attribute[10].sortlocale "" +attribute[10].enablebitvectors false +attribute[10].enableonlybitvector false +attribute[10].fastaccess false +attribute[10].arity 8 +attribute[10].lowerbound -9223372036854775808 +attribute[10].upperbound 9223372036854775807 +attribute[10].densepostinglistthreshold 0.4 +attribute[10].tensortype "" +attribute[11].name "b7" +attribute[11].datatype DOUBLE +attribute[11].collectiontype WEIGHTEDSET +attribute[11].removeifzero false +attribute[11].createifnonexistent false +attribute[11].fastsearch false +attribute[11].huge false +attribute[11].sortascending true +attribute[11].sortfunction UCA +attribute[11].sortstrength PRIMARY +attribute[11].sortlocale "" +attribute[11].enablebitvectors false +attribute[11].enableonlybitvector false +attribute[11].fastaccess false +attribute[11].arity 8 +attribute[11].lowerbound -9223372036854775808 +attribute[11].upperbound 9223372036854775807 +attribute[11].densepostinglistthreshold 0.4 +attribute[11].tensortype "" +attribute[12].name "a9" +attribute[12].datatype INT32 +attribute[12].collectiontype SINGLE +attribute[12].removeifzero false +attribute[12].createifnonexistent false +attribute[12].fastsearch false +attribute[12].huge false +attribute[12].sortascending true +attribute[12].sortfunction UCA +attribute[12].sortstrength PRIMARY +attribute[12].sortlocale "" +attribute[12].enablebitvectors true +attribute[12].enableonlybitvector false +attribute[12].fastaccess false +attribute[12].arity 8 +attribute[12].lowerbound -9223372036854775808 +attribute[12].upperbound 9223372036854775807 +attribute[12].densepostinglistthreshold 0.4 +attribute[12].tensortype "" +attribute[13].name "a10" +attribute[13].datatype INT32 +attribute[13].collectiontype ARRAY +attribute[13].removeifzero false +attribute[13].createifnonexistent false +attribute[13].fastsearch true +attribute[13].huge false +attribute[13].sortascending true +attribute[13].sortfunction UCA +attribute[13].sortstrength PRIMARY +attribute[13].sortlocale "" +attribute[13].enablebitvectors true +attribute[13].enableonlybitvector true +attribute[13].fastaccess false +attribute[13].arity 8 +attribute[13].lowerbound -9223372036854775808 +attribute[13].upperbound 9223372036854775807 +attribute[13].densepostinglistthreshold 0.4 +attribute[13].tensortype "" +attribute[14].name "a11" +attribute[14].datatype INT32 +attribute[14].collectiontype SINGLE +attribute[14].removeifzero false +attribute[14].createifnonexistent false +attribute[14].fastsearch false +attribute[14].huge false +attribute[14].sortascending true +attribute[14].sortfunction UCA +attribute[14].sortstrength PRIMARY +attribute[14].sortlocale "" +attribute[14].enablebitvectors false +attribute[14].enableonlybitvector false +attribute[14].fastaccess true +attribute[14].arity 8 +attribute[14].lowerbound -9223372036854775808 +attribute[14].upperbound 9223372036854775807 +attribute[14].densepostinglistthreshold 0.4 +attribute[14].tensortype "" +attribute[15].name "a12" +attribute[15].datatype INT32 +attribute[15].collectiontype SINGLE +attribute[15].removeifzero false +attribute[15].createifnonexistent false +attribute[15].fastsearch false +attribute[15].huge false +attribute[15].sortascending true +attribute[15].sortfunction UCA +attribute[15].sortstrength PRIMARY +attribute[15].sortlocale "" +attribute[15].enablebitvectors true +attribute[15].enableonlybitvector true +attribute[15].fastaccess false +attribute[15].arity 8 +attribute[15].lowerbound -9223372036854775808 +attribute[15].upperbound 9223372036854775807 +attribute[15].densepostinglistthreshold 0.4 +attribute[15].tensortype "" +attribute[16].name "a7_arr" +attribute[16].datatype STRING +attribute[16].collectiontype ARRAY +attribute[16].removeifzero false +attribute[16].createifnonexistent false +attribute[16].fastsearch false +attribute[16].huge false +attribute[16].sortascending true +attribute[16].sortfunction UCA +attribute[16].sortstrength PRIMARY +attribute[16].sortlocale "" +attribute[16].enablebitvectors false +attribute[16].enableonlybitvector false +attribute[16].fastaccess false +attribute[16].arity 8 +attribute[16].lowerbound -9223372036854775808 +attribute[16].upperbound 9223372036854775807 +attribute[16].densepostinglistthreshold 0.4 +attribute[16].tensortype "" +attribute[17].name "a8_arr" +attribute[17].datatype STRING +attribute[17].collectiontype ARRAY +attribute[17].removeifzero false +attribute[17].createifnonexistent false +attribute[17].fastsearch false +attribute[17].huge false +attribute[17].sortascending true +attribute[17].sortfunction UCA +attribute[17].sortstrength PRIMARY +attribute[17].sortlocale "" +attribute[17].enablebitvectors false +attribute[17].enableonlybitvector false +attribute[17].fastaccess false +attribute[17].arity 8 +attribute[17].lowerbound -9223372036854775808 +attribute[17].upperbound 9223372036854775807 +attribute[17].densepostinglistthreshold 0.4 +attribute[17].tensortype ""
\ No newline at end of file diff --git a/config-model/src/test/derived/attributes/attributes.sd b/config-model/src/test/derived/attributes/attributes.sd new file mode 100644 index 00000000000..95df6367ee7 --- /dev/null +++ b/config-model/src/test/derived/attributes/attributes.sd @@ -0,0 +1,121 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search attributes { + + document attributes { + + # Summary value taken from attribute + field a1 type string { + indexing: attribute | summary + match { + token + } + } + + # Summary value taken from summary + field a2 type string { + indexing: attribute | summary + match { + token + } + } + + # Summary value taken from summary + field a3 type string { + indexing: attribute | summary + match { + token + } + } + + # No attribute + field a4 type string { + indexing: summary + } + + # Unique only - not searchable. No match-group since the attribute is not to be used for searching + field a5 type string { + indexing: attribute | summary | index + } + + # Not searchable + field a6 type string { + indexing: attribute | summary | index + } + + # Multivalued; summary override + field a7 type string { + indexing: summary + } + + # Multivalued; summary override + field a8 type string { + indexing: summary + } + + field b1 type string { + indexing: attribute | summary + } + + field b2 type string { + indexing: attribute | summary | index + } + + field b3 type string { + indexing: attribute | summary | index + alias: date + } + + field b4 type int { + indexing: attribute | summary + } + + # integers (should not trigger exact-match query parsing) + field b5 type int { + indexing: summary | attribute + } + field b6 type array<long> { + indexing: summary | attribute + } + field b7 type weightedset<double> { + indexing: summary | attribute + } + + field a9 type int { + indexing: attribute + attribute: enable-bit-vectors + } + + field a10 type array<int> { + indexing: attribute + attribute { + fast-search + enable-only-bit-vector + enable-bit-vectors + } + } + + field a11 type int { + indexing: attribute + attribute: fast-access + } + + field a12 type int { + indexing: attribute + rank: filter + } + + } + + field a7_arr type array<string> { + indexing: input a7 | split ";" | attribute + } + + field a8_arr type array<string> { + indexing: input a8 | split ";" | attribute + } + + fieldset default { + fields: a5, a6 + } + +} diff --git a/config-model/src/test/derived/attributes/ilscripts.cfg b/config-model/src/test/derived/attributes/ilscripts.cfg new file mode 100644 index 00000000000..450cc8e499c --- /dev/null +++ b/config-model/src/test/derived/attributes/ilscripts.cfg @@ -0,0 +1,42 @@ +maxtermoccurrences 100 +ilscript[0].doctype "attributes" +ilscript[0].docfield[0] "a1" +ilscript[0].docfield[1] "a2" +ilscript[0].docfield[2] "a3" +ilscript[0].docfield[3] "a4" +ilscript[0].docfield[4] "a5" +ilscript[0].docfield[5] "a6" +ilscript[0].docfield[6] "a7" +ilscript[0].docfield[7] "a8" +ilscript[0].docfield[8] "b1" +ilscript[0].docfield[9] "b2" +ilscript[0].docfield[10] "b3" +ilscript[0].docfield[11] "b4" +ilscript[0].docfield[12] "b5" +ilscript[0].docfield[13] "b6" +ilscript[0].docfield[14] "b7" +ilscript[0].docfield[15] "a9" +ilscript[0].docfield[16] "a10" +ilscript[0].docfield[17] "a11" +ilscript[0].docfield[18] "a12" +ilscript[0].content[0] "clear_state | guard { input a7 | split \";\" | attribute a7_arr; }" +ilscript[0].content[1] "clear_state | guard { input a8 | split \";\" | attribute a8_arr; }" +ilscript[0].content[2] "clear_state | guard { input a1 | attribute a1 | summary a1; }" +ilscript[0].content[3] "clear_state | guard { input a2 | attribute a2 | summary a2; }" +ilscript[0].content[4] "clear_state | guard { input a3 | attribute a3 | summary a3; }" +ilscript[0].content[5] "clear_state | guard { input a4 | summary a4; }" +ilscript[0].content[6] "clear_state | guard { input a5 | tokenize normalize stem:\"SHORTEST\" | attribute a5 | summary a5 | index a5; }" +ilscript[0].content[7] "clear_state | guard { input a6 | tokenize normalize stem:\"SHORTEST\" | attribute a6 | summary a6 | index a6; }" +ilscript[0].content[8] "clear_state | guard { input a7 | summary a7; }" +ilscript[0].content[9] "clear_state | guard { input a8 | summary a8; }" +ilscript[0].content[10] "clear_state | guard { input b1 | attribute b1 | summary b1; }" +ilscript[0].content[11] "clear_state | guard { input b2 | tokenize normalize stem:\"SHORTEST\" | attribute b2 | summary b2 | index b2; }" +ilscript[0].content[12] "clear_state | guard { input b3 | tokenize normalize stem:\"SHORTEST\" | attribute b3 | summary b3 | index b3; }" +ilscript[0].content[13] "clear_state | guard { input b4 | attribute b4 | summary b4; }" +ilscript[0].content[14] "clear_state | guard { input b5 | summary b5 | attribute b5; }" +ilscript[0].content[15] "clear_state | guard { input b6 | summary b6 | attribute b6; }" +ilscript[0].content[16] "clear_state | guard { input b7 | summary b7 | attribute b7; }" +ilscript[0].content[17] "clear_state | guard { input a9 | attribute a9; }" +ilscript[0].content[18] "clear_state | guard { input a10 | attribute a10; }" +ilscript[0].content[19] "clear_state | guard { input a11 | attribute a11; }" +ilscript[0].content[20] "clear_state | guard { input a12 | attribute a12; }"
\ No newline at end of file diff --git a/config-model/src/test/derived/attributes/index-info.cfg b/config-model/src/test/derived/attributes/index-info.cfg new file mode 100644 index 00000000000..c9a12da4479 --- /dev/null +++ b/config-model/src/test/derived/attributes/index-info.cfg @@ -0,0 +1,141 @@ +indexinfo[0].name "attributes" +indexinfo[0].command[].indexname "sddocname" +indexinfo[0].command[].command "index" +indexinfo[0].command[].indexname "sddocname" +indexinfo[0].command[].command "word" +indexinfo[0].command[].indexname "a1" +indexinfo[0].command[].command "index" +indexinfo[0].command[].indexname "a1" +indexinfo[0].command[].command "attribute" +indexinfo[0].command[].indexname "a2" +indexinfo[0].command[].command "index" +indexinfo[0].command[].indexname "a2" +indexinfo[0].command[].command "attribute" +indexinfo[0].command[].indexname "a3" +indexinfo[0].command[].command "index" +indexinfo[0].command[].indexname "a3" +indexinfo[0].command[].command "attribute" +indexinfo[0].command[].indexname "a4" +indexinfo[0].command[].command "index" +indexinfo[0].command[].indexname "a5" +indexinfo[0].command[].command "index" +indexinfo[0].command[].indexname "a5" +indexinfo[0].command[].command "lowercase" +indexinfo[0].command[].indexname "a5" +indexinfo[0].command[].command "stem:SHORTEST" +indexinfo[0].command[].indexname "a5" +indexinfo[0].command[].command "normalize" +indexinfo[0].command[].indexname "a6" +indexinfo[0].command[].command "index" +indexinfo[0].command[].indexname "a6" +indexinfo[0].command[].command "lowercase" +indexinfo[0].command[].indexname "a6" +indexinfo[0].command[].command "stem:SHORTEST" +indexinfo[0].command[].indexname "a6" +indexinfo[0].command[].command "normalize" +indexinfo[0].command[].indexname "default" +indexinfo[0].command[].command "index" +indexinfo[0].command[].indexname "default" +indexinfo[0].command[].command "lowercase" +indexinfo[0].command[].indexname "default" +indexinfo[0].command[].command "stem:SHORTEST" +indexinfo[0].command[].indexname "default" +indexinfo[0].command[].command "normalize" +indexinfo[0].command[].indexname "a7" +indexinfo[0].command[].command "index" +indexinfo[0].command[].indexname "a8" +indexinfo[0].command[].command "index" +indexinfo[0].command[].indexname "b1" +indexinfo[0].command[].command "index" +indexinfo[0].command[].indexname "b1" +indexinfo[0].command[].command "attribute" +indexinfo[0].command[].indexname "b1" +indexinfo[0].command[].command "word" +indexinfo[0].command[].indexname "b2" +indexinfo[0].command[].command "index" +indexinfo[0].command[].indexname "b2" +indexinfo[0].command[].command "lowercase" +indexinfo[0].command[].indexname "b2" +indexinfo[0].command[].command "stem:SHORTEST" +indexinfo[0].command[].indexname "b2" +indexinfo[0].command[].command "normalize" +indexinfo[0].command[].indexname "b3" +indexinfo[0].command[].command "index" +indexinfo[0].command[].indexname "b3" +indexinfo[0].command[].command "lowercase" +indexinfo[0].command[].indexname "b3" +indexinfo[0].command[].command "stem:SHORTEST" +indexinfo[0].command[].indexname "b3" +indexinfo[0].command[].command "normalize" +indexinfo[0].command[].indexname "b4" +indexinfo[0].command[].command "index" +indexinfo[0].command[].indexname "b4" +indexinfo[0].command[].command "attribute" +indexinfo[0].command[].indexname "b4" +indexinfo[0].command[].command "numerical" +indexinfo[0].command[].indexname "b5" +indexinfo[0].command[].command "index" +indexinfo[0].command[].indexname "b5" +indexinfo[0].command[].command "attribute" +indexinfo[0].command[].indexname "b5" +indexinfo[0].command[].command "numerical" +indexinfo[0].command[].indexname "b6" +indexinfo[0].command[].command "index" +indexinfo[0].command[].indexname "b6" +indexinfo[0].command[].command "multivalue" +indexinfo[0].command[].indexname "b6" +indexinfo[0].command[].command "attribute" +indexinfo[0].command[].indexname "b7" +indexinfo[0].command[].command "index" +indexinfo[0].command[].indexname "b7" +indexinfo[0].command[].command "multivalue" +indexinfo[0].command[].indexname "b7" +indexinfo[0].command[].command "attribute" +indexinfo[0].command[].indexname "a9" +indexinfo[0].command[].command "index" +indexinfo[0].command[].indexname "a9" +indexinfo[0].command[].command "attribute" +indexinfo[0].command[].indexname "a9" +indexinfo[0].command[].command "numerical" +indexinfo[0].command[].indexname "a10" +indexinfo[0].command[].command "index" +indexinfo[0].command[].indexname "a10" +indexinfo[0].command[].command "multivalue" +indexinfo[0].command[].indexname "a10" +indexinfo[0].command[].command "attribute" +indexinfo[0].command[].indexname "a10" +indexinfo[0].command[].command "fast-search" +indexinfo[0].command[].indexname "a11" +indexinfo[0].command[].command "index" +indexinfo[0].command[].indexname "a11" +indexinfo[0].command[].command "attribute" +indexinfo[0].command[].indexname "a11" +indexinfo[0].command[].command "numerical" +indexinfo[0].command[].indexname "a12" +indexinfo[0].command[].command "index" +indexinfo[0].command[].indexname "a12" +indexinfo[0].command[].command "attribute" +indexinfo[0].command[].indexname "a12" +indexinfo[0].command[].command "numerical" +indexinfo[0].command[].indexname "a7_arr" +indexinfo[0].command[].command "index" +indexinfo[0].command[].indexname "a7_arr" +indexinfo[0].command[].command "multivalue" +indexinfo[0].command[].indexname "a7_arr" +indexinfo[0].command[].command "attribute" +indexinfo[0].command[].indexname "a7_arr" +indexinfo[0].command[].command "word" +indexinfo[0].command[].indexname "a8_arr" +indexinfo[0].command[].command "index" +indexinfo[0].command[].indexname "a8_arr" +indexinfo[0].command[].command "multivalue" +indexinfo[0].command[].indexname "a8_arr" +indexinfo[0].command[].command "attribute" +indexinfo[0].command[].indexname "a8_arr" +indexinfo[0].command[].command "word" +indexinfo[0].command[].indexname "rankfeatures" +indexinfo[0].command[].command "index" +indexinfo[0].command[].indexname "summaryfeatures" +indexinfo[0].command[].command "index" +indexinfo[0].alias[].alias "date" +indexinfo[0].alias[].indexname "b3"
\ No newline at end of file diff --git a/config-model/src/test/derived/attributes/summarymap.cfg b/config-model/src/test/derived/attributes/summarymap.cfg new file mode 100644 index 00000000000..f13a8ab0b82 --- /dev/null +++ b/config-model/src/test/derived/attributes/summarymap.cfg @@ -0,0 +1,52 @@ +defaultoutputclass -1 +override[0].field "a1" +override[0].command "attribute" +override[0].arguments "a1" +override[1].field "a2" +override[1].command "attribute" +override[1].arguments "a2" +override[2].field "a3" +override[2].command "attribute" +override[2].arguments "a3" +override[3].field "a5" +override[3].command "attribute" +override[3].arguments "a5" +override[4].field "a6" +override[4].command "attribute" +override[4].arguments "a6" +override[5].field "b1" +override[5].command "attribute" +override[5].arguments "b1" +override[6].field "b2" +override[6].command "attribute" +override[6].arguments "b2" +override[7].field "b3" +override[7].command "attribute" +override[7].arguments "b3" +override[8].field "b4" +override[8].command "attribute" +override[8].arguments "b4" +override[9].field "b5" +override[9].command "attribute" +override[9].arguments "b5" +override[10].field "b6" +override[10].command "attribute" +override[10].arguments "b6" +override[11].field "b7" +override[11].command "attribute" +override[11].arguments "b7" +override[12].field "rankfeatures" +override[12].command "rankfeatures" +override[12].arguments "" +override[13].field "summaryfeatures" +override[13].command "summaryfeatures" +override[13].arguments "" +override[14].field "a9" +override[14].command "attribute" +override[14].arguments "a9" +override[15].field "a11" +override[15].command "attribute" +override[15].arguments "a11" +override[16].field "a12" +override[16].command "attribute" +override[16].arguments "a12"
\ No newline at end of file diff --git a/config-model/src/test/derived/combinedattributeandindexsearch/combinedattributeandindexsearch.sd b/config-model/src/test/derived/combinedattributeandindexsearch/combinedattributeandindexsearch.sd new file mode 100644 index 00000000000..a20b5d2cfcc --- /dev/null +++ b/config-model/src/test/derived/combinedattributeandindexsearch/combinedattributeandindexsearch.sd @@ -0,0 +1,34 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search combinedattributeandindexsearch { + + document combinedattributeandindexsearch { + + field index1 type string { + indexing: index | summary + } + + field index2 type string { + indexing: index + } + + field attribute1 type string { + indexing: attribute | summary + match { + token + } + } + + field attribute2 type string { + indexing: attribute + match { + token + } + } + + } + + fieldset default { + fields: index1, index2, attribute1, attribute2 + } + +} diff --git a/config-model/src/test/derived/combinedattributeandindexsearch/index-info.cfg b/config-model/src/test/derived/combinedattributeandindexsearch/index-info.cfg new file mode 100644 index 00000000000..cd56d204e96 --- /dev/null +++ b/config-model/src/test/derived/combinedattributeandindexsearch/index-info.cfg @@ -0,0 +1,41 @@ +indexinfo[0].name "combinedattributeandindexsearch" +indexinfo[0].command[0].indexname "sddocname" +indexinfo[0].command[0].command "index" +indexinfo[0].command[1].indexname "sddocname" +indexinfo[0].command[1].command "word" +indexinfo[0].command[2].indexname "index1" +indexinfo[0].command[2].command "index" +indexinfo[0].command[3].indexname "default" +indexinfo[0].command[3].command "index" +indexinfo[0].command[4].indexname "index1" +indexinfo[0].command[4].command "lowercase" +indexinfo[0].command[5].indexname "default" +indexinfo[0].command[5].command "lowercase" +indexinfo[0].command[6].indexname "index1" +indexinfo[0].command[6].command "stem:SHORTEST" +indexinfo[0].command[7].indexname "default" +indexinfo[0].command[7].command "stem:SHORTEST" +indexinfo[0].command[8].indexname "index1" +indexinfo[0].command[8].command "normalize" +indexinfo[0].command[9].indexname "default" +indexinfo[0].command[9].command "normalize" +indexinfo[0].command[10].indexname "attribute1" +indexinfo[0].command[10].command "index" +indexinfo[0].command[11].indexname "attribute1" +indexinfo[0].command[11].command "attribute" +indexinfo[0].command[12].indexname "attribute2" +indexinfo[0].command[12].command "attribute" +indexinfo[0].command[12].indexname "attribute2" +indexinfo[0].command[12].command "index" +indexinfo[0].command[14].indexname "rankfeatures" +indexinfo[0].command[14].command "index" +indexinfo[0].command[15].indexname "summaryfeatures" +indexinfo[0].command[15].command "index" +indexinfo[0].command[2].indexname "index2" +indexinfo[0].command[2].command "index" +indexinfo[0].command[4].indexname "index2" +indexinfo[0].command[4].command "lowercase" +indexinfo[0].command[6].indexname "index2" +indexinfo[0].command[6].command "stem:SHORTEST" +indexinfo[0].command[8].indexname "index2" +indexinfo[0].command[8].command "normalize" diff --git a/config-model/src/test/derived/complex/attributes.cfg b/config-model/src/test/derived/complex/attributes.cfg new file mode 100644 index 00000000000..b6ae59b5c24 --- /dev/null +++ b/config-model/src/test/derived/complex/attributes.cfg @@ -0,0 +1,171 @@ +attribute[0].name "prefixenabled" +attribute[0].datatype STRING +attribute[0].collectiontype SINGLE +attribute[0].removeifzero false +attribute[0].createifnonexistent false +attribute[0].fastsearch false +attribute[0].huge true +attribute[0].sortascending true +attribute[0].sortfunction UCA +attribute[0].sortstrength PRIMARY +attribute[0].sortlocale "" +attribute[0].enablebitvectors false +attribute[0].enableonlybitvector false +attribute[0].fastaccess false +attribute[0].arity 8 +attribute[0].lowerbound -9223372036854775808 +attribute[0].upperbound 9223372036854775807 +attribute[0].densepostinglistthreshold 0.4 +attribute[0].tensortype "" +attribute[1].name "fleeting" +attribute[1].datatype FLOAT +attribute[1].collectiontype ARRAY +attribute[1].removeifzero false +attribute[1].createifnonexistent false +attribute[1].fastsearch false +attribute[1].huge false +attribute[1].sortascending true +attribute[1].sortfunction UCA +attribute[1].sortstrength PRIMARY +attribute[1].sortlocale "" +attribute[1].enablebitvectors false +attribute[1].enableonlybitvector false +attribute[1].fastaccess false +attribute[1].arity 8 +attribute[1].lowerbound -9223372036854775808 +attribute[1].upperbound 9223372036854775807 +attribute[1].densepostinglistthreshold 0.4 +attribute[1].tensortype "" +attribute[2].name "fleeting2" +attribute[2].datatype FLOAT +attribute[2].collectiontype SINGLE +attribute[2].removeifzero false +attribute[2].createifnonexistent false +attribute[2].fastsearch false +attribute[2].huge false +attribute[2].sortascending true +attribute[2].sortfunction UCA +attribute[2].sortstrength PRIMARY +attribute[2].sortlocale "" +attribute[2].enablebitvectors false +attribute[2].enableonlybitvector false +attribute[2].fastaccess false +attribute[2].arity 8 +attribute[2].lowerbound -9223372036854775808 +attribute[2].upperbound 9223372036854775807 +attribute[2].densepostinglistthreshold 0.4 +attribute[2].tensortype "" +attribute[3].name "foundat" +attribute[3].datatype INT64 +attribute[3].collectiontype SINGLE +attribute[3].removeifzero false +attribute[3].createifnonexistent false +attribute[3].fastsearch false +attribute[3].huge false +attribute[3].sortascending true +attribute[3].sortfunction UCA +attribute[3].sortstrength PRIMARY +attribute[3].sortlocale "" +attribute[3].enablebitvectors false +attribute[3].enableonlybitvector false +attribute[3].fastaccess false +attribute[3].arity 8 +attribute[3].lowerbound -9223372036854775808 +attribute[3].upperbound 9223372036854775807 +attribute[3].densepostinglistthreshold 0.4 +attribute[3].tensortype "" +attribute[4].name "collapseby" +attribute[4].datatype INT32 +attribute[4].collectiontype SINGLE +attribute[4].removeifzero false +attribute[4].createifnonexistent false +attribute[4].fastsearch false +attribute[4].huge false +attribute[4].sortascending true +attribute[4].sortfunction UCA +attribute[4].sortstrength PRIMARY +attribute[4].sortlocale "" +attribute[4].enablebitvectors false +attribute[4].enableonlybitvector false +attribute[4].fastaccess false +attribute[4].arity 8 +attribute[4].lowerbound -9223372036854775808 +attribute[4].upperbound 9223372036854775807 +attribute[4].densepostinglistthreshold 0.4 +attribute[4].tensortype "" +attribute[5].name "ts" +attribute[5].datatype INT64 +attribute[5].collectiontype SINGLE +attribute[5].removeifzero false +attribute[5].createifnonexistent false +attribute[5].fastsearch false +attribute[5].huge false +attribute[5].sortascending true +attribute[5].sortfunction UCA +attribute[5].sortstrength PRIMARY +attribute[5].sortlocale "" +attribute[5].enablebitvectors false +attribute[5].enableonlybitvector false +attribute[5].fastaccess false +attribute[5].arity 8 +attribute[5].lowerbound -9223372036854775808 +attribute[5].upperbound 9223372036854775807 +attribute[5].densepostinglistthreshold 0.4 +attribute[5].tensortype "" +attribute[6].name "combineda" +attribute[6].datatype INT32 +attribute[6].collectiontype SINGLE +attribute[6].removeifzero false +attribute[6].createifnonexistent false +attribute[6].fastsearch false +attribute[6].huge false +attribute[6].sortascending true +attribute[6].sortfunction UCA +attribute[6].sortstrength PRIMARY +attribute[6].sortlocale "" +attribute[6].enablebitvectors false +attribute[6].enableonlybitvector false +attribute[6].fastaccess false +attribute[6].arity 8 +attribute[6].lowerbound -9223372036854775808 +attribute[6].upperbound 9223372036854775807 +attribute[6].densepostinglistthreshold 0.4 +attribute[6].tensortype "" +attribute[7].name "year_arr" +attribute[7].datatype INT32 +attribute[7].collectiontype ARRAY +attribute[7].removeifzero false +attribute[7].createifnonexistent false +attribute[7].fastsearch false +attribute[7].huge false +attribute[7].sortascending true +attribute[7].sortfunction UCA +attribute[7].sortstrength PRIMARY +attribute[7].sortlocale "" +attribute[7].enablebitvectors false +attribute[7].enableonlybitvector false +attribute[7].fastaccess false +attribute[7].arity 8 +attribute[7].lowerbound -9223372036854775808 +attribute[7].upperbound 9223372036854775807 +attribute[7].densepostinglistthreshold 0.4 +attribute[7].tensortype "" +attribute[8].name "year_sub" +attribute[8].datatype INT32 +attribute[8].collectiontype SINGLE +attribute[8].removeifzero false +attribute[8].createifnonexistent false +attribute[8].fastsearch false +attribute[8].huge false +attribute[8].sortascending true +attribute[8].sortfunction UCA +attribute[8].sortstrength PRIMARY +attribute[8].sortlocale "" +attribute[8].enablebitvectors false +attribute[8].enableonlybitvector false +attribute[8].fastaccess false +attribute[8].arity 8 +attribute[8].lowerbound -9223372036854775808 +attribute[8].upperbound 9223372036854775807 +attribute[8].densepostinglistthreshold 0.4 +attribute[8].tensortype ""
\ No newline at end of file diff --git a/config-model/src/test/derived/complex/complex.sd b/config-model/src/test/derived/complex/complex.sd new file mode 100644 index 00000000000..6dcce8689f8 --- /dev/null +++ b/config-model/src/test/derived/complex/complex.sd @@ -0,0 +1,150 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search complex { + + document complex { + + field title type string { + indexing: index | summary + index default: prefix + rank-type: about + query-command: some-custom-command # Some command handled in a qustom searcher + query-command: some-other + alias default: some.default + alias: titlez + match: token + } + + field location type string { + + } + + field dyntitle type string { + indexing: summary + summary: dynamic + } + + field special1 type string { + indexing: index + stemming: none + } + + field special2 type string { + indexing: index + stemming: none + } + + field special3 type string { + indexing: index + stemming: none + } + + field prefixenabled type string { + indexing: index | attribute + index: prefix + attribute: prefetch + attribute: huge + normalizing: none + stemming: shortest + } + + field source type uri { + indexing: summary | index + } + + field docurl type uri { + indexing: index + alias docurl: url + } + + field fleeting type array<float> { + indexing: index | attribute + attribute: prefetch + } + + field fleeting2 type float { + indexing: index | attribute + attribute: prefetch + } + + field foundat type long { + indexing: index + } + + field collapseby type int { + indexing: index + } + + field yEaR type int { + + } + + field stringfield type string { + indexing: summary | index + } + + field exactemento type string { + indexing: index + } + + field exactagain type string { + indexing: index + } + + field ts type long { + indexing: attribute + } + + field combineda type int { + indexing: index + } + + field combinedb type string { + indexing: index + } + + field category type string { + + } + + } + + field woe type string { + indexing: input location | summary | index + } + + field year_sub type int { + indexing: input yEaR - 1900 | attribute year_sub + } + + field year_arr type array<int> { + indexing: input yEaR | to_array | attribute + } + + # A field defined outside an index + field exact type string { + indexing { + input title . input category | summary | index; + } + stemming: none + normalizing: none + rank-type: identity + } + + # Some experimental ranking changes + rank-profile experimental inherits default { + } + + rank-profile other inherits experimental { + rank-type source: identity + } + fieldset default { + fields: title, stringfield + } + fieldset special { + fields: special1, special2, special3 + } + fieldset all { + fields: combineda, combinedb + } + +} diff --git a/config-model/src/test/derived/complex/documentmanager.cfg b/config-model/src/test/derived/complex/documentmanager.cfg new file mode 100644 index 00000000000..66ebbbb2846 --- /dev/null +++ b/config-model/src/test/derived/complex/documentmanager.cfg @@ -0,0 +1,119 @@ +enablecompression false +datatype[0].id 1381038251 +datatype[0].structtype[0].name "position" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[0].structtype[0].field[0].name "x" +datatype[0].structtype[0].field[0].datatype 0 +datatype[0].structtype[0].field[1].name "y" +datatype[0].structtype[0].field[1].datatype 0 +datatype[1].id 1650586661 +datatype[1].arraytype[0].datatype 1 +datatype[2].id -1245117006 +datatype[2].arraytype[0].datatype 0 +datatype[3].id -1749463923 +datatype[3].structtype[0].name "complex.header" +datatype[3].structtype[0].version 0 +datatype[3].structtype[0].compresstype NONE +datatype[3].structtype[0].compresslevel 0 +datatype[3].structtype[0].compressthreshold 95 +datatype[3].structtype[0].compressminsize 800 +datatype[3].structtype[0].field[0].name "title" +datatype[3].structtype[0].field[0].datatype 2 +datatype[3].structtype[0].field[1].name "location" +datatype[3].structtype[0].field[1].datatype 2 +datatype[3].structtype[0].field[2].name "dyntitle" +datatype[3].structtype[0].field[2].datatype 2 +datatype[3].structtype[0].field[3].name "special1" +datatype[3].structtype[0].field[3].datatype 2 +datatype[3].structtype[0].field[4].name "special2" +datatype[3].structtype[0].field[4].datatype 2 +datatype[3].structtype[0].field[5].name "special3" +datatype[3].structtype[0].field[5].datatype 2 +datatype[3].structtype[0].field[6].name "prefixenabled" +datatype[3].structtype[0].field[6].datatype 2 +datatype[3].structtype[0].field[7].name "source" +datatype[3].structtype[0].field[7].datatype 10 +datatype[3].structtype[0].field[8].name "docurl" +datatype[3].structtype[0].field[8].datatype 10 +datatype[3].structtype[0].field[9].name "fleeting" +datatype[3].structtype[0].field[9].datatype 1650586661 +datatype[3].structtype[0].field[10].name "fleeting2" +datatype[3].structtype[0].field[10].datatype 1 +datatype[3].structtype[0].field[11].name "foundat" +datatype[3].structtype[0].field[11].datatype 4 +datatype[3].structtype[0].field[12].name "collapseby" +datatype[3].structtype[0].field[12].datatype 0 +datatype[3].structtype[0].field[13].name "yEaR" +datatype[3].structtype[0].field[13].datatype 0 +datatype[3].structtype[0].field[14].name "stringfield" +datatype[3].structtype[0].field[14].datatype 2 +datatype[3].structtype[0].field[15].name "exactemento" +datatype[3].structtype[0].field[15].datatype 2 +datatype[3].structtype[0].field[16].name "exactagain" +datatype[3].structtype[0].field[16].datatype 2 +datatype[3].structtype[0].field[17].name "ts" +datatype[3].structtype[0].field[17].datatype 4 +datatype[3].structtype[0].field[18].name "combineda" +datatype[3].structtype[0].field[18].datatype 0 +datatype[3].structtype[0].field[19].name "combinedb" +datatype[3].structtype[0].field[19].datatype 2 +datatype[3].structtype[0].field[20].name "category" +datatype[3].structtype[0].field[20].datatype 2 +datatype[3].structtype[0].field[21].name "woe" +datatype[3].structtype[0].field[21].datatype 2 +datatype[3].structtype[0].field[22].name "year_sub" +datatype[3].structtype[0].field[22].datatype 0 +datatype[3].structtype[0].field[23].name "year_arr" +datatype[3].structtype[0].field[23].datatype -1245117006 +datatype[3].structtype[0].field[24].name "exact" +datatype[3].structtype[0].field[24].datatype 2 +datatype[3].structtype[0].field[25].name "rankfeatures" +datatype[3].structtype[0].field[25].datatype 2 +datatype[3].structtype[0].field[26].name "summaryfeatures" +datatype[3].structtype[0].field[26].datatype 2 +datatype[4].id -1665926686 +datatype[4].structtype[0].name "complex.body" +datatype[4].structtype[0].version 0 +datatype[4].structtype[0].compresstype NONE +datatype[4].structtype[0].compresslevel 0 +datatype[4].structtype[0].compressthreshold 95 +datatype[4].structtype[0].compressminsize 800 +datatype[5].id -1402929550 +datatype[5].documenttype[0].name "complex" +datatype[5].documenttype[0].version 0 +datatype[5].documenttype[0].inherits[0].name "document" +datatype[5].documenttype[0].inherits[0].version 0 +datatype[5].documenttype[0].headerstruct -1749463923 +datatype[5].documenttype[0].bodystruct -1665926686 +datatype[5].documenttype[0].fieldsets{default}.fields[0] "stringfield" +datatype[5].documenttype[0].fieldsets{default}.fields[1] "title" +datatype[5].documenttype[0].fieldsets{special}.fields[0] "special1" +datatype[5].documenttype[0].fieldsets{special}.fields[1] "special2" +datatype[5].documenttype[0].fieldsets{special}.fields[2] "special3" +datatype[5].documenttype[0].fieldsets{all}.fields[0] "combineda" +datatype[5].documenttype[0].fieldsets{all}.fields[1] "combinedb" +datatype[5].documenttype[0].fieldsets{[document]}.fields[0] "category" +datatype[5].documenttype[0].fieldsets{[document]}.fields[1] "collapseby" +datatype[5].documenttype[0].fieldsets{[document]}.fields[2] "combineda" +datatype[5].documenttype[0].fieldsets{[document]}.fields[3] "combinedb" +datatype[5].documenttype[0].fieldsets{[document]}.fields[4] "docurl" +datatype[5].documenttype[0].fieldsets{[document]}.fields[5] "dyntitle" +datatype[5].documenttype[0].fieldsets{[document]}.fields[6] "exactagain" +datatype[5].documenttype[0].fieldsets{[document]}.fields[7] "exactemento" +datatype[5].documenttype[0].fieldsets{[document]}.fields[8] "fleeting" +datatype[5].documenttype[0].fieldsets{[document]}.fields[9] "fleeting2" +datatype[5].documenttype[0].fieldsets{[document]}.fields[10] "foundat" +datatype[5].documenttype[0].fieldsets{[document]}.fields[11] "location" +datatype[5].documenttype[0].fieldsets{[document]}.fields[12] "prefixenabled" +datatype[5].documenttype[0].fieldsets{[document]}.fields[13] "source" +datatype[5].documenttype[0].fieldsets{[document]}.fields[14] "special1" +datatype[5].documenttype[0].fieldsets{[document]}.fields[15] "special2" +datatype[5].documenttype[0].fieldsets{[document]}.fields[16] "special3" +datatype[5].documenttype[0].fieldsets{[document]}.fields[17] "stringfield" +datatype[5].documenttype[0].fieldsets{[document]}.fields[18] "title" +datatype[5].documenttype[0].fieldsets{[document]}.fields[19] "ts" +datatype[5].documenttype[0].fieldsets{[document]}.fields[20] "yEaR" diff --git a/config-model/src/test/derived/complex/ilscripts.cfg b/config-model/src/test/derived/complex/ilscripts.cfg new file mode 100644 index 00000000000..05de728e16e --- /dev/null +++ b/config-model/src/test/derived/complex/ilscripts.cfg @@ -0,0 +1,48 @@ +maxtermoccurrences 100 +ilscript[0].doctype "complex" +ilscript[0].docfield[0] "title" +ilscript[0].docfield[1] "location" +ilscript[0].docfield[2] "dyntitle" +ilscript[0].docfield[3] "special1" +ilscript[0].docfield[4] "special2" +ilscript[0].docfield[5] "special3" +ilscript[0].docfield[6] "prefixenabled" +ilscript[0].docfield[7] "source" +ilscript[0].docfield[8] "docurl" +ilscript[0].docfield[9] "fleeting" +ilscript[0].docfield[10] "fleeting2" +ilscript[0].docfield[11] "foundat" +ilscript[0].docfield[12] "collapseby" +ilscript[0].docfield[13] "yEaR" +ilscript[0].docfield[14] "stringfield" +ilscript[0].docfield[15] "exactemento" +ilscript[0].docfield[16] "exactagain" +ilscript[0].docfield[17] "ts" +ilscript[0].docfield[18] "combineda" +ilscript[0].docfield[19] "combinedb" +ilscript[0].docfield[20] "category" +ilscript[0].content[0] "clear_state | guard { input title . input category | tokenize | summary exact | index exact; }" +ilscript[0].content[1] "clear_state | guard { input location | tokenize normalize stem:\"SHORTEST\" | summary woe | index woe; }" +ilscript[0].content[2] "clear_state | guard { input yEaR | to_array | attribute year_arr; }" +ilscript[0].content[3] "clear_state | guard { input yEaR - 1900 | attribute year_sub; }" +ilscript[0].content[4] "clear_state | guard { input title | tokenize normalize stem:\"SHORTEST\" | index title | summary title; }" +ilscript[0].content[5] "clear_state | guard { input dyntitle | tokenize normalize stem:\"SHORTEST\" | summary dyntitle; }" +ilscript[0].content[6] "clear_state | guard { input special1 | tokenize normalize | index special1; }" +ilscript[0].content[7] "clear_state | guard { input special2 | tokenize normalize | index special2; }" +ilscript[0].content[8] "clear_state | guard { input special3 | tokenize normalize | index special3; }" +ilscript[0].content[9] "clear_state | guard { input prefixenabled | tokenize stem:\"SHORTEST\" | index prefixenabled | attribute prefixenabled; }" +ilscript[0].content[10] "clear_state | guard { input source | summary source | index source; }" +ilscript[0].content[11] "clear_state | guard { input docurl | index docurl; }" +ilscript[0].content[12] "clear_state | guard { input fleeting | attribute fleeting; }" +ilscript[0].content[13] "clear_state | guard { input fleeting2 | attribute fleeting2; }" +ilscript[0].content[14] "clear_state | guard { input foundat | attribute foundat; }" +ilscript[0].content[15] "clear_state | guard { input collapseby | attribute collapseby; }" +ilscript[0].content[16] "clear_state | guard { input stringfield | tokenize normalize stem:\"SHORTEST\" | summary stringfield | index stringfield; }" +ilscript[0].content[17] "clear_state | guard { input exactemento | tokenize normalize stem:\"SHORTEST\" | index exactemento; }" +ilscript[0].content[18] "clear_state | guard { input exactagain | tokenize normalize stem:\"SHORTEST\" | index exactagain; }" +ilscript[0].content[19] "clear_state | guard { input ts | attribute ts; }" +ilscript[0].content[20] "clear_state | guard { input combineda | attribute combineda; }" +ilscript[0].content[21] "clear_state | guard { input combinedb | tokenize normalize stem:\"SHORTEST\" | index combinedb; }" +ilscript[0].content[22] "input category | passthrough category" +ilscript[0].content[23] "input location | passthrough location" +ilscript[0].content[24] "input yEaR | passthrough yEaR"
\ No newline at end of file diff --git a/config-model/src/test/derived/complex/rank-profiles.cfg b/config-model/src/test/derived/complex/rank-profiles.cfg new file mode 100644 index 00000000000..5e2804d0ee6 --- /dev/null +++ b/config-model/src/test/derived/complex/rank-profiles.cfg @@ -0,0 +1,68 @@ +rankprofile[0].name "default" +rankprofile[0].fef.property[0].name "nativeFieldMatch.firstOccurrenceTable.exact" +rankprofile[0].fef.property[0].value "expdecay(100,12.50)" +rankprofile[0].fef.property[1].name "nativeFieldMatch.occurrenceCountTable.exact" +rankprofile[0].fef.property[1].value "loggrowth(1500,4000,19)" +rankprofile[0].fef.property[2].name "nativeProximity.proximityTable.exact" +rankprofile[0].fef.property[2].value "expdecay(5000,3)" +rankprofile[0].fef.property[3].name "nativeProximity.reverseProximityTable.exact" +rankprofile[0].fef.property[3].value "expdecay(3000,3)" +rankprofile[0].fef.property[4].name "nativeFieldMatch.firstOccurrenceTable.title" +rankprofile[0].fef.property[4].value "expdecay(8000,12.50)" +rankprofile[0].fef.property[5].name "nativeFieldMatch.occurrenceCountTable.title" +rankprofile[0].fef.property[5].value "loggrowth(1500,4000,19)" +rankprofile[0].fef.property[6].name "nativeProximity.proximityTable.title" +rankprofile[0].fef.property[6].value "expdecay(500,3)" +rankprofile[0].fef.property[7].name "nativeProximity.reverseProximityTable.title" +rankprofile[0].fef.property[7].value "expdecay(400,3)" +rankprofile[1].name "unranked" +rankprofile[1].fef.property[0].name "vespa.rank.firstphase" +rankprofile[1].fef.property[0].value "value(0)" +rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize" +rankprofile[1].fef.property[1].value "0" +rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize" +rankprofile[1].fef.property[2].value "0" +rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures" +rankprofile[1].fef.property[3].value "true" +rankprofile[2].name "experimental" +rankprofile[2].fef.property[0].name "nativeFieldMatch.firstOccurrenceTable.exact" +rankprofile[2].fef.property[0].value "expdecay(100,12.50)" +rankprofile[2].fef.property[1].name "nativeFieldMatch.occurrenceCountTable.exact" +rankprofile[2].fef.property[1].value "loggrowth(1500,4000,19)" +rankprofile[2].fef.property[2].name "nativeProximity.proximityTable.exact" +rankprofile[2].fef.property[2].value "expdecay(5000,3)" +rankprofile[2].fef.property[3].name "nativeProximity.reverseProximityTable.exact" +rankprofile[2].fef.property[3].value "expdecay(3000,3)" +rankprofile[2].fef.property[4].name "nativeFieldMatch.firstOccurrenceTable.title" +rankprofile[2].fef.property[4].value "expdecay(8000,12.50)" +rankprofile[2].fef.property[5].name "nativeFieldMatch.occurrenceCountTable.title" +rankprofile[2].fef.property[5].value "loggrowth(1500,4000,19)" +rankprofile[2].fef.property[6].name "nativeProximity.proximityTable.title" +rankprofile[2].fef.property[6].value "expdecay(500,3)" +rankprofile[2].fef.property[7].name "nativeProximity.reverseProximityTable.title" +rankprofile[2].fef.property[7].value "expdecay(400,3)" +rankprofile[3].name "other" +rankprofile[3].fef.property[0].name "nativeFieldMatch.firstOccurrenceTable.source" +rankprofile[3].fef.property[0].value "expdecay(100,12.50)" +rankprofile[3].fef.property[1].name "nativeFieldMatch.occurrenceCountTable.source" +rankprofile[3].fef.property[1].value "loggrowth(1500,4000,19)" +rankprofile[3].fef.property[2].name "nativeProximity.proximityTable.source" +rankprofile[3].fef.property[2].value "expdecay(5000,3)" +rankprofile[3].fef.property[3].name "nativeProximity.reverseProximityTable.source" +rankprofile[3].fef.property[3].value "expdecay(3000,3)" +rankprofile[3].fef.property[4].name "nativeFieldMatch.firstOccurrenceTable.exact" +rankprofile[3].fef.property[4].value "expdecay(100,12.50)" +rankprofile[3].fef.property[5].name "nativeFieldMatch.occurrenceCountTable.exact" +rankprofile[3].fef.property[5].value "loggrowth(1500,4000,19)" +rankprofile[3].fef.property[6].name "nativeProximity.proximityTable.exact" +rankprofile[3].fef.property[6].value "expdecay(5000,3)" +rankprofile[3].fef.property[7].name "nativeProximity.reverseProximityTable.exact" +rankprofile[3].fef.property[7].value "expdecay(3000,3)" +rankprofile[3].fef.property[8].name "nativeFieldMatch.firstOccurrenceTable.title" +rankprofile[3].fef.property[8].value "expdecay(8000,12.50)" +rankprofile[3].fef.property[9].name "nativeFieldMatch.occurrenceCountTable.title" +rankprofile[3].fef.property[9].value "loggrowth(1500,4000,19)" +rankprofile[3].fef.property[10].name "nativeProximity.proximityTable.title" +rankprofile[3].fef.property[10].value "expdecay(500,3)" +rankprofile[3].fef.property[11].name "nativeProximity.reverseProximityTable.title" +rankprofile[3].fef.property[11].value "expdecay(400,3)" diff --git a/config-model/src/test/derived/complex/summary.cfg b/config-model/src/test/derived/complex/summary.cfg new file mode 100644 index 00000000000..1cf6ad457b3 --- /dev/null +++ b/config-model/src/test/derived/complex/summary.cfg @@ -0,0 +1,43 @@ +defaultsummaryid 1506848752 +classes[0].id 1506848752 +classes[0].name "default" +classes[0].fields[0].name "woe" +classes[0].fields[0].type "longstring" +classes[0].fields[1].name "exact" +classes[0].fields[1].type "longstring" +classes[0].fields[2].name "title" +classes[0].fields[2].type "longstring" +classes[0].fields[3].name "dyntitle" +classes[0].fields[3].type "longstring" +classes[0].fields[4].name "source" +classes[0].fields[4].type "longstring" +classes[0].fields[5].name "stringfield" +classes[0].fields[5].type "longstring" +classes[0].fields[6].name "rankfeatures" +classes[0].fields[6].type "featuredata" +classes[0].fields[7].name "summaryfeatures" +classes[0].fields[7].type "featuredata" +classes[0].fields[8].name "documentid" +classes[0].fields[8].type "longstring" +classes[1].id 28214929 +classes[1].name "attributeprefetch" +classes[1].fields[0].name "year_sub" +classes[1].fields[0].type "integer" +classes[1].fields[1].name "prefixenabled" +classes[1].fields[1].type "longstring" +classes[1].fields[2].name "fleeting" +classes[1].fields[2].type "jsonstring" +classes[1].fields[3].name "fleeting2" +classes[1].fields[3].type "float" +classes[1].fields[4].name "foundat" +classes[1].fields[4].type "int64" +classes[1].fields[5].name "collapseby" +classes[1].fields[5].type "integer" +classes[1].fields[6].name "ts" +classes[1].fields[6].type "int64" +classes[1].fields[7].name "combineda" +classes[1].fields[7].type "integer" +classes[1].fields[8].name "rankfeatures" +classes[1].fields[8].type "featuredata" +classes[1].fields[9].name "summaryfeatures" +classes[1].fields[9].type "featuredata"
\ No newline at end of file diff --git a/config-model/src/test/derived/complex/summarymap.cfg b/config-model/src/test/derived/complex/summarymap.cfg new file mode 100644 index 00000000000..37721347b1c --- /dev/null +++ b/config-model/src/test/derived/complex/summarymap.cfg @@ -0,0 +1,34 @@ +defaultoutputclass -1 +override[0].field "dyntitle" +override[0].command "dynamicteaser" +override[0].arguments "dyntitle" +override[1].field "rankfeatures" +override[1].command "rankfeatures" +override[1].arguments "" +override[2].field "summaryfeatures" +override[2].command "summaryfeatures" +override[2].arguments "" +override[3].field "year_sub" +override[3].command "attribute" +override[3].arguments "year_sub" +override[4].field "prefixenabled" +override[4].command "attribute" +override[4].arguments "prefixenabled" +override[5].field "fleeting" +override[5].command "attribute" +override[5].arguments "fleeting" +override[6].field "fleeting2" +override[6].command "attribute" +override[6].arguments "fleeting2" +override[7].field "foundat" +override[7].command "attribute" +override[7].arguments "foundat" +override[8].field "collapseby" +override[8].command "attribute" +override[8].arguments "collapseby" +override[9].field "ts" +override[9].command "attribute" +override[9].arguments "ts" +override[10].field "combineda" +override[10].command "attribute" +override[10].arguments "combineda"
\ No newline at end of file diff --git a/config-model/src/test/derived/deriver/child.sd b/config-model/src/test/derived/deriver/child.sd new file mode 100644 index 00000000000..ba2f5637019 --- /dev/null +++ b/config-model/src/test/derived/deriver/child.sd @@ -0,0 +1,12 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search child { + + document child inherits parent { + + field a type string { + indexing: index | summary | attribute + } + + } + +} diff --git a/config-model/src/test/derived/deriver/grandparent.sd b/config-model/src/test/derived/deriver/grandparent.sd new file mode 100644 index 00000000000..7247b2126f1 --- /dev/null +++ b/config-model/src/test/derived/deriver/grandparent.sd @@ -0,0 +1,12 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search grandparent { + + document grandparent { + + field c type string { + indexing: index + } + + } + +} diff --git a/config-model/src/test/derived/deriver/ilscripts.cfg b/config-model/src/test/derived/deriver/ilscripts.cfg new file mode 100644 index 00000000000..749474dc350 --- /dev/null +++ b/config-model/src/test/derived/deriver/ilscripts.cfg @@ -0,0 +1,8 @@ +ilscript[1] +ilscript[child].name "child" +ilscript[child].doctype "child" +ilscript[child].content[4] +ilscript[child].content[0] "\"child\" | index sddocname | summary sddocname" +ilscript[child].content[1] "input c | tokenize normalize stem:\"SHORTEST\" | index c" +ilscript[child].content[2] "input b | tokenize normalize stem:\"SHORTEST\" | index b | summary b" +ilscript[child].content[3] "input a | tokenize normalize stem:\"SHORTEST\" | index a | attribute a" diff --git a/config-model/src/test/derived/deriver/parent.sd b/config-model/src/test/derived/deriver/parent.sd new file mode 100644 index 00000000000..57a3438cb7d --- /dev/null +++ b/config-model/src/test/derived/deriver/parent.sd @@ -0,0 +1,12 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search parent { + + document parent inherits grandparent { + + field b type string { + indexing: index | summary + } + + } + +} diff --git a/config-model/src/test/derived/documentderiver/compression_body.sd b/config-model/src/test/derived/documentderiver/compression_body.sd new file mode 100644 index 00000000000..f70dcce9c72 --- /dev/null +++ b/config-model/src/test/derived/documentderiver/compression_body.sd @@ -0,0 +1,20 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search compressed_body { + + document compressed_body { + body { + compression { + level:6 + } + } + + field from type string { + } + + field content type string { + body + } + } + +} + diff --git a/config-model/src/test/derived/documentderiver/compression_both.sd b/config-model/src/test/derived/documentderiver/compression_both.sd new file mode 100644 index 00000000000..5c93f41b9a3 --- /dev/null +++ b/config-model/src/test/derived/documentderiver/compression_both.sd @@ -0,0 +1,26 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search compressed_both { + + document compressed_both { + compression { + threshold:90 + level:9 + } + + header { + compression { + threshold:50 + level:6 + } + } + + field from type string { + } + + field content type string { + body + } + } + +} + diff --git a/config-model/src/test/derived/documentderiver/compression_header.sd b/config-model/src/test/derived/documentderiver/compression_header.sd new file mode 100644 index 00000000000..8eddbd0aa0d --- /dev/null +++ b/config-model/src/test/derived/documentderiver/compression_header.sd @@ -0,0 +1,20 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search compressed_header { + + document compressed_header { + header { + compression { + level:9 + } + } + + field from type string { + } + + field content type string { + body + } + } + +} + diff --git a/config-model/src/test/derived/documentderiver/documentmanager.cfg b/config-model/src/test/derived/documentderiver/documentmanager.cfg new file mode 100644 index 00000000000..d56d90ba358 --- /dev/null +++ b/config-model/src/test/derived/documentderiver/documentmanager.cfg @@ -0,0 +1,319 @@ +enablecompression false +datatype[0].id 1381038251 +datatype[0].structtype[0].name "position" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[0].structtype[0].field[0].name "x" +datatype[0].structtype[0].field[0].datatype 0 +datatype[0].structtype[0].field[1].name "y" +datatype[0].structtype[0].field[1].datatype 0 +datatype[1].id -843666531 +datatype[1].structtype[0].name "compressed_body.header" +datatype[1].structtype[0].version 0 +datatype[1].structtype[0].compresstype NONE +datatype[1].structtype[0].compresslevel 0 +datatype[1].structtype[0].compressthreshold 95 +datatype[1].structtype[0].compressminsize 800 +datatype[1].structtype[0].field[0].name "from" +datatype[1].structtype[0].field[0].datatype 2 +datatype[2].id 1704844530 +datatype[2].structtype[0].name "compressed_body.body" +datatype[2].structtype[0].version 0 +datatype[2].structtype[0].compresstype LZ4 +datatype[2].structtype[0].compresslevel 6 +datatype[2].structtype[0].compressthreshold 95 +datatype[2].structtype[0].compressminsize 0 +datatype[2].structtype[0].field[0].name "content" +datatype[2].structtype[0].field[0].datatype 2 +datatype[3].id 1417245026 +datatype[3].documenttype[0].name "compressed_body" +datatype[3].documenttype[0].version 0 +datatype[3].documenttype[0].inherits[0].name "document" +datatype[3].documenttype[0].inherits[0].version 0 +datatype[3].documenttype[0].headerstruct -843666531 +datatype[3].documenttype[0].bodystruct 1704844530 +datatype[4].id -484354914 +datatype[4].structtype[0].name "compressed_both.header" +datatype[4].structtype[0].version 0 +datatype[4].structtype[0].compresstype LZ4 +datatype[4].structtype[0].compresslevel 6 +datatype[4].structtype[0].compressthreshold 50 +datatype[4].structtype[0].compressminsize 0 +datatype[4].structtype[0].field[0].name "from" +datatype[4].structtype[0].field[0].datatype 2 +datatype[5].id -1007627725 +datatype[5].structtype[0].name "compressed_both.body" +datatype[5].structtype[0].version 0 +datatype[5].structtype[0].compresstype LZ4 +datatype[5].structtype[0].compresslevel 9 +datatype[5].structtype[0].compressthreshold 90 +datatype[5].structtype[0].compressminsize 0 +datatype[5].structtype[0].field[0].name "content" +datatype[5].structtype[0].field[0].datatype 2 +datatype[6].id 1417705345 +datatype[6].documenttype[0].name "compressed_both" +datatype[6].documenttype[0].version 0 +datatype[6].documenttype[0].inherits[0].name "document" +datatype[6].documenttype[0].inherits[0].version 0 +datatype[6].documenttype[0].headerstruct -484354914 +datatype[6].documenttype[0].bodystruct -1007627725 +datatype[7].id -940182894 +datatype[7].structtype[0].name "compressed_header.header" +datatype[7].structtype[0].version 0 +datatype[7].structtype[0].compresstype LZ4 +datatype[7].structtype[0].compresslevel 9 +datatype[7].structtype[0].compressthreshold 95 +datatype[7].structtype[0].compressminsize 0 +datatype[7].structtype[0].field[0].name "from" +datatype[7].structtype[0].field[0].datatype 2 +datatype[8].id -579052249 +datatype[8].structtype[0].name "compressed_header.body" +datatype[8].structtype[0].version 0 +datatype[8].structtype[0].compresstype NONE +datatype[8].structtype[0].compresslevel 0 +datatype[8].structtype[0].compressthreshold 95 +datatype[8].structtype[0].compressminsize 800 +datatype[8].structtype[0].field[0].name "content" +datatype[8].structtype[0].field[0].datatype 2 +datatype[9].id 1946084365 +datatype[9].documenttype[0].name "compressed_header" +datatype[9].documenttype[0].version 0 +datatype[9].documenttype[0].inherits[0].name "document" +datatype[9].documenttype[0].inherits[0].version 0 +datatype[9].documenttype[0].headerstruct -940182894 +datatype[9].documenttype[0].bodystruct -579052249 +datatype[10].id -88808602 +datatype[10].structtype[0].name "mail.header" +datatype[10].structtype[0].version 0 +datatype[10].structtype[0].compresstype NONE +datatype[10].structtype[0].compresslevel 0 +datatype[10].structtype[0].compressthreshold 95 +datatype[10].structtype[0].compressminsize 800 +datatype[10].structtype[0].field[0].name "URI" +datatype[10].structtype[0].field[0].datatype 10 +datatype[10].structtype[0].field[1].name "mailid" +datatype[10].structtype[0].field[1].datatype 2 +datatype[10].structtype[0].field[2].name "date" +datatype[10].structtype[0].field[2].datatype 0 +datatype[10].structtype[0].field[3].name "from" +datatype[10].structtype[0].field[3].datatype 2 +datatype[10].structtype[0].field[4].name "replyto" +datatype[10].structtype[0].field[4].datatype 3 +datatype[10].structtype[0].field[5].name "to" +datatype[10].structtype[0].field[5].datatype 2 +datatype[10].structtype[0].field[6].name "cc" +datatype[10].structtype[0].field[6].datatype 2 +datatype[10].structtype[0].field[7].name "bcc" +datatype[10].structtype[0].field[7].datatype 2 +datatype[10].structtype[0].field[8].name "subject" +datatype[10].structtype[0].field[8].datatype 2 +datatype[11].id -1244861287 +datatype[11].arraytype[0].datatype 3 +datatype[12].id -953584901 +datatype[12].structtype[0].name "mail.body" +datatype[12].structtype[0].version 0 +datatype[12].structtype[0].compresstype NONE +datatype[12].structtype[0].compresslevel 0 +datatype[12].structtype[0].compressthreshold 95 +datatype[12].structtype[0].compressminsize 800 +datatype[12].structtype[0].field[0].name "mailbody" +datatype[12].structtype[0].field[0].datatype 3 +datatype[12].structtype[0].field[1].name "attachmentcount" +datatype[12].structtype[0].field[1].datatype 0 +datatype[12].structtype[0].field[2].name "attachmentnames" +datatype[12].structtype[0].field[2].datatype 2 +datatype[12].structtype[0].field[3].name "attachmenttypes" +datatype[12].structtype[0].field[3].datatype 2 +datatype[12].structtype[0].field[4].name "attachmentlanguages" +datatype[12].structtype[0].field[4].datatype 2 +datatype[12].structtype[0].field[5].name "attachmentcontent" +datatype[12].structtype[0].field[5].datatype 2 +datatype[12].structtype[0].field[6].name "attachments" +datatype[12].structtype[0].field[6].datatype -1244861287 +datatype[13].id -1081574983 +datatype[13].documenttype[0].name "mail" +datatype[13].documenttype[0].version 0 +datatype[13].documenttype[0].inherits[0].name "document" +datatype[13].documenttype[0].inherits[0].version 0 +datatype[13].documenttype[0].headerstruct -88808602 +datatype[13].documenttype[0].bodystruct -953584901 +datatype[14].id -1486737430 +datatype[14].arraytype[0].datatype 2 +datatype[15].id 519906144 +datatype[15].weightedsettype[0].datatype 0 +datatype[15].weightedsettype[0].createifnonexistant false +datatype[15].weightedsettype[0].removeifzero false +datatype[16].id 363959257 +datatype[16].weightedsettype[0].datatype 0 +datatype[16].weightedsettype[0].createifnonexistant true +datatype[16].weightedsettype[0].removeifzero true +datatype[17].id -1910204744 +datatype[17].structtype[0].name "music.header" +datatype[17].structtype[0].version 0 +datatype[17].structtype[0].compresstype NONE +datatype[17].structtype[0].compresslevel 0 +datatype[17].structtype[0].compressthreshold 95 +datatype[17].structtype[0].compressminsize 800 +datatype[17].structtype[0].field[0].name "url" +datatype[17].structtype[0].field[0].datatype 10 +datatype[17].structtype[0].field[1].name "title" +datatype[17].structtype[0].field[1].datatype 2 +datatype[17].structtype[0].field[2].name "artist" +datatype[17].structtype[0].field[2].datatype 2 +datatype[17].structtype[0].field[3].name "year" +datatype[17].structtype[0].field[3].datatype 0 +datatype[17].structtype[0].field[4].name "description" +datatype[17].structtype[0].field[4].datatype 3 +datatype[17].structtype[0].field[5].name "tracks" +datatype[17].structtype[0].field[5].datatype -1486737430 +datatype[17].structtype[0].field[6].name "popularity" +datatype[17].structtype[0].field[6].datatype 519906144 +datatype[17].structtype[0].field[7].name "popularity2" +datatype[17].structtype[0].field[7].datatype 363959257 +datatype[17].structtype[0].field[8].name "popularity3" +datatype[17].structtype[0].field[8].datatype 363959257 +datatype[18].id 993120973 +datatype[18].structtype[0].name "music.body" +datatype[18].structtype[0].version 0 +datatype[18].structtype[0].compresstype NONE +datatype[18].structtype[0].compresslevel 0 +datatype[18].structtype[0].compressthreshold 95 +datatype[18].structtype[0].compressminsize 800 +datatype[19].id 1412693671 +datatype[19].documenttype[0].name "music" +datatype[19].documenttype[0].version 0 +datatype[19].documenttype[0].inherits[0].name "document" +datatype[19].documenttype[0].inherits[0].version 0 +datatype[19].documenttype[0].headerstruct -1910204744 +datatype[19].documenttype[0].bodystruct 993120973 +datatype[20].id 2006483754 +datatype[20].structtype[0].name "newssummary.header" +datatype[20].structtype[0].version 0 +datatype[20].structtype[0].compresstype NONE +datatype[20].structtype[0].compresslevel 0 +datatype[20].structtype[0].compressthreshold 95 +datatype[20].structtype[0].compressminsize 800 +datatype[20].structtype[0].field[0].name "title" +datatype[20].structtype[0].field[0].datatype 2 +datatype[20].structtype[0].field[1].name "abstract" +datatype[20].structtype[0].field[1].datatype 2 +datatype[20].structtype[0].field[2].name "sourcename" +datatype[20].structtype[0].field[2].datatype 2 +datatype[20].structtype[0].field[3].name "providername" +datatype[20].structtype[0].field[3].datatype 2 +datatype[20].structtype[0].field[4].name "thumburl" +datatype[20].structtype[0].field[4].datatype 2 +datatype[20].structtype[0].field[5].name "thumbwidth" +datatype[20].structtype[0].field[5].datatype 0 +datatype[20].structtype[0].field[6].name "thumbheight" +datatype[20].structtype[0].field[6].datatype 0 +datatype[20].structtype[0].field[7].name "language" +datatype[20].structtype[0].field[7].datatype 2 +datatype[20].structtype[0].field[8].name "crawldocid" +datatype[20].structtype[0].field[8].datatype 2 +datatype[20].structtype[0].field[9].name "url" +datatype[20].structtype[0].field[9].datatype 10 +datatype[20].structtype[0].field[10].name "sourceurl" +datatype[20].structtype[0].field[10].datatype 10 +datatype[20].structtype[0].field[11].name "categories" +datatype[20].structtype[0].field[11].datatype 2 +datatype[20].structtype[0].field[12].name "pubdate" +datatype[20].structtype[0].field[12].datatype 4 +datatype[20].structtype[0].field[13].name "expdate" +datatype[20].structtype[0].field[13].datatype 4 +datatype[20].structtype[0].field[14].name "fingerprint" +datatype[20].structtype[0].field[14].datatype 0 +datatype[20].structtype[0].field[15].name "debug" +datatype[20].structtype[0].field[15].datatype 2 +datatype[20].structtype[0].field[16].name "attributes" +datatype[20].structtype[0].field[16].datatype 2 +datatype[20].structtype[0].field[17].name "searchcluster" +datatype[20].structtype[0].field[17].datatype 2 +datatype[20].structtype[0].field[18].name "eustaticrank" +datatype[20].structtype[0].field[18].datatype 0 +datatype[20].structtype[0].field[19].name "usstaticrank" +datatype[20].structtype[0].field[19].datatype 0 +datatype[20].structtype[0].field[20].name "asiastaticrank" +datatype[20].structtype[0].field[20].datatype 0 +datatype[21].id -2059783233 +datatype[21].structtype[0].name "newssummary.body" +datatype[21].structtype[0].version 0 +datatype[21].structtype[0].compresstype NONE +datatype[21].structtype[0].compresslevel 0 +datatype[21].structtype[0].compressthreshold 95 +datatype[21].structtype[0].compressminsize 800 +datatype[22].id -756330891 +datatype[22].documenttype[0].name "newssummary" +datatype[22].documenttype[0].version 0 +datatype[22].documenttype[0].inherits[0].name "document" +datatype[22].documenttype[0].inherits[0].version 0 +datatype[22].documenttype[0].headerstruct 2006483754 +datatype[22].documenttype[0].bodystruct -2059783233 +datatype[23].id 2098419674 +datatype[23].structtype[0].name "newsarticle.header" +datatype[23].structtype[0].version 0 +datatype[23].structtype[0].compresstype NONE +datatype[23].structtype[0].compresslevel 0 +datatype[23].structtype[0].compressthreshold 95 +datatype[23].structtype[0].compressminsize 800 +datatype[23].structtype[0].field[0].name "dynabstract" +datatype[23].structtype[0].field[0].datatype 2 +datatype[23].structtype[0].field[1].name "othersourcenames" +datatype[23].structtype[0].field[1].datatype 2 +datatype[23].structtype[0].field[2].name "author" +datatype[23].structtype[0].field[2].datatype 2 +datatype[23].structtype[0].field[3].name "otherlanguages" +datatype[23].structtype[0].field[3].datatype 2 +datatype[23].structtype[0].field[4].name "charset" +datatype[23].structtype[0].field[4].datatype 2 +datatype[23].structtype[0].field[5].name "mimetype" +datatype[23].structtype[0].field[5].datatype 2 +datatype[23].structtype[0].field[6].name "referrerurl" +datatype[23].structtype[0].field[6].datatype 10 +datatype[23].structtype[0].field[7].name "sourcelocation" +datatype[23].structtype[0].field[7].datatype 2 +datatype[23].structtype[0].field[8].name "sourcecountry" +datatype[23].structtype[0].field[8].datatype 2 +datatype[23].structtype[0].field[9].name "sourcelocale" +datatype[23].structtype[0].field[9].datatype 2 +datatype[23].structtype[0].field[10].name "sourcecontinent" +datatype[23].structtype[0].field[10].datatype 2 +datatype[23].structtype[0].field[11].name "articlecountry" +datatype[23].structtype[0].field[11].datatype 2 +datatype[23].structtype[0].field[12].name "articlelocale" +datatype[23].structtype[0].field[12].datatype 2 +datatype[23].structtype[0].field[13].name "articlecontinent" +datatype[23].structtype[0].field[13].datatype 2 +datatype[23].structtype[0].field[14].name "sourcerank" +datatype[23].structtype[0].field[14].datatype 0 +datatype[23].structtype[0].field[15].name "crawldate" +datatype[23].structtype[0].field[15].datatype 4 +datatype[23].structtype[0].field[16].name "indexdate" +datatype[23].structtype[0].field[16].datatype 4 +datatype[23].structtype[0].field[17].name "procdate" +datatype[23].structtype[0].field[17].datatype 4 +datatype[23].structtype[0].field[18].name "sourceid" +datatype[23].structtype[0].field[18].datatype 0 +datatype[23].structtype[0].field[19].name "sourcefeedid" +datatype[23].structtype[0].field[19].datatype 0 +datatype[24].id 197293167 +datatype[24].structtype[0].name "newsarticle.body" +datatype[24].structtype[0].version 0 +datatype[24].structtype[0].compresstype NONE +datatype[24].structtype[0].compresslevel 0 +datatype[24].structtype[0].compressthreshold 95 +datatype[24].structtype[0].compressminsize 800 +datatype[24].structtype[0].field[0].name "body" +datatype[24].structtype[0].field[0].datatype 2 +datatype[25].id -1710661691 +datatype[25].documenttype[0].name "newsarticle" +datatype[25].documenttype[0].version 0 +datatype[25].documenttype[0].inherits[0].name "document" +datatype[25].documenttype[0].inherits[0].version 0 +datatype[25].documenttype[0].inherits[1].name "newssummary" +datatype[25].documenttype[0].inherits[1].version 0 +datatype[25].documenttype[0].headerstruct 2098419674 +datatype[25].documenttype[0].bodystruct 197293167 diff --git a/config-model/src/test/derived/documentderiver/mail.sd b/config-model/src/test/derived/documentderiver/mail.sd new file mode 100644 index 00000000000..77195a5273c --- /dev/null +++ b/config-model/src/test/derived/documentderiver/mail.sd @@ -0,0 +1,112 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search mail { + + stemming: none + + document mail { + + field URI type uri { + indexing: summary + summary-to: default, mailid + } + + field mailid type string { + indexing: summary | index + match: prefix + summary-to: default, mailid + } + + field date type int { + indexing: summary | attribute | index + match: prefix + } + + field from type string { + indexing: summary | index + # index-to: from, sender, address, header, default, all + match: prefix + } + + field replyto type raw { + indexing: summary | index + # index-to: replyto + match: prefix + } + + field to type string { + indexing: summary | index + # index-to: to, recipient, address, header, default, all + match: prefix + } + + field cc type string { + indexing: index + # index-to: cc, recipient, address, header, default, all + match: prefix + } + + field bcc type string { + indexing: index + # index-to: bcc + match: prefix + } + + field subject type string { + indexing: summary | index + # index-to: subject, header, default, all + match: prefix + } + + field mailbody type raw { + indexing: summary | index + # index-to: mailbody, default, all + match: substring + body + } + + field attachmentcount type int { + indexing: summary | index + body + } + + field attachmentnames type string { + indexing: index + # index-to: attachmentname, all + body + } + + field attachmenttypes type string { + indexing: index + # index-to: attachmenttype, all + body + } + + field attachmentlanguages type string { + indexing: index + match: prefix + body + } + + field attachmentcontent type string { + indexing: summary | index + # index-to: attachment, all + match: prefix + body + } + + field attachments type raw[] { + body + } + + } + + document-summary default { + summary snippet type string { + dynamic + source: body, attachmentcontent + } + + } + +} + diff --git a/config-model/src/test/derived/documentderiver/music.sd b/config-model/src/test/derived/documentderiver/music.sd new file mode 100644 index 00000000000..83d5d648424 --- /dev/null +++ b/config-model/src/test/derived/documentderiver/music.sd @@ -0,0 +1,44 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search music { + + document music { + + # Link to album main page + field url type uri { } + + # Title of album + field title type string { } + + # Album artist + field artist type string { } + + # Album production year + field year type int { } + + # Album description - about the album + field description type raw { } + + # Names of the album tracks + field tracks type array<string> { } + + # How many have given this album the grade 0/1/2/3 + field popularity type weightedset<int> { } + + # How many have given this album the grade 0/1/2/3 + field popularity2 type weightedset<int> { + weightedset: create-if-nonexistent + weightedset: remove-if-zero + } + + # How many have given this album the grade 0/1/2/3 + field popularity3 type weightedset<int> { + weightedset { + create-if-nonexistent + remove-if-zero + } + } + + } + +} + diff --git a/config-model/src/test/derived/documentderiver/newsarticle.sd b/config-model/src/test/derived/documentderiver/newsarticle.sd new file mode 100644 index 00000000000..9407eca0d18 --- /dev/null +++ b/config-model/src/test/derived/documentderiver/newsarticle.sd @@ -0,0 +1,126 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search newsarticle { + + document newsarticle inherits newssummary { + + field dynabstract type string { + indexing: summary + } + + field body type string { + body + indexing: summary | index + # index-to: body, default + stemming: none + } + + field othersourcenames type string { + indexing: summary | index + # index-to: othersourcenames, source + stemming: none + } + + field author type string { + indexing: summary | index + stemming: none + } + + field otherlanguages type string { + indexing: summary | index + # index-to: languages + stemming: none + } + + field charset type string { + indexing: summary + stemming: none + } + + field mimetype type string { + indexing: summary + stemming: none + } + + field referrerurl type uri { + indexing: summary | lowercase | tokenize | index + stemming: none + } + + field sourcelocation type string { + indexing: summary | index + stemming: none + alias: location + } + + field sourcecountry type string { + indexing: summary | index + stemming: none + # index-to: sourcecountry, sourcelocation + } + + field sourcelocale type string { + indexing: summary | index + stemming: none + # index-to: sourcelocale, sourcelocation + } + + field sourcecontinent type string { + indexing: summary | index + stemming: none + # index-to: sourcecontinent, sourcelocation + } + + field articlecountry type string { + indexing: summary | index + stemming: none + } + + field articlelocale type string { + indexing: summary | index + stemming: none + } + + field articlecontinent type string { + indexing: summary | index + stemming: none + } + + field sourcerank type int { + indexing: summary | index | set_var tmpsourcerank + } + + field crawldate type long { + indexing: summary | index + } + + field indexdate type long { + indexing: now | summary | index + } + + field procdate type long { + indexing: summary | index + } + + field sourceid type int { + indexing: summary | index + } + + field sourcefeedid type int { + indexing: summary | index + } + + } + + rank-profile date { + } + + rank-profile usrank inherits default { + } + + rank-profile eurank inherits default { + } + + rank-profile asiarank inherits default { + } + +} diff --git a/config-model/src/test/derived/documentderiver/newssummary.sd b/config-model/src/test/derived/documentderiver/newssummary.sd new file mode 100644 index 00000000000..3492b95308e --- /dev/null +++ b/config-model/src/test/derived/documentderiver/newssummary.sd @@ -0,0 +1,165 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search newssummary { + + document newssummary { + + field title type string { + indexing: summary | index + # index-to: title, titleabstract, default + stemming: none + alias: headline + } + + field abstract type string { + indexing: summary | index + # index-to: abstract, titleabstract, default + stemming: none + } + + field sourcename type string { + indexing: summary | index + # index-to: sourcename, source + stemming: none + } + + field providername type string { + indexing: summary | index + # index-to: providername, source + stemming: none + alias: provider + } + + field thumburl type string { + indexing: summary | lowercase | tokenize | index + stemming: none + } + + field thumbwidth type int { + indexing: summary | index + } + + field thumbheight type int { + indexing: summary | index + } + + field language type string { + indexing: summary | index + # index-to: language, languages + stemming: none + } + + field crawldocid type string { + indexing: summary + stemming: none + } + + field url type uri { + indexing: summary | lowercase | tokenize | index + stemming: none + } + + field sourceurl type uri { + indexing: summary | lowercase | tokenize | index + stemming: none + } + + field categories type string { + indexing: summary | index + stemming: none + alias: category + alias: cat + } + + field pubdate type long { + indexing: summary | index | attribute pubdate | set_var tmppubdate + alias: date + } + + field expdate type long { + indexing: summary | index + } + + field fingerprint type int { + indexing: summary | index + } + + field debug type string { + indexing { + + # Initialize variables used for superduper ranking + 0 | set_var superduperus | set_var superdupereu | set_var superduperasia; + + input debug | lowercase | summary | normalize | tokenize | index; + input debug | lowercase | split ";" | for_each { + # Loop through each token in debug string + switch { + case "superduperus": 10 | set_var superduperus; + case "superdupereu": 10 | set_var superdupereu; + case "superduperasia": 10 | set_var superduperasia; + } + }; + } + indexing-rewrite: none + stemming: none + } + + field attributes type string { + indexing { + + # Initialize variables used for superduper ranking + 1 | set_var superdupermod; + + input attributes | lowercase | summary | normalize | tokenize | index; + input attributes | lowercase | split ";" | for_each { + # Loop through each token in attributes string + switch { + + # De-rank PR articles using the following rules: + # 1. Set editedstaticrank to '1' + # 2. Subtract 2.5 hours (9000 seconds) from timestamp used in ranking + # 3. No superduper rank + case "typepr": 1 | set_var tmpsourcerank | get_var tmppubdate - 9000 | set_var tmppubdate | 0 | set_var superdupermod; + } + }; + } + indexing-rewrite: none + stemming: none + } + + field searchcluster type string { + indexing: summary + stemming: none + } + + field eustaticrank type int { + indexing { + get_var tmpsourcerank * 4000 + get_var superdupereu * get_var superdupermod * 1000 + get_var tmppubdate * 0.5 | summary | index | attribute eustaticrank; + } + } + + field usstaticrank type int { + indexing { + get_var tmpsourcerank * 4000 + get_var superduperus * get_var superdupermod * 1000 + get_var tmppubdate * 0.5 | summary | index | attribute usstaticrank; + } + } + + field asiastaticrank type int { + indexing { + get_var tmpsourcerank * 4000 + get_var superduperasia * get_var superdupermod * 1000 + get_var tmppubdate * 0.5 | summary | index | attribute asiastaticrank; + } + } + } + + rank-profile date { + } + + rank-profile usrank inherits default { + } + + rank-profile eurank inherits default { + } + + rank-profile asiarank inherits default { + } + +} diff --git a/config-model/src/test/derived/documentderiver/sombrero.sd b/config-model/src/test/derived/documentderiver/sombrero.sd new file mode 100644 index 00000000000..c4f9e90c06c --- /dev/null +++ b/config-model/src/test/derived/documentderiver/sombrero.sd @@ -0,0 +1,36 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search webdoc { + document webdoc { + # + # a simple key-value pair + # + struct keyvalue { + field key type string {} + field value type string {} + } + + # + # tags have a name and an array of attributes + # + struct tagvalue { + field name type string {} + # todo: this should be a map of attributes, not an array + field attributes type array<keyvalue> {} + } + + # + # wordforms are (kind, form, weight) triplets + # todo: "kind" should be an enum; check how enums are used. + # + struct wordform { + field kind type int {} + field form type string {} + field weight type float {} + } + + # + # web documents have zero or more HTML source strings + # + field html type string {} + } +} diff --git a/config-model/src/test/derived/documentderiver/vsmfields.cfg b/config-model/src/test/derived/documentderiver/vsmfields.cfg new file mode 100644 index 00000000000..34d4ac85315 --- /dev/null +++ b/config-model/src/test/derived/documentderiver/vsmfields.cfg @@ -0,0 +1,489 @@ +fieldspec[58] +fieldspec[0].name sddocname +fieldspec[0].searchmethod AUTOUTF8 +fieldspec[0].arg1 "exact" +fieldspec[1].name title +fieldspec[1].searchmethod AUTOUTF8 +fieldspec[1].arg1 "" +fieldspec[2].name abstract +fieldspec[2].searchmethod AUTOUTF8 +fieldspec[2].arg1 "" +fieldspec[3].name sourcename +fieldspec[3].searchmethod AUTOUTF8 +fieldspec[3].arg1 "" +fieldspec[4].name providername +fieldspec[4].searchmethod AUTOUTF8 +fieldspec[4].arg1 "" +fieldspec[5].name thumburl +fieldspec[5].searchmethod AUTOUTF8 +fieldspec[5].arg1 "" +fieldspec[6].name thumbwidth +fieldspec[6].searchmethod INT32 +fieldspec[6].arg1 "" +fieldspec[7].name thumbheight +fieldspec[7].searchmethod INT32 +fieldspec[7].arg1 "" +fieldspec[8].name language +fieldspec[8].searchmethod AUTOUTF8 +fieldspec[8].arg1 "" +fieldspec[9].name crawldocid +fieldspec[9].searchmethod AUTOUTF8 +fieldspec[9].arg1 "" +fieldspec[10].name url +fieldspec[10].searchmethod AUTOUTF8 +fieldspec[10].arg1 "" +fieldspec[11].name sourceurl +fieldspec[11].searchmethod AUTOUTF8 +fieldspec[11].arg1 "" +fieldspec[12].name categories +fieldspec[12].searchmethod AUTOUTF8 +fieldspec[12].arg1 "" +fieldspec[13].name pubdate +fieldspec[13].searchmethod INT64 +fieldspec[13].arg1 "" +fieldspec[14].name expdate +fieldspec[14].searchmethod INT64 +fieldspec[14].arg1 "" +fieldspec[15].name fingerprint +fieldspec[15].searchmethod INT32 +fieldspec[15].arg1 "" +fieldspec[16].name debug +fieldspec[16].searchmethod AUTOUTF8 +fieldspec[16].arg1 "" +fieldspec[17].name attributes +fieldspec[17].searchmethod AUTOUTF8 +fieldspec[17].arg1 "" +fieldspec[18].name searchcluster +fieldspec[18].searchmethod AUTOUTF8 +fieldspec[18].arg1 "" +fieldspec[19].name eustaticrank +fieldspec[19].searchmethod INT32 +fieldspec[19].arg1 "" +fieldspec[20].name usstaticrank +fieldspec[20].searchmethod INT32 +fieldspec[20].arg1 "" +fieldspec[21].name asiastaticrank +fieldspec[21].searchmethod INT32 +fieldspec[21].arg1 "" +fieldspec[22].name dynabstract +fieldspec[22].searchmethod AUTOUTF8 +fieldspec[22].arg1 "" +fieldspec[23].name body +fieldspec[23].searchmethod AUTOUTF8 +fieldspec[23].arg1 "" +fieldspec[24].name othersourcenames +fieldspec[24].searchmethod AUTOUTF8 +fieldspec[24].arg1 "" +fieldspec[25].name author +fieldspec[25].searchmethod AUTOUTF8 +fieldspec[25].arg1 "" +fieldspec[26].name otherlanguages +fieldspec[26].searchmethod AUTOUTF8 +fieldspec[26].arg1 "" +fieldspec[27].name charset +fieldspec[27].searchmethod AUTOUTF8 +fieldspec[27].arg1 "" +fieldspec[28].name mimetype +fieldspec[28].searchmethod AUTOUTF8 +fieldspec[28].arg1 "" +fieldspec[29].name referrerurl +fieldspec[29].searchmethod AUTOUTF8 +fieldspec[29].arg1 "" +fieldspec[30].name sourcelocation +fieldspec[30].searchmethod AUTOUTF8 +fieldspec[30].arg1 "" +fieldspec[31].name sourcecountry +fieldspec[31].searchmethod AUTOUTF8 +fieldspec[31].arg1 "" +fieldspec[32].name sourcelocale +fieldspec[32].searchmethod AUTOUTF8 +fieldspec[32].arg1 "" +fieldspec[33].name sourcecontinent +fieldspec[33].searchmethod AUTOUTF8 +fieldspec[33].arg1 "" +fieldspec[34].name articlecountry +fieldspec[34].searchmethod AUTOUTF8 +fieldspec[34].arg1 "" +fieldspec[35].name articlelocale +fieldspec[35].searchmethod AUTOUTF8 +fieldspec[35].arg1 "" +fieldspec[36].name articlecontinent +fieldspec[36].searchmethod AUTOUTF8 +fieldspec[36].arg1 "" +fieldspec[37].name sourcerank +fieldspec[37].searchmethod INT32 +fieldspec[37].arg1 "" +fieldspec[38].name crawldate +fieldspec[38].searchmethod INT64 +fieldspec[38].arg1 "" +fieldspec[39].name indexdate +fieldspec[39].searchmethod INT64 +fieldspec[39].arg1 "" +fieldspec[40].name procdate +fieldspec[40].searchmethod INT64 +fieldspec[40].arg1 "" +fieldspec[41].name sourceid +fieldspec[41].searchmethod INT32 +fieldspec[41].arg1 "" +fieldspec[42].name sourcefeedid +fieldspec[42].searchmethod INT32 +fieldspec[42].arg1 "" +fieldspec[43].name URI +fieldspec[43].searchmethod AUTOUTF8 +fieldspec[43].arg1 "" +fieldspec[44].name mailid +fieldspec[44].searchmethod AUTOUTF8 +fieldspec[44].arg1 "prefix" +fieldspec[45].name date +fieldspec[45].searchmethod INT32 +fieldspec[45].arg1 "" +fieldspec[46].name from +fieldspec[46].searchmethod AUTOUTF8 +fieldspec[46].arg1 "prefix" +fieldspec[47].name replyto +fieldspec[47].searchmethod AUTOUTF8 +fieldspec[47].arg1 "prefix" +fieldspec[48].name to +fieldspec[48].searchmethod AUTOUTF8 +fieldspec[48].arg1 "prefix" +fieldspec[49].name cc +fieldspec[49].searchmethod AUTOUTF8 +fieldspec[49].arg1 "prefix" +fieldspec[50].name bcc +fieldspec[50].searchmethod AUTOUTF8 +fieldspec[50].arg1 "prefix" +fieldspec[51].name subject +fieldspec[51].searchmethod AUTOUTF8 +fieldspec[51].arg1 "prefix" +fieldspec[52].name mailbody +fieldspec[52].searchmethod AUTOUTF8 +fieldspec[52].arg1 "substring" +fieldspec[53].name attachmentcount +fieldspec[53].searchmethod INT32 +fieldspec[53].arg1 "" +fieldspec[54].name attachmentnames +fieldspec[54].searchmethod AUTOUTF8 +fieldspec[54].arg1 "" +fieldspec[55].name attachmenttypes +fieldspec[55].searchmethod AUTOUTF8 +fieldspec[55].arg1 "" +fieldspec[56].name attachmentlanguages +fieldspec[56].searchmethod AUTOUTF8 +fieldspec[56].arg1 "prefix" +fieldspec[57].name attachmentcontent +fieldspec[57].searchmethod AUTOUTF8 +fieldspec[57].arg1 "prefix" +documenttype[7] +documenttype[0].name newssummary +documenttype[0].index[24] +documenttype[0].index[0].name sddocname +documenttype[0].index[0].field[1] +documenttype[0].index[0].field[0].name sddocname +documenttype[0].index[1].name title +documenttype[0].index[1].field[1] +documenttype[0].index[1].field[0].name title +documenttype[0].index[2].name titleabstract +documenttype[0].index[2].field[2] +documenttype[0].index[2].field[0].name title +documenttype[0].index[2].field[1].name abstract +documenttype[0].index[3].name default +documenttype[0].index[3].field[2] +documenttype[0].index[3].field[0].name title +documenttype[0].index[3].field[1].name abstract +documenttype[0].index[4].name abstract +documenttype[0].index[4].field[1] +documenttype[0].index[4].field[0].name abstract +documenttype[0].index[5].name sourcename +documenttype[0].index[5].field[1] +documenttype[0].index[5].field[0].name sourcename +documenttype[0].index[6].name source +documenttype[0].index[6].field[2] +documenttype[0].index[6].field[0].name sourcename +documenttype[0].index[6].field[1].name providername +documenttype[0].index[7].name providername +documenttype[0].index[7].field[1] +documenttype[0].index[7].field[0].name providername +documenttype[0].index[8].name thumburl +documenttype[0].index[8].field[1] +documenttype[0].index[8].field[0].name thumburl +documenttype[0].index[9].name thumbwidth +documenttype[0].index[9].field[1] +documenttype[0].index[9].field[0].name thumbwidth +documenttype[0].index[10].name thumbheight +documenttype[0].index[10].field[1] +documenttype[0].index[10].field[0].name thumbheight +documenttype[0].index[11].name language +documenttype[0].index[11].field[1] +documenttype[0].index[11].field[0].name language +documenttype[0].index[12].name languages +documenttype[0].index[12].field[1] +documenttype[0].index[12].field[0].name language +documenttype[0].index[13].name url +documenttype[0].index[13].field[1] +documenttype[0].index[13].field[0].name url +documenttype[0].index[14].name sourceurl +documenttype[0].index[14].field[1] +documenttype[0].index[14].field[0].name sourceurl +documenttype[0].index[15].name categories +documenttype[0].index[15].field[1] +documenttype[0].index[15].field[0].name categories +documenttype[0].index[16].name pubdate +documenttype[0].index[16].field[1] +documenttype[0].index[16].field[0].name pubdate +documenttype[0].index[17].name expdate +documenttype[0].index[17].field[1] +documenttype[0].index[17].field[0].name expdate +documenttype[0].index[18].name fingerprint +documenttype[0].index[18].field[1] +documenttype[0].index[18].field[0].name fingerprint +documenttype[0].index[19].name debug +documenttype[0].index[19].field[1] +documenttype[0].index[19].field[0].name debug +documenttype[0].index[20].name attributes +documenttype[0].index[20].field[1] +documenttype[0].index[20].field[0].name attributes +documenttype[0].index[21].name eustaticrank +documenttype[0].index[21].field[1] +documenttype[0].index[21].field[0].name eustaticrank +documenttype[0].index[22].name usstaticrank +documenttype[0].index[22].field[1] +documenttype[0].index[22].field[0].name usstaticrank +documenttype[0].index[23].name asiastaticrank +documenttype[0].index[23].field[1] +documenttype[0].index[23].field[0].name asiastaticrank +documenttype[1].name newsarticle +documenttype[1].index[41] +documenttype[1].index[0].name sddocname +documenttype[1].index[0].field[1] +documenttype[1].index[0].field[0].name sddocname +documenttype[1].index[1].name title +documenttype[1].index[1].field[1] +documenttype[1].index[1].field[0].name title +documenttype[1].index[2].name titleabstract +documenttype[1].index[2].field[2] +documenttype[1].index[2].field[0].name title +documenttype[1].index[2].field[1].name abstract +documenttype[1].index[3].name default +documenttype[1].index[3].field[3] +documenttype[1].index[3].field[0].name title +documenttype[1].index[3].field[1].name abstract +documenttype[1].index[3].field[2].name body +documenttype[1].index[4].name abstract +documenttype[1].index[4].field[1] +documenttype[1].index[4].field[0].name abstract +documenttype[1].index[5].name sourcename +documenttype[1].index[5].field[1] +documenttype[1].index[5].field[0].name sourcename +documenttype[1].index[6].name source +documenttype[1].index[6].field[3] +documenttype[1].index[6].field[0].name sourcename +documenttype[1].index[6].field[1].name providername +documenttype[1].index[6].field[2].name othersourcenames +documenttype[1].index[7].name providername +documenttype[1].index[7].field[1] +documenttype[1].index[7].field[0].name providername +documenttype[1].index[8].name thumburl +documenttype[1].index[8].field[1] +documenttype[1].index[8].field[0].name thumburl +documenttype[1].index[9].name thumbwidth +documenttype[1].index[9].field[1] +documenttype[1].index[9].field[0].name thumbwidth +documenttype[1].index[10].name thumbheight +documenttype[1].index[10].field[1] +documenttype[1].index[10].field[0].name thumbheight +documenttype[1].index[11].name language +documenttype[1].index[11].field[1] +documenttype[1].index[11].field[0].name language +documenttype[1].index[12].name languages +documenttype[1].index[12].field[2] +documenttype[1].index[12].field[0].name language +documenttype[1].index[12].field[1].name otherlanguages +documenttype[1].index[13].name url +documenttype[1].index[13].field[1] +documenttype[1].index[13].field[0].name url +documenttype[1].index[14].name sourceurl +documenttype[1].index[14].field[1] +documenttype[1].index[14].field[0].name sourceurl +documenttype[1].index[15].name categories +documenttype[1].index[15].field[1] +documenttype[1].index[15].field[0].name categories +documenttype[1].index[16].name pubdate +documenttype[1].index[16].field[1] +documenttype[1].index[16].field[0].name pubdate +documenttype[1].index[17].name expdate +documenttype[1].index[17].field[1] +documenttype[1].index[17].field[0].name expdate +documenttype[1].index[18].name fingerprint +documenttype[1].index[18].field[1] +documenttype[1].index[18].field[0].name fingerprint +documenttype[1].index[19].name debug +documenttype[1].index[19].field[1] +documenttype[1].index[19].field[0].name debug +documenttype[1].index[20].name attributes +documenttype[1].index[20].field[1] +documenttype[1].index[20].field[0].name attributes +documenttype[1].index[21].name eustaticrank +documenttype[1].index[21].field[1] +documenttype[1].index[21].field[0].name eustaticrank +documenttype[1].index[22].name usstaticrank +documenttype[1].index[22].field[1] +documenttype[1].index[22].field[0].name usstaticrank +documenttype[1].index[23].name asiastaticrank +documenttype[1].index[23].field[1] +documenttype[1].index[23].field[0].name asiastaticrank +documenttype[1].index[24].name body +documenttype[1].index[24].field[1] +documenttype[1].index[24].field[0].name body +documenttype[1].index[25].name othersourcenames +documenttype[1].index[25].field[1] +documenttype[1].index[25].field[0].name othersourcenames +documenttype[1].index[26].name author +documenttype[1].index[26].field[1] +documenttype[1].index[26].field[0].name author +documenttype[1].index[27].name referrerurl +documenttype[1].index[27].field[1] +documenttype[1].index[27].field[0].name referrerurl +documenttype[1].index[28].name sourcelocation +documenttype[1].index[28].field[4] +documenttype[1].index[28].field[0].name sourcelocation +documenttype[1].index[28].field[1].name sourcecountry +documenttype[1].index[28].field[2].name sourcelocale +documenttype[1].index[28].field[3].name sourcecontinent +documenttype[1].index[29].name sourcecountry +documenttype[1].index[29].field[1] +documenttype[1].index[29].field[0].name sourcecountry +documenttype[1].index[30].name sourcelocale +documenttype[1].index[30].field[1] +documenttype[1].index[30].field[0].name sourcelocale +documenttype[1].index[31].name sourcecontinent +documenttype[1].index[31].field[1] +documenttype[1].index[31].field[0].name sourcecontinent +documenttype[1].index[32].name articlecountry +documenttype[1].index[32].field[1] +documenttype[1].index[32].field[0].name articlecountry +documenttype[1].index[33].name articlelocale +documenttype[1].index[33].field[1] +documenttype[1].index[33].field[0].name articlelocale +documenttype[1].index[34].name articlecontinent +documenttype[1].index[34].field[1] +documenttype[1].index[34].field[0].name articlecontinent +documenttype[1].index[35].name sourcerank +documenttype[1].index[35].field[1] +documenttype[1].index[35].field[0].name sourcerank +documenttype[1].index[36].name crawldate +documenttype[1].index[36].field[1] +documenttype[1].index[36].field[0].name crawldate +documenttype[1].index[37].name indexdate +documenttype[1].index[37].field[1] +documenttype[1].index[37].field[0].name indexdate +documenttype[1].index[38].name procdate +documenttype[1].index[38].field[1] +documenttype[1].index[38].field[0].name procdate +documenttype[1].index[39].name sourceid +documenttype[1].index[39].field[1] +documenttype[1].index[39].field[0].name sourceid +documenttype[1].index[40].name sourcefeedid +documenttype[1].index[40].field[1] +documenttype[1].index[40].field[0].name sourcefeedid +documenttype[2].name music +documenttype[2].index[1] +documenttype[2].index[0].name sddocname +documenttype[2].index[0].field[1] +documenttype[2].index[0].field[0].name sddocname +documenttype[3].name mail +documenttype[3].index[21] +documenttype[3].index[0].name sddocname +documenttype[3].index[0].field[1] +documenttype[3].index[0].field[0].name sddocname +documenttype[3].index[1].name mailid +documenttype[3].index[1].field[1] +documenttype[3].index[1].field[0].name mailid +documenttype[3].index[2].name date +documenttype[3].index[2].field[1] +documenttype[3].index[2].field[0].name date +documenttype[3].index[3].name from +documenttype[3].index[3].field[1] +documenttype[3].index[3].field[0].name from +documenttype[3].index[4].name sender +documenttype[3].index[4].field[1] +documenttype[3].index[4].field[0].name from +documenttype[3].index[5].name address +documenttype[3].index[5].field[3] +documenttype[3].index[5].field[0].name from +documenttype[3].index[5].field[1].name to +documenttype[3].index[5].field[2].name cc +documenttype[3].index[6].name header +documenttype[3].index[6].field[4] +documenttype[3].index[6].field[0].name from +documenttype[3].index[6].field[1].name to +documenttype[3].index[6].field[2].name cc +documenttype[3].index[6].field[3].name subject +documenttype[3].index[7].name default +documenttype[3].index[7].field[5] +documenttype[3].index[7].field[0].name from +documenttype[3].index[7].field[1].name to +documenttype[3].index[7].field[2].name cc +documenttype[3].index[7].field[3].name subject +documenttype[3].index[7].field[4].name mailbody +documenttype[3].index[8].name all +documenttype[3].index[8].field[8] +documenttype[3].index[8].field[0].name from +documenttype[3].index[8].field[1].name to +documenttype[3].index[8].field[2].name cc +documenttype[3].index[8].field[3].name subject +documenttype[3].index[8].field[4].name mailbody +documenttype[3].index[8].field[5].name attachmentnames +documenttype[3].index[8].field[6].name attachmenttypes +documenttype[3].index[8].field[7].name attachmentcontent +documenttype[3].index[9].name replyto +documenttype[3].index[9].field[1] +documenttype[3].index[9].field[0].name replyto +documenttype[3].index[10].name to +documenttype[3].index[10].field[1] +documenttype[3].index[10].field[0].name to +documenttype[3].index[11].name recipient +documenttype[3].index[11].field[2] +documenttype[3].index[11].field[0].name to +documenttype[3].index[11].field[1].name cc +documenttype[3].index[12].name cc +documenttype[3].index[12].field[1] +documenttype[3].index[12].field[0].name cc +documenttype[3].index[13].name bcc +documenttype[3].index[13].field[1] +documenttype[3].index[13].field[0].name bcc +documenttype[3].index[14].name subject +documenttype[3].index[14].field[1] +documenttype[3].index[14].field[0].name subject +documenttype[3].index[15].name mailbody +documenttype[3].index[15].field[1] +documenttype[3].index[15].field[0].name mailbody +documenttype[3].index[16].name attachmentcount +documenttype[3].index[16].field[1] +documenttype[3].index[16].field[0].name attachmentcount +documenttype[3].index[17].name attachmentname +documenttype[3].index[17].field[1] +documenttype[3].index[17].field[0].name attachmentnames +documenttype[3].index[18].name attachmenttype +documenttype[3].index[18].field[1] +documenttype[3].index[18].field[0].name attachmenttypes +documenttype[3].index[19].name attachmentlanguages +documenttype[3].index[19].field[1] +documenttype[3].index[19].field[0].name attachmentlanguages +documenttype[3].index[20].name attachment +documenttype[3].index[20].field[1] +documenttype[3].index[20].field[0].name attachmentcontent +documenttype[4].name compressed_header +documenttype[4].index[1] +documenttype[4].index[0].name sddocname +documenttype[4].index[0].field[1] +documenttype[4].index[0].field[0].name sddocname +documenttype[5].name compressed_both +documenttype[5].index[1] +documenttype[5].index[0].name sddocname +documenttype[5].index[0].field[1] +documenttype[5].index[0].field[0].name sddocname +documenttype[6].name compressed_body +documenttype[6].index[1] +documenttype[6].index[0].name sddocname +documenttype[6].index[0].field[1] +documenttype[6].index[0].field[0].name sddocname diff --git a/config-model/src/test/derived/documentderiver/vsmsummary.cfg b/config-model/src/test/derived/documentderiver/vsmsummary.cfg new file mode 100644 index 00000000000..5f9882e8c1b --- /dev/null +++ b/config-model/src/test/derived/documentderiver/vsmsummary.cfg @@ -0,0 +1,6 @@ +fieldmap[1] +fieldmap[0].summary snippet +fieldmap[0].document[2] +fieldmap[0].document[0].field body +fieldmap[0].document[1].field attachmentcontent +fieldmap[0].command FLATTENJUNIPER
\ No newline at end of file diff --git a/config-model/src/test/derived/emptychild/child.sd b/config-model/src/test/derived/emptychild/child.sd new file mode 100644 index 00000000000..2e2423b91d6 --- /dev/null +++ b/config-model/src/test/derived/emptychild/child.sd @@ -0,0 +1,5 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search child { + document child inherits parent { + } +} diff --git a/config-model/src/test/derived/emptychild/parent.sd b/config-model/src/test/derived/emptychild/parent.sd new file mode 100644 index 00000000000..69d48de8f75 --- /dev/null +++ b/config-model/src/test/derived/emptychild/parent.sd @@ -0,0 +1,8 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search parent { + document parent { + field a1 type string { + indexing: attribute | summary + } + } +} diff --git a/config-model/src/test/derived/emptychild/summary.cfg b/config-model/src/test/derived/emptychild/summary.cfg new file mode 100644 index 00000000000..b8b56eea8f5 --- /dev/null +++ b/config-model/src/test/derived/emptychild/summary.cfg @@ -0,0 +1,19 @@ +defaultsummaryid 1814603381 +classes[0].id 1814603381 +classes[0].name "default" +classes[0].fields[0].name "a1" +classes[0].fields[0].type "longstring" +classes[0].fields[1].name "rankfeatures" +classes[0].fields[1].type "featuredata" +classes[0].fields[2].name "summaryfeatures" +classes[0].fields[2].type "featuredata" +classes[0].fields[3].name "documentid" +classes[0].fields[3].type "longstring" +classes[1].id 1490368133 +classes[1].name "attributeprefetch" +classes[1].fields[0].name "a1" +classes[1].fields[0].type "longstring" +classes[1].fields[1].name "rankfeatures" +classes[1].fields[1].type "featuredata" +classes[1].fields[2].name "summaryfeatures" +classes[1].fields[2].type "featuredata"
\ No newline at end of file diff --git a/config-model/src/test/derived/emptydefault/attributes.cfg b/config-model/src/test/derived/emptydefault/attributes.cfg new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/config-model/src/test/derived/emptydefault/attributes.cfg diff --git a/config-model/src/test/derived/emptydefault/documentmanager.cfg b/config-model/src/test/derived/emptydefault/documentmanager.cfg new file mode 100644 index 00000000000..4235199342a --- /dev/null +++ b/config-model/src/test/derived/emptydefault/documentmanager.cfg @@ -0,0 +1,43 @@ +enablecompression false +datatype[0].id 1381038251 +datatype[0].structtype[0].name "position" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[0].structtype[0].field[0].name "x" +datatype[0].structtype[0].field[0].datatype 0 +datatype[0].structtype[0].field[1].name "y" +datatype[0].structtype[0].field[1].datatype 0 +datatype[1].id 461724009 +datatype[1].structtype[0].name "emptydefault.header" +datatype[1].structtype[0].version 0 +datatype[1].structtype[0].compresstype NONE +datatype[1].structtype[0].compresslevel 0 +datatype[1].structtype[0].compressthreshold 95 +datatype[1].structtype[0].compressminsize 800 +datatype[1].structtype[0].field[0].name "one" +datatype[1].structtype[0].field[0].datatype 2 +datatype[1].structtype[0].field[1].name "two" +datatype[1].structtype[0].field[1].datatype 2 +datatype[1].structtype[0].field[2].name "rankfeatures" +datatype[1].structtype[0].field[2].datatype 2 +datatype[1].structtype[0].field[3].name "summaryfeatures" +datatype[1].structtype[0].field[3].datatype 2 +datatype[2].id 311791038 +datatype[2].structtype[0].name "emptydefault.body" +datatype[2].structtype[0].version 0 +datatype[2].structtype[0].compresstype NONE +datatype[2].structtype[0].compresslevel 0 +datatype[2].structtype[0].compressthreshold 95 +datatype[2].structtype[0].compressminsize 800 +datatype[3].id -1663995626 +datatype[3].documenttype[0].name "emptydefault" +datatype[3].documenttype[0].version 0 +datatype[3].documenttype[0].inherits[0].name "document" +datatype[3].documenttype[0].inherits[0].version 0 +datatype[3].documenttype[0].headerstruct 461724009 +datatype[3].documenttype[0].bodystruct 311791038 +datatype[3].documenttype[0].fieldsets{[document]}.fields[0] "one" +datatype[3].documenttype[0].fieldsets{[document]}.fields[1] "two" diff --git a/config-model/src/test/derived/emptydefault/emptydefault.sd b/config-model/src/test/derived/emptydefault/emptydefault.sd new file mode 100644 index 00000000000..14c83003079 --- /dev/null +++ b/config-model/src/test/derived/emptydefault/emptydefault.sd @@ -0,0 +1,16 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search emptydefault { + + document emptydefault { + + field one type string { + indexing: index + } + + field two type string { + indexing: index + } + + } + +} diff --git a/config-model/src/test/derived/emptydefault/ilscripts.cfg b/config-model/src/test/derived/emptydefault/ilscripts.cfg new file mode 100644 index 00000000000..b28b5ade17f --- /dev/null +++ b/config-model/src/test/derived/emptydefault/ilscripts.cfg @@ -0,0 +1,6 @@ +maxtermoccurrences 100 +ilscript[0].doctype "emptydefault" +ilscript[0].docfield[0] "one" +ilscript[0].docfield[1] "two" +ilscript[0].content[0] "clear_state | guard { input one | tokenize normalize stem:\"SHORTEST\" | index one; }" +ilscript[0].content[1] "clear_state | guard { input two | tokenize normalize stem:\"SHORTEST\" | index two; }"
\ No newline at end of file diff --git a/config-model/src/test/derived/emptydefault/index-info.cfg b/config-model/src/test/derived/emptydefault/index-info.cfg new file mode 100644 index 00000000000..0ec9439e13b --- /dev/null +++ b/config-model/src/test/derived/emptydefault/index-info.cfg @@ -0,0 +1,25 @@ +indexinfo[0].name "emptydefault" +indexinfo[0].command[0].indexname "sddocname" +indexinfo[0].command[0].command "index" +indexinfo[0].command[1].indexname "sddocname" +indexinfo[0].command[1].command "word" +indexinfo[0].command[2].indexname "one" +indexinfo[0].command[2].command "index" +indexinfo[0].command[3].indexname "one" +indexinfo[0].command[3].command "lowercase" +indexinfo[0].command[4].indexname "one" +indexinfo[0].command[4].command "stem:SHORTEST" +indexinfo[0].command[5].indexname "one" +indexinfo[0].command[5].command "normalize" +indexinfo[0].command[6].indexname "two" +indexinfo[0].command[6].command "index" +indexinfo[0].command[7].indexname "two" +indexinfo[0].command[7].command "lowercase" +indexinfo[0].command[8].indexname "two" +indexinfo[0].command[8].command "stem:SHORTEST" +indexinfo[0].command[9].indexname "two" +indexinfo[0].command[9].command "normalize" +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/emptydefault/rank-profiles.cfg b/config-model/src/test/derived/emptydefault/rank-profiles.cfg new file mode 100644 index 00000000000..caca83a9a91 --- /dev/null +++ b/config-model/src/test/derived/emptydefault/rank-profiles.cfg @@ -0,0 +1,10 @@ +rankprofile[0].name "default" +rankprofile[1].name "unranked" +rankprofile[1].fef.property[0].name "vespa.rank.firstphase" +rankprofile[1].fef.property[0].value "value(0)" +rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize" +rankprofile[1].fef.property[1].value "0" +rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize" +rankprofile[1].fef.property[2].value "0" +rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures" +rankprofile[1].fef.property[3].value "true"
\ No newline at end of file diff --git a/config-model/src/test/derived/emptydefault/summary.cfg b/config-model/src/test/derived/emptydefault/summary.cfg new file mode 100644 index 00000000000..788f02babfc --- /dev/null +++ b/config-model/src/test/derived/emptydefault/summary.cfg @@ -0,0 +1,9 @@ +defaultsummaryid 1151071433 +classes[0].id 1151071433 +classes[0].name "default" +classes[0].fields[0].name "rankfeatures" +classes[0].fields[0].type "featuredata" +classes[0].fields[1].name "summaryfeatures" +classes[0].fields[1].type "featuredata" +classes[0].fields[2].name "documentid" +classes[0].fields[2].type "longstring"
\ No newline at end of file diff --git a/config-model/src/test/derived/emptydefault/summarymap.cfg b/config-model/src/test/derived/emptydefault/summarymap.cfg new file mode 100644 index 00000000000..42b6e811ee6 --- /dev/null +++ b/config-model/src/test/derived/emptydefault/summarymap.cfg @@ -0,0 +1,7 @@ +defaultoutputclass -1 +override[0].field "rankfeatures" +override[0].command "rankfeatures" +override[0].arguments "" +override[1].field "summaryfeatures" +override[1].command "summaryfeatures" +override[1].arguments ""
\ No newline at end of file diff --git a/config-model/src/test/derived/exactmatch/exactmatch.sd b/config-model/src/test/derived/exactmatch/exactmatch.sd new file mode 100644 index 00000000000..9eaea3654a7 --- /dev/null +++ b/config-model/src/test/derived/exactmatch/exactmatch.sd @@ -0,0 +1,21 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search exactmatch { + + document exactmatch { + + field tag type string { + indexing: summary | index + match: exact + } + + field screweduserids type string { + indexing: index | summary | attribute + match { + exact + exact-terminator: "*!!!*" + } + } + + } + +} diff --git a/config-model/src/test/derived/exactmatch/ilscripts.cfg b/config-model/src/test/derived/exactmatch/ilscripts.cfg new file mode 100644 index 00000000000..c3ecab6d3a9 --- /dev/null +++ b/config-model/src/test/derived/exactmatch/ilscripts.cfg @@ -0,0 +1,6 @@ +maxtermoccurrences 100 +ilscript[0].doctype "exactmatch" +ilscript[0].docfield[0] "tag" +ilscript[0].docfield[1] "screweduserids" +ilscript[0].content[0] "clear_state | guard { input tag | exact | summary tag | index tag; }" +ilscript[0].content[1] "clear_state | guard { input screweduserids | exact | index screweduserids | summary screweduserids | attribute screweduserids; }"
\ No newline at end of file diff --git a/config-model/src/test/derived/exactmatch/index-info.cfg b/config-model/src/test/derived/exactmatch/index-info.cfg new file mode 100644 index 00000000000..aeece43832d --- /dev/null +++ b/config-model/src/test/derived/exactmatch/index-info.cfg @@ -0,0 +1,21 @@ +indexinfo[0].name "exactmatch" +indexinfo[0].command[0].indexname "sddocname" +indexinfo[0].command[0].command "index" +indexinfo[0].command[1].indexname "sddocname" +indexinfo[0].command[1].command "word" +indexinfo[0].command[2].indexname "tag" +indexinfo[0].command[2].command "index" +indexinfo[0].command[3].indexname "tag" +indexinfo[0].command[3].command "lowercase" +indexinfo[0].command[4].indexname "tag" +indexinfo[0].command[4].command "exact @@" +indexinfo[0].command[5].indexname "screweduserids" +indexinfo[0].command[5].command "index" +indexinfo[0].command[6].indexname "screweduserids" +indexinfo[0].command[6].command "lowercase" +indexinfo[0].command[7].indexname "screweduserids" +indexinfo[0].command[7].command "exact *!!!*" +indexinfo[0].command[8].indexname "rankfeatures" +indexinfo[0].command[8].command "index" +indexinfo[0].command[9].indexname "summaryfeatures" +indexinfo[0].command[9].command "index"
\ No newline at end of file diff --git a/config-model/src/test/derived/fieldlength/attributes.cfg b/config-model/src/test/derived/fieldlength/attributes.cfg new file mode 100644 index 00000000000..29fd2f986f0 --- /dev/null +++ b/config-model/src/test/derived/fieldlength/attributes.cfg @@ -0,0 +1,4 @@ +attribute[1] +attribute[0].name "year" +attribute[0].datatype INT32 +attribute[0].collectiontype SINGLE diff --git a/config-model/src/test/derived/fieldlength/fieldlength.sd b/config-model/src/test/derived/fieldlength/fieldlength.sd new file mode 100644 index 00000000000..df42b822dc2 --- /dev/null +++ b/config-model/src/test/derived/fieldlength/fieldlength.sd @@ -0,0 +1,73 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search fieldlength { + + document fieldlength { + + field artist type string { + indexing: summary | index + # index-to: default + } + + field title type string { + indexing: summary | index + # index-to: default + } + + field song type string { + indexing: summary | index + # index-to: all, song + } + + field album type string { + indexing: summary | index + # index-to: all, album, all2 + } + + field composer type string { + indexing: summary | index + # index-to: all, composer, all2 + } + + field label type string { + indexing: summary | index + } + + field year type int { + indexing: summary | attribute + } + + } + + rank-profile default { + first-phase { + expression: classicRank + } + second-phase { + expression: if(3>2,4,2) + rerank-count: 10 + } + rank-features: attribute(baz).out sum(value(3)) + rank-features: classicRank + ignore-default-rank-features + + rank-properties { + foo: "bar, baz" + qux: "quux" + foo: "foobar" + } + + } + + rank-profile static { + first-phase { + expression: attribute + } + second-phase { + expression: file:../rankexpression/rankexpression + } + summary-features: sum(value(1),value(2)) + } + +} + + diff --git a/config-model/src/test/derived/flickr/flickrphotos.sd b/config-model/src/test/derived/flickr/flickrphotos.sd new file mode 100755 index 00000000000..8a2232ad2b0 --- /dev/null +++ b/config-model/src/test/derived/flickr/flickrphotos.sd @@ -0,0 +1,24 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search flickrphotos{ + + #Document summary to use for attribute-prefetching with many hits + + document-summary mapcluster { + summary distance type int {} + } + + document flickrphotos{ + + + field loc type string{ + indexing: summary | to_pos | attribute + } + + } + + + + + +}#end flickrphotos cluster + diff --git a/config-model/src/test/derived/gemini2/gemini.sd b/config-model/src/test/derived/gemini2/gemini.sd new file mode 100644 index 00000000000..cfa85d0e2a9 --- /dev/null +++ b/config-model/src/test/derived/gemini2/gemini.sd @@ -0,0 +1,27 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search gemini { + + document gemini { + } + + rank-profile test { + + macro wrapper2(x) { + expression: x + } + + macro wrapper1(x) { + expression: wrapper2(x) + } + + macro toplevel() { + expression: wrapper1(attribute(right)) + } + + macro interfering() { + expression: wrapper1(attribute(wrong)) + } + + } + +} diff --git a/config-model/src/test/derived/gemini2/rank-profiles.cfg b/config-model/src/test/derived/gemini2/rank-profiles.cfg new file mode 100644 index 00000000000..362155fe6cc --- /dev/null +++ b/config-model/src/test/derived/gemini2/rank-profiles.cfg @@ -0,0 +1,29 @@ +rankprofile[0].name "default" +rankprofile[1].name "unranked" +rankprofile[1].fef.property[0].name "vespa.rank.firstphase" +rankprofile[1].fef.property[0].value "value(0)" +rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize" +rankprofile[1].fef.property[1].value "0" +rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize" +rankprofile[1].fef.property[2].value "0" +rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures" +rankprofile[1].fef.property[3].value "true" +rankprofile[2].name "test" +rankprofile[2].fef.property[0].name "rankingExpression(wrapper2).rankingScript" +rankprofile[2].fef.property[0].value "x" +rankprofile[2].fef.property[1].name "rankingExpression(wrapper2@c7ef616469cdb0b3).rankingScript" +rankprofile[2].fef.property[1].value "x" +rankprofile[2].fef.property[2].name "rankingExpression(wrapper1).rankingScript" +rankprofile[2].fef.property[2].value "rankingExpression(wrapper2@c7ef616469cdb0b3)" +rankprofile[2].fef.property[3].name "rankingExpression(wrapper2@2d437c13405e61d6).rankingScript" +rankprofile[2].fef.property[3].value "attribute(right)" +rankprofile[2].fef.property[4].name "rankingExpression(wrapper1@2d437c13405e61d6).rankingScript" +rankprofile[2].fef.property[4].value "rankingExpression(wrapper2@2d437c13405e61d6)" +rankprofile[2].fef.property[5].name "rankingExpression(toplevel).rankingScript" +rankprofile[2].fef.property[5].value "rankingExpression(wrapper1@2d437c13405e61d6)" +rankprofile[2].fef.property[6].name "rankingExpression(wrapper2@8fc8470e911f253f).rankingScript" +rankprofile[2].fef.property[6].value "attribute(wrong)" +rankprofile[2].fef.property[7].name "rankingExpression(wrapper1@8fc8470e911f253f).rankingScript" +rankprofile[2].fef.property[7].value "rankingExpression(wrapper2@8fc8470e911f253f)" +rankprofile[2].fef.property[8].name "rankingExpression(interfering).rankingScript" +rankprofile[2].fef.property[8].value "rankingExpression(wrapper1@8fc8470e911f253f)"
\ No newline at end of file diff --git a/config-model/src/test/derived/id/attributes.cfg b/config-model/src/test/derived/id/attributes.cfg new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/config-model/src/test/derived/id/attributes.cfg diff --git a/config-model/src/test/derived/id/documentmanager.cfg b/config-model/src/test/derived/id/documentmanager.cfg new file mode 100644 index 00000000000..40996d46399 --- /dev/null +++ b/config-model/src/test/derived/id/documentmanager.cfg @@ -0,0 +1,40 @@ +enablecompression false +datatype[0].id 1381038251 +datatype[0].structtype[0].name "position" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[0].structtype[0].field[0].name "x" +datatype[0].structtype[0].field[0].datatype 0 +datatype[0].structtype[0].field[1].name "y" +datatype[0].structtype[0].field[1].datatype 0 +datatype[1].id -531633022 +datatype[1].structtype[0].name "id.header" +datatype[1].structtype[0].version 0 +datatype[1].structtype[0].compresstype NONE +datatype[1].structtype[0].compresslevel 0 +datatype[1].structtype[0].compressthreshold 95 +datatype[1].structtype[0].compressminsize 800 +datatype[1].structtype[0].field[0].name "uri" +datatype[1].structtype[0].field[0].datatype 10 +datatype[1].structtype[0].field[1].name "rankfeatures" +datatype[1].structtype[0].field[1].datatype 2 +datatype[1].structtype[0].field[2].name "summaryfeatures" +datatype[1].structtype[0].field[2].datatype 2 +datatype[2].id -1830022377 +datatype[2].structtype[0].name "id.body" +datatype[2].structtype[0].version 0 +datatype[2].structtype[0].compresstype NONE +datatype[2].structtype[0].compresslevel 0 +datatype[2].structtype[0].compressthreshold 95 +datatype[2].structtype[0].compressminsize 800 +datatype[3].id 3225629 +datatype[3].documenttype[0].name "id" +datatype[3].documenttype[0].version 0 +datatype[3].documenttype[0].inherits[0].name "document" +datatype[3].documenttype[0].inherits[0].version 0 +datatype[3].documenttype[0].headerstruct -531633022 +datatype[3].documenttype[0].bodystruct -1830022377 +datatype[3].documenttype[0].fieldsets{[document]}.fields[0] "uri" diff --git a/config-model/src/test/derived/id/id.sd b/config-model/src/test/derived/id/id.sd new file mode 100644 index 00000000000..aac5463775c --- /dev/null +++ b/config-model/src/test/derived/id/id.sd @@ -0,0 +1,12 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search id { + + document id { + + field uri type uri { + indexing: summary | index + } + + } + +} diff --git a/config-model/src/test/derived/id/ilscripts.cfg b/config-model/src/test/derived/id/ilscripts.cfg new file mode 100644 index 00000000000..c613431cdf9 --- /dev/null +++ b/config-model/src/test/derived/id/ilscripts.cfg @@ -0,0 +1,4 @@ +maxtermoccurrences 100 +ilscript[0].doctype "id" +ilscript[0].docfield[0] "uri" +ilscript[0].content[0] "clear_state | guard { input uri | summary uri | index uri; }"
\ No newline at end of file diff --git a/config-model/src/test/derived/id/index-info.cfg b/config-model/src/test/derived/id/index-info.cfg new file mode 100644 index 00000000000..e54e8640d13 --- /dev/null +++ b/config-model/src/test/derived/id/index-info.cfg @@ -0,0 +1,45 @@ +indexinfo[0].name "id" +indexinfo[0].command[0].indexname "sddocname" +indexinfo[0].command[0].command "index" +indexinfo[0].command[1].indexname "sddocname" +indexinfo[0].command[1].command "word" +indexinfo[0].command[2].indexname "uri" +indexinfo[0].command[2].command "index" +indexinfo[0].command[3].indexname "uri" +indexinfo[0].command[3].command "lowercase" +indexinfo[0].command[4].indexname "uri" +indexinfo[0].command[4].command "fullurl" +indexinfo[0].command[5].indexname "uri.uri" +indexinfo[0].command[5].command "fullurl" +indexinfo[0].command[6].indexname "uri.uri" +indexinfo[0].command[6].command "lowercase" +indexinfo[0].command[7].indexname "uri.path" +indexinfo[0].command[7].command "fullurl" +indexinfo[0].command[8].indexname "uri.path" +indexinfo[0].command[8].command "lowercase" +indexinfo[0].command[9].indexname "uri.query" +indexinfo[0].command[9].command "fullurl" +indexinfo[0].command[10].indexname "uri.query" +indexinfo[0].command[10].command "lowercase" +indexinfo[0].command[11].indexname "uri.hostname" +indexinfo[0].command[11].command "urlhost" +indexinfo[0].command[12].indexname "uri.hostname" +indexinfo[0].command[12].command "lowercase" +indexinfo[0].command[13].indexname "rankfeatures" +indexinfo[0].command[13].command "index" +indexinfo[0].command[14].indexname "summaryfeatures" +indexinfo[0].command[14].command "index" +indexinfo[0].command[15].indexname "uri.fragment" +indexinfo[0].command[15].command "index" +indexinfo[0].command[16].indexname "uri.host" +indexinfo[0].command[16].command "index" +indexinfo[0].command[17].indexname "uri.hostname" +indexinfo[0].command[17].command "index" +indexinfo[0].command[18].indexname "uri.path" +indexinfo[0].command[18].command "index" +indexinfo[0].command[19].indexname "uri.port" +indexinfo[0].command[19].command "index" +indexinfo[0].command[20].indexname "uri.query" +indexinfo[0].command[20].command "index" +indexinfo[0].command[21].indexname "uri.scheme" +indexinfo[0].command[21].command "index"
\ No newline at end of file diff --git a/config-model/src/test/derived/id/rank-profiles.cfg b/config-model/src/test/derived/id/rank-profiles.cfg new file mode 100644 index 00000000000..caca83a9a91 --- /dev/null +++ b/config-model/src/test/derived/id/rank-profiles.cfg @@ -0,0 +1,10 @@ +rankprofile[0].name "default" +rankprofile[1].name "unranked" +rankprofile[1].fef.property[0].name "vespa.rank.firstphase" +rankprofile[1].fef.property[0].value "value(0)" +rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize" +rankprofile[1].fef.property[1].value "0" +rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize" +rankprofile[1].fef.property[2].value "0" +rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures" +rankprofile[1].fef.property[3].value "true"
\ No newline at end of file diff --git a/config-model/src/test/derived/id/summary.cfg b/config-model/src/test/derived/id/summary.cfg new file mode 100644 index 00000000000..e67b81746b8 --- /dev/null +++ b/config-model/src/test/derived/id/summary.cfg @@ -0,0 +1,11 @@ +defaultsummaryid 1814716401 +classes[0].id 1814716401 +classes[0].name "default" +classes[0].fields[0].name "uri" +classes[0].fields[0].type "longstring" +classes[0].fields[1].name "rankfeatures" +classes[0].fields[1].type "featuredata" +classes[0].fields[2].name "summaryfeatures" +classes[0].fields[2].type "featuredata" +classes[0].fields[3].name "documentid" +classes[0].fields[3].type "longstring"
\ No newline at end of file diff --git a/config-model/src/test/derived/id/summarymap.cfg b/config-model/src/test/derived/id/summarymap.cfg new file mode 100644 index 00000000000..42b6e811ee6 --- /dev/null +++ b/config-model/src/test/derived/id/summarymap.cfg @@ -0,0 +1,7 @@ +defaultoutputclass -1 +override[0].field "rankfeatures" +override[0].command "rankfeatures" +override[0].arguments "" +override[1].field "summaryfeatures" +override[1].command "summaryfeatures" +override[1].arguments ""
\ No newline at end of file diff --git a/config-model/src/test/derived/id/vsmsummary.cfg b/config-model/src/test/derived/id/vsmsummary.cfg new file mode 100644 index 00000000000..3538ba9880e --- /dev/null +++ b/config-model/src/test/derived/id/vsmsummary.cfg @@ -0,0 +1,8 @@ +outputclass "" +fieldmap[0].summary "uri" +fieldmap[0].document[0].field "uri" +fieldmap[0].command NONE +fieldmap[1].summary "rankfeatures" +fieldmap[1].command NONE +fieldmap[2].summary "summaryfeatures" +fieldmap[2].command NONE
\ No newline at end of file diff --git a/config-model/src/test/derived/indexinfo_fieldsets/index-info.cfg b/config-model/src/test/derived/indexinfo_fieldsets/index-info.cfg new file mode 100644 index 00000000000..34dbb7d5e5b --- /dev/null +++ b/config-model/src/test/derived/indexinfo_fieldsets/index-info.cfg @@ -0,0 +1,74 @@ +indexinfo[].name "indexinfo_fieldsets" +indexinfo[].command[].indexname "sddocname" +indexinfo[].command[].command "index" +indexinfo[].command[].indexname "sddocname" +indexinfo[].command[].command "word" + +indexinfo[].command[].indexname "nostemming1" +indexinfo[].command[].command "index" +indexinfo[].command[].indexname "nostemming1" +indexinfo[].command[].command "lowercase" +indexinfo[].command[].indexname "nostemming1" +indexinfo[].command[].command "normalize" + +indexinfo[].command[].indexname "nostemming2" +indexinfo[].command[].command "index" +indexinfo[].command[].indexname "nostemming2" +indexinfo[].command[].command "lowercase" +indexinfo[].command[].indexname "nostemming2" +indexinfo[].command[].command "normalize" + +indexinfo[].command[].indexname "nonormalizing1" +indexinfo[].command[].command "index" +indexinfo[].command[].indexname "nonormalizing1" +indexinfo[].command[].command "lowercase" +indexinfo[].command[].indexname "nonormalizing1" +indexinfo[].command[].command "stem:SHORTEST" + +indexinfo[].command[].indexname "nonormalizing2" +indexinfo[].command[].command "index" +indexinfo[].command[].indexname "nonormalizing2" +indexinfo[].command[].command "lowercase" +indexinfo[].command[].indexname "nonormalizing2" +indexinfo[].command[].command "stem:SHORTEST" + +indexinfo[].command[].indexname "exact1" +indexinfo[].command[].command "index" +indexinfo[].command[].indexname "exact1" +indexinfo[].command[].command "lowercase" +indexinfo[].command[].indexname "exact1" +indexinfo[].command[].command "exact @@" + +indexinfo[].command[].indexname "exact2" +indexinfo[].command[].command "index" +indexinfo[].command[].indexname "exact2" +indexinfo[].command[].command "lowercase" +indexinfo[].command[].indexname "exact2" +indexinfo[].command[].command "exact @@" + +indexinfo[].command[].indexname "rankfeatures" +indexinfo[].command[].command "index" + +indexinfo[].command[].indexname "summaryfeatures" +indexinfo[].command[].command "index" + +indexinfo[].command[].indexname "nostemming" +indexinfo[].command[].command "lowercase" +indexinfo[].command[].indexname "nostemming" +indexinfo[].command[].command "index" +indexinfo[].command[].indexname "nostemming" +indexinfo[].command[].command "normalize" + +indexinfo[].command[].indexname "nonormalizing" +indexinfo[].command[].command "lowercase" +indexinfo[].command[].indexname "nonormalizing" +indexinfo[].command[].command "index" +indexinfo[].command[].indexname "nonormalizing" +indexinfo[].command[].command "stem:SHORTEST" + +indexinfo[].command[].indexname "exact" +indexinfo[].command[].command "lowercase" +indexinfo[].command[].indexname "exact" +indexinfo[].command[].command "index" +indexinfo[].command[].indexname "exact" +indexinfo[].command[].command "exact @@" diff --git a/config-model/src/test/derived/indexinfo_fieldsets/indexinfo_fieldsets.sd b/config-model/src/test/derived/indexinfo_fieldsets/indexinfo_fieldsets.sd new file mode 100644 index 00000000000..449a5d0a02e --- /dev/null +++ b/config-model/src/test/derived/indexinfo_fieldsets/indexinfo_fieldsets.sd @@ -0,0 +1,50 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search indexinfo_fieldsets { + + document indexinfo_fieldsets { + + field nostemming1 type string { + indexing: summary | index + stemming: none + } + + field nostemming2 type string { + indexing: summary | index + stemming: none + } + + field nonormalizing1 type string { + indexing: summary | index + normalizing: none + } + + field nonormalizing2 type string { + indexing: summary | index + normalizing: none + } + + field exact1 type string { + indexing: summary | index + match: exact + } + + field exact2 type string { + indexing: summary | index + match: exact + } + + } + + fieldset nostemming { + fields: nostemming1, nostemming2 + } + + fieldset nonormalizing { + fields: nonormalizing1, nonormalizing2 + } + + fieldset exact { + fields: exact1, exact2 + } + +} diff --git a/config-model/src/test/derived/indexinfo_lowercase/index-info.cfg b/config-model/src/test/derived/indexinfo_lowercase/index-info.cfg new file mode 100644 index 00000000000..027e7533004 --- /dev/null +++ b/config-model/src/test/derived/indexinfo_lowercase/index-info.cfg @@ -0,0 +1,249 @@ +indexinfo[0].name "indexinfo_lowercase" +indexinfo[0].command[0].indexname "sddocname" +indexinfo[0].command[0].command "index" +indexinfo[0].command[1].indexname "sddocname" +indexinfo[0].command[1].command "word" +indexinfo[0].command[2].indexname "lc_attribute_src" +indexinfo[0].command[2].command "index" +indexinfo[0].command[3].indexname "lc_index_src" +indexinfo[0].command[3].command "index" +indexinfo[0].command[4].indexname "lc_summary_src" +indexinfo[0].command[4].command "index" +indexinfo[0].command[5].indexname "nc_attribute" +indexinfo[0].command[5].command "index" +indexinfo[0].command[6].indexname "nc_attribute" +indexinfo[0].command[6].command "attribute" +indexinfo[0].command[7].indexname "nc_attribute" +indexinfo[0].command[7].command "word" +indexinfo[0].command[8].indexname "nc_index" +indexinfo[0].command[8].command "index" +indexinfo[0].command[9].indexname "nc_index" +indexinfo[0].command[9].command "lowercase" +indexinfo[0].command[10].indexname "nc_index" +indexinfo[0].command[10].command "stem:SHORTEST" +indexinfo[0].command[11].indexname "nc_index" +indexinfo[0].command[11].command "normalize" +indexinfo[0].command[12].indexname "nc_summary" +indexinfo[0].command[12].command "index" +indexinfo[0].command[13].indexname "lc_attribute" +indexinfo[0].command[13].command "index" +indexinfo[0].command[14].indexname "lc_attribute" +indexinfo[0].command[14].command "lowercase" +indexinfo[0].command[15].indexname "lc_attribute" +indexinfo[0].command[15].command "attribute" +indexinfo[0].command[16].indexname "lc_attribute" +indexinfo[0].command[16].command "word" +indexinfo[0].command[17].indexname "lc_index" +indexinfo[0].command[17].command "index" +indexinfo[0].command[18].indexname "lc_index" +indexinfo[0].command[18].command "lowercase" +indexinfo[0].command[19].indexname "lc_index" +indexinfo[0].command[19].command "stem:SHORTEST" +indexinfo[0].command[20].indexname "lc_index" +indexinfo[0].command[20].command "normalize" +indexinfo[0].command[21].indexname "lc_summary" +indexinfo[0].command[21].command "index" +indexinfo[0].command[22].indexname "lc_summary" +indexinfo[0].command[22].command "lowercase" +indexinfo[0].command[23].indexname "rankfeatures" +indexinfo[0].command[23].command "index" +indexinfo[0].command[24].indexname "summaryfeatures" +indexinfo[0].command[24].command "index" +indexinfo[0].command[25].indexname "lc_set1" +indexinfo[0].command[25].command "lowercase" +indexinfo[0].command[26].indexname "lc_set1" +indexinfo[0].command[26].command "attribute" +indexinfo[0].command[27].indexname "lc_set1" +indexinfo[0].command[27].command "index" +indexinfo[0].command[28].indexname "lc_set1" +indexinfo[0].command[28].command "word" +indexinfo[0].command[29].indexname "lc_set2" +indexinfo[0].command[29].command "lowercase" +indexinfo[0].command[30].indexname "lc_set2" +indexinfo[0].command[30].command "index" +indexinfo[0].command[31].indexname "lc_set2" +indexinfo[0].command[31].command "stem:SHORTEST" +indexinfo[0].command[32].indexname "lc_set2" +indexinfo[0].command[32].command "normalize" +indexinfo[0].command[33].indexname "lc_set3" +indexinfo[0].command[33].command "lowercase" +indexinfo[0].command[34].indexname "lc_set3" +indexinfo[0].command[34].command "attribute" +indexinfo[0].command[35].indexname "lc_set3" +indexinfo[0].command[35].command "index" +indexinfo[0].command[36].indexname "lc_set4" +indexinfo[0].command[36].command "lowercase" +indexinfo[0].command[37].indexname "lc_set4" +indexinfo[0].command[37].command "index" +indexinfo[0].command[38].indexname "lc_set4" +indexinfo[0].command[38].command "stem:SHORTEST" +indexinfo[0].command[39].indexname "lc_set4" +indexinfo[0].command[39].command "normalize" +indexinfo[0].command[40].indexname "lc_set5" +indexinfo[0].command[40].command "lowercase" +indexinfo[0].command[41].indexname "lc_set5" +indexinfo[0].command[41].command "attribute" +indexinfo[0].command[42].indexname "lc_set5" +indexinfo[0].command[42].command "index" +indexinfo[0].command[43].indexname "lc_set5" +indexinfo[0].command[43].command "word" +indexinfo[0].command[44].indexname "lc_set6" +indexinfo[0].command[44].command "lowercase" +indexinfo[0].command[45].indexname "lc_set6" +indexinfo[0].command[45].command "index" +indexinfo[0].command[46].indexname "lc_set6" +indexinfo[0].command[46].command "stem:SHORTEST" +indexinfo[0].command[47].indexname "lc_set6" +indexinfo[0].command[47].command "normalize" +indexinfo[0].command[48].indexname "lc_set7" +indexinfo[0].command[48].command "lowercase" +indexinfo[0].command[49].indexname "lc_set7" +indexinfo[0].command[49].command "index" +indexinfo[0].command[50].indexname "lc_set7" +indexinfo[0].command[50].command "stem:SHORTEST" +indexinfo[0].command[51].indexname "lc_set7" +indexinfo[0].command[51].command "normalize" +indexinfo[0].command[52].indexname "nc_set1" +indexinfo[0].command[52].command "attribute" +indexinfo[0].command[53].indexname "nc_set1" +indexinfo[0].command[53].command "index" +indexinfo[0].command[54].indexname "nc_set1" +indexinfo[0].command[54].command "word" +indexinfo[0].command[55].indexname "nc_set2" +indexinfo[0].command[55].command "lowercase" +indexinfo[0].command[56].indexname "nc_set2" +indexinfo[0].command[56].command "index" +indexinfo[0].command[57].indexname "nc_set2" +indexinfo[0].command[57].command "stem:SHORTEST" +indexinfo[0].command[58].indexname "nc_set2" +indexinfo[0].command[58].command "normalize" +indexinfo[0].command[59].indexname "nc_set3" +indexinfo[0].command[59].command "attribute" +indexinfo[0].command[60].indexname "nc_set3" +indexinfo[0].command[60].command "index" +indexinfo[0].command[61].indexname "nc_set4" +indexinfo[0].command[61].command "lowercase" +indexinfo[0].command[62].indexname "nc_set4" +indexinfo[0].command[62].command "index" +indexinfo[0].command[63].indexname "nc_set4" +indexinfo[0].command[63].command "stem:SHORTEST" +indexinfo[0].command[64].indexname "nc_set4" +indexinfo[0].command[64].command "normalize" +indexinfo[0].command[65].indexname "nc_set5" +indexinfo[0].command[65].command "attribute" +indexinfo[0].command[66].indexname "nc_set5" +indexinfo[0].command[66].command "index" +indexinfo[0].command[67].indexname "nc_set5" +indexinfo[0].command[67].command "word" +indexinfo[0].command[68].indexname "nc_set6" +indexinfo[0].command[68].command "lowercase" +indexinfo[0].command[69].indexname "nc_set6" +indexinfo[0].command[69].command "index" +indexinfo[0].command[70].indexname "nc_set6" +indexinfo[0].command[70].command "stem:SHORTEST" +indexinfo[0].command[71].indexname "nc_set6" +indexinfo[0].command[71].command "normalize" +indexinfo[0].command[72].indexname "nc_set7" +indexinfo[0].command[72].command "lowercase" +indexinfo[0].command[73].indexname "nc_set7" +indexinfo[0].command[73].command "index" +indexinfo[0].command[74].indexname "nc_set7" +indexinfo[0].command[74].command "stem:SHORTEST" +indexinfo[0].command[75].indexname "nc_set7" +indexinfo[0].command[75].command "normalize" +indexinfo[0].command[76].indexname "nc_set8" +indexinfo[0].command[76].command "lowercase" +indexinfo[0].command[77].indexname "nc_set8" +indexinfo[0].command[77].command "index" +indexinfo[0].command[78].indexname "nc_set8" +indexinfo[0].command[78].command "stem:SHORTEST" +indexinfo[0].command[79].indexname "nc_set8" +indexinfo[0].command[79].command "normalize" +indexinfo[0].command[80].indexname "nc_set9" +indexinfo[0].command[80].command "lowercase" +indexinfo[0].command[81].indexname "nc_set9" +indexinfo[0].command[81].command "index" +indexinfo[0].command[82].indexname "nc_set9" +indexinfo[0].command[82].command "stem:SHORTEST" +indexinfo[0].command[83].indexname "nc_set9" +indexinfo[0].command[83].command "normalize" +indexinfo[0].command[84].indexname "nc_set10" +indexinfo[0].command[84].command "lowercase" +indexinfo[0].command[85].indexname "nc_set10" +indexinfo[0].command[85].command "attribute" +indexinfo[0].command[86].indexname "nc_set10" +indexinfo[0].command[86].command "index" +indexinfo[0].command[87].indexname "nc_set10" +indexinfo[0].command[87].command "word" +indexinfo[0].command[88].indexname "nc_set11" +indexinfo[0].command[88].command "lowercase" +indexinfo[0].command[89].indexname "nc_set11" +indexinfo[0].command[89].command "attribute" +indexinfo[0].command[90].indexname "nc_set11" +indexinfo[0].command[90].command "index" +indexinfo[0].command[91].indexname "nc_set11" +indexinfo[0].command[91].command "word" +indexinfo[0].command[92].indexname "nc_set12" +indexinfo[0].command[92].command "lowercase" +indexinfo[0].command[93].indexname "nc_set12" +indexinfo[0].command[93].command "index" +indexinfo[0].command[94].indexname "nc_set12" +indexinfo[0].command[94].command "stem:SHORTEST" +indexinfo[0].command[95].indexname "nc_set12" +indexinfo[0].command[95].command "normalize" +indexinfo[0].command[96].indexname "nc_set13" +indexinfo[0].command[96].command "lowercase" +indexinfo[0].command[97].indexname "nc_set13" +indexinfo[0].command[97].command "index" +indexinfo[0].command[98].indexname "nc_set13" +indexinfo[0].command[98].command "stem:SHORTEST" +indexinfo[0].command[99].indexname "nc_set13" +indexinfo[0].command[99].command "normalize" +indexinfo[0].command[100].indexname "nc_set14" +indexinfo[0].command[100].command "lowercase" +indexinfo[0].command[101].indexname "nc_set14" +indexinfo[0].command[101].command "index" +indexinfo[0].command[102].indexname "nc_set14" +indexinfo[0].command[102].command "stem:SHORTEST" +indexinfo[0].command[103].indexname "nc_set14" +indexinfo[0].command[103].command "normalize" +indexinfo[0].command[104].indexname "nc_set15" +indexinfo[0].command[104].command "lowercase" +indexinfo[0].command[105].indexname "nc_set15" +indexinfo[0].command[105].command "index" +indexinfo[0].command[106].indexname "nc_set15" +indexinfo[0].command[106].command "stem:SHORTEST" +indexinfo[0].command[107].indexname "nc_set15" +indexinfo[0].command[107].command "normalize" +indexinfo[0].command[108].indexname "nc_set16" +indexinfo[0].command[108].command "lowercase" +indexinfo[0].command[109].indexname "nc_set16" +indexinfo[0].command[109].command "index" +indexinfo[0].command[110].indexname "nc_set16" +indexinfo[0].command[110].command "stem:SHORTEST" +indexinfo[0].command[111].indexname "nc_set16" +indexinfo[0].command[111].command "normalize" +indexinfo[0].command[112].indexname "nc_set17" +indexinfo[0].command[112].command "lowercase" +indexinfo[0].command[113].indexname "nc_set17" +indexinfo[0].command[113].command "index" +indexinfo[0].command[114].indexname "nc_set17" +indexinfo[0].command[114].command "stem:SHORTEST" +indexinfo[0].command[115].indexname "nc_set17" +indexinfo[0].command[115].command "normalize" +indexinfo[0].command[116].indexname "nc_set18" +indexinfo[0].command[116].command "lowercase" +indexinfo[0].command[117].indexname "nc_set18" +indexinfo[0].command[117].command "index" +indexinfo[0].command[118].indexname "nc_set18" +indexinfo[0].command[118].command "stem:SHORTEST" +indexinfo[0].command[119].indexname "nc_set18" +indexinfo[0].command[119].command "normalize" +indexinfo[0].command[120].indexname "nc_set19" +indexinfo[0].command[120].command "lowercase" +indexinfo[0].command[121].indexname "nc_set19" +indexinfo[0].command[121].command "index" +indexinfo[0].command[122].indexname "nc_set19" +indexinfo[0].command[122].command "stem:SHORTEST" +indexinfo[0].command[123].indexname "nc_set19" +indexinfo[0].command[123].command "normalize"
\ No newline at end of file diff --git a/config-model/src/test/derived/indexinfo_lowercase/indexinfo_lowercase.sd b/config-model/src/test/derived/indexinfo_lowercase/indexinfo_lowercase.sd new file mode 100644 index 00000000000..951a36d0817 --- /dev/null +++ b/config-model/src/test/derived/indexinfo_lowercase/indexinfo_lowercase.sd @@ -0,0 +1,120 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search indexinfo_lowercase { + + document indexinfo_lowercase { + field lc_attribute_src type string { + + } + field lc_index_src type string { + + } + field lc_summary_src type string { + + } + + # these fields do not lower case any input, and should not lower case query + field nc_attribute type string { + indexing: attribute + } + field nc_index type string { + indexing: index + } + field nc_summary type string { + indexing: summary + } + } + + # these fields lower case all input, and should lower case query + field lc_attribute type string { + indexing: input lc_attribute_src | lowercase | attribute + } + field lc_index type string { + indexing: input lc_index_src | lowercase | index + } + field lc_summary type string { + indexing: input lc_summary_src | lowercase | summary + } + + # these field sets contain only lower cased fields, and should lower case query + fieldset lc_set1 { + fields: lc_attribute + } + fieldset lc_set2 { + fields: lc_index + } + fieldset lc_set3 { + fields: lc_summary + } + fieldset lc_set4 { + fields: lc_attribute, lc_index + } + fieldset lc_set5 { + fields: lc_attribute, lc_summary + } + fieldset lc_set6 { + fields: lc_index, lc_summary + } + fieldset lc_set7 { + fields: lc_attribute, lc_index, lc_summary + } + + # these field sets contain at least one non-lower cased field, and should not lower case query + fieldset nc_set1 { + fields: nc_attribute + } + fieldset nc_set2 { + fields: nc_index + } + fieldset nc_set3 { + fields: nc_summary + } + fieldset nc_set4 { + fields: nc_attribute, nc_index + } + fieldset nc_set5 { + fields: nc_attribute, nc_summary + } + fieldset nc_set6 { + fields: nc_index, nc_summary + } + fieldset nc_set7 { + fields: nc_attribute, nc_index, nc_summary + } + fieldset nc_set8 { + fields: lc_attribute, nc_index + } + fieldset nc_set9 { + fields: nc_attribute, lc_index + } + fieldset nc_set10 { + fields: lc_attribute, nc_summary + } + fieldset nc_set11 { + fields: nc_attribute, lc_summary + } + fieldset nc_set12 { + fields: lc_index, nc_summary + } + fieldset nc_set13 { + fields: nc_index, lc_summary + } + fieldset nc_set14 { + fields: lc_attribute, nc_index, nc_summary + } + fieldset nc_set15 { + fields: lc_attribute, lc_index, nc_summary + } + fieldset nc_set16 { + fields: lc_attribute, nc_index, lc_summary + } + fieldset nc_set17 { + fields: nc_attribute, lc_index, nc_summary + } + fieldset nc_set18 { + fields: nc_attribute, lc_index, lc_summary + } + fieldset nc_set19 { + fields: nc_attribute, nc_index, lc_summary + } + +} diff --git a/config-model/src/test/derived/indexschema/index-info.cfg b/config-model/src/test/derived/indexschema/index-info.cfg new file mode 100644 index 00000000000..ca5818b9b88 --- /dev/null +++ b/config-model/src/test/derived/indexschema/index-info.cfg @@ -0,0 +1,311 @@ +indexinfo[0].name "indexschema" +indexinfo[0].command[0].indexname "sddocname" +indexinfo[0].command[0].command "index" +indexinfo[0].command[1].indexname "sddocname" +indexinfo[0].command[1].command "word" +indexinfo[0].command[2].indexname "sa" +indexinfo[0].command[2].command "index" +indexinfo[0].command[3].indexname "sa" +indexinfo[0].command[3].command "lowercase" +indexinfo[0].command[4].indexname "sa" +indexinfo[0].command[4].command "stem:SHORTEST" +indexinfo[0].command[5].indexname "sa" +indexinfo[0].command[5].command "normalize" +indexinfo[0].command[6].indexname "sb" +indexinfo[0].command[6].command "index" +indexinfo[0].command[7].indexname "sb" +indexinfo[0].command[7].command "lowercase" +indexinfo[0].command[8].indexname "sb" +indexinfo[0].command[8].command "stem:SHORTEST" +indexinfo[0].command[9].indexname "sb" +indexinfo[0].command[9].command "normalize" +indexinfo[0].command[10].indexname "sc" +indexinfo[0].command[10].command "index" +indexinfo[0].command[11].indexname "sc" +indexinfo[0].command[11].command "lowercase" +indexinfo[0].command[12].indexname "sc" +indexinfo[0].command[12].command "stem:SHORTEST" +indexinfo[0].command[13].indexname "sc" +indexinfo[0].command[13].command "normalize" +indexinfo[0].command[14].indexname "sd" +indexinfo[0].command[14].command "index" +indexinfo[0].command[15].indexname "sd" +indexinfo[0].command[15].command "lowercase" +indexinfo[0].command[16].indexname "sd" +indexinfo[0].command[16].command "stem:SHORTEST" +indexinfo[0].command[17].indexname "sd" +indexinfo[0].command[17].command "normalize" +indexinfo[0].command[18].indexname "sd" +indexinfo[0].command[18].command "literal-boost" +indexinfo[0].command[19].indexname "pos.x" +indexinfo[0].command[19].command "index" +indexinfo[0].command[20].indexname "pos.x" +indexinfo[0].command[20].command "numerical" +indexinfo[0].command[21].indexname "pos.y" +indexinfo[0].command[21].command "index" +indexinfo[0].command[22].indexname "pos.y" +indexinfo[0].command[22].command "numerical" +indexinfo[0].command[23].indexname "pos" +indexinfo[0].command[23].command "default-position" +indexinfo[0].command[24].indexname "pos" +indexinfo[0].command[24].command "index" +indexinfo[0].command[25].indexname "se" +indexinfo[0].command[25].command "index" +indexinfo[0].command[26].indexname "se" +indexinfo[0].command[26].command "attribute" +indexinfo[0].command[27].indexname "se" +indexinfo[0].command[27].command "word" +indexinfo[0].command[28].indexname "sf" +indexinfo[0].command[28].command "index" +indexinfo[0].command[29].indexname "sf" +indexinfo[0].command[29].command "lowercase" +indexinfo[0].command[30].indexname "sf" +indexinfo[0].command[30].command "multivalue" +indexinfo[0].command[31].indexname "sf" +indexinfo[0].command[31].command "stem:SHORTEST" +indexinfo[0].command[32].indexname "sf" +indexinfo[0].command[32].command "normalize" +indexinfo[0].command[33].indexname "sg" +indexinfo[0].command[33].command "index" +indexinfo[0].command[34].indexname "sg" +indexinfo[0].command[34].command "lowercase" +indexinfo[0].command[35].indexname "sg" +indexinfo[0].command[35].command "multivalue" +indexinfo[0].command[36].indexname "sg" +indexinfo[0].command[36].command "stem:SHORTEST" +indexinfo[0].command[37].indexname "sg" +indexinfo[0].command[37].command "normalize" +indexinfo[0].command[38].indexname "sh" +indexinfo[0].command[38].command "index" +indexinfo[0].command[39].indexname "sh" +indexinfo[0].command[39].command "lowercase" +indexinfo[0].command[40].indexname "sh" +indexinfo[0].command[40].command "fullurl" +indexinfo[0].command[41].indexname "sh.sh" +indexinfo[0].command[41].command "fullurl" +indexinfo[0].command[42].indexname "sh.sh" +indexinfo[0].command[42].command "lowercase" +indexinfo[0].command[43].indexname "sh.path" +indexinfo[0].command[43].command "fullurl" +indexinfo[0].command[44].indexname "sh.path" +indexinfo[0].command[44].command "lowercase" +indexinfo[0].command[45].indexname "sh.query" +indexinfo[0].command[45].command "fullurl" +indexinfo[0].command[46].indexname "sh.query" +indexinfo[0].command[46].command "lowercase" +indexinfo[0].command[47].indexname "sh.hostname" +indexinfo[0].command[47].command "urlhost" +indexinfo[0].command[48].indexname "sh.hostname" +indexinfo[0].command[48].command "lowercase" +indexinfo[0].command[49].indexname "si" +indexinfo[0].command[49].command "index" +indexinfo[0].command[50].indexname "si" +indexinfo[0].command[50].command "lowercase" +indexinfo[0].command[51].indexname "si" +indexinfo[0].command[51].command "stem:SHORTEST" +indexinfo[0].command[52].indexname "si" +indexinfo[0].command[52].command "normalize" +indexinfo[0].command[53].indexname "exact1" +indexinfo[0].command[53].command "index" +indexinfo[0].command[54].indexname "exact1" +indexinfo[0].command[54].command "lowercase" +indexinfo[0].command[55].indexname "exact1" +indexinfo[0].command[55].command "exact @@" +indexinfo[0].command[56].indexname "exact2" +indexinfo[0].command[56].command "index" +indexinfo[0].command[57].indexname "exact2" +indexinfo[0].command[57].command "lowercase" +indexinfo[0].command[58].indexname "exact2" +indexinfo[0].command[58].command "exact @@" +indexinfo[0].command[59].indexname "ia" +indexinfo[0].command[59].command "index" +indexinfo[0].command[60].indexname "ia" +indexinfo[0].command[60].command "attribute" +indexinfo[0].command[61].indexname "ia" +indexinfo[0].command[61].command "numerical" +indexinfo[0].command[62].indexname "ib" +indexinfo[0].command[62].command "index" +indexinfo[0].command[63].indexname "ib" +indexinfo[0].command[63].command "attribute" +indexinfo[0].command[64].indexname "ib" +indexinfo[0].command[64].command "numerical" +indexinfo[0].command[65].indexname "ic" +indexinfo[0].command[65].command "index" +indexinfo[0].command[66].indexname "ic" +indexinfo[0].command[66].command "attribute" +indexinfo[0].command[67].indexname "ic" +indexinfo[0].command[67].command "numerical" +indexinfo[0].command[68].indexname "nostemstring1" +indexinfo[0].command[68].command "index" +indexinfo[0].command[69].indexname "nostemstring1" +indexinfo[0].command[69].command "lowercase" +indexinfo[0].command[70].indexname "nostemstring1" +indexinfo[0].command[70].command "normalize" +indexinfo[0].command[71].indexname "nostemstring2" +indexinfo[0].command[71].command "index" +indexinfo[0].command[72].indexname "nostemstring2" +indexinfo[0].command[72].command "lowercase" +indexinfo[0].command[73].indexname "nostemstring2" +indexinfo[0].command[73].command "normalize" +indexinfo[0].command[74].indexname "nostemstring3" +indexinfo[0].command[74].command "index" +indexinfo[0].command[75].indexname "nostemstring3" +indexinfo[0].command[75].command "lowercase" +indexinfo[0].command[76].indexname "nostemstring3" +indexinfo[0].command[76].command "normalize" +indexinfo[0].command[77].indexname "nostemstring4" +indexinfo[0].command[77].command "index" +indexinfo[0].command[78].indexname "nostemstring4" +indexinfo[0].command[78].command "lowercase" +indexinfo[0].command[79].indexname "nostemstring4" +indexinfo[0].command[79].command "normalize" +indexinfo[0].command[80].indexname "fs9" +indexinfo[0].command[80].command "index" +indexinfo[0].command[81].indexname "fs9" +indexinfo[0].command[81].command "lowercase" +indexinfo[0].command[82].indexname "fs9" +indexinfo[0].command[82].command "stem:SHORTEST" +indexinfo[0].command[83].indexname "fs9" +indexinfo[0].command[83].command "normalize" +indexinfo[0].command[84].indexname "f10.text" +indexinfo[0].command[84].command "index" +indexinfo[0].command[85].indexname "f10.text" +indexinfo[0].command[85].command "lowercase" +indexinfo[0].command[86].indexname "f10.text" +indexinfo[0].command[86].command "stem:SHORTEST" +indexinfo[0].command[87].indexname "f10.text" +indexinfo[0].command[87].command "normalize" +indexinfo[0].command[88].indexname "f10.name" +indexinfo[0].command[88].command "index" +indexinfo[0].command[89].indexname "f10" +indexinfo[0].command[89].command "index" +indexinfo[0].command[90].indexname "f10" +indexinfo[0].command[90].command "multivalue" +indexinfo[0].command[91].indexname "pos.distance" +indexinfo[0].command[91].command "index" +indexinfo[0].command[92].indexname "pos.distance" +indexinfo[0].command[92].command "numerical" +indexinfo[0].command[93].indexname "pos.position" +indexinfo[0].command[93].command "index" +indexinfo[0].command[94].indexname "pos.position" +indexinfo[0].command[94].command "multivalue" +indexinfo[0].command[95].indexname "pos_zcurve" +indexinfo[0].command[95].command "index" +indexinfo[0].command[96].indexname "pos_zcurve" +indexinfo[0].command[96].command "attribute" +indexinfo[0].command[97].indexname "pos_zcurve" +indexinfo[0].command[97].command "fast-search" +indexinfo[0].command[98].indexname "pos_zcurve" +indexinfo[0].command[98].command "numerical" +indexinfo[0].command[99].indexname "rankfeatures" +indexinfo[0].command[99].command "index" +indexinfo[0].command[100].indexname "sd_literal" +indexinfo[0].command[100].command "index" +indexinfo[0].command[101].indexname "sd_literal" +indexinfo[0].command[101].command "lowercase" +indexinfo[0].command[102].indexname "searchfield1" +indexinfo[0].command[102].command "index" +indexinfo[0].command[103].indexname "searchfield2" +indexinfo[0].command[103].command "index" +indexinfo[0].command[104].indexname "searchfield2" +indexinfo[0].command[104].command "numerical" +indexinfo[0].command[105].indexname "sh.fragment" +indexinfo[0].command[105].command "index" +indexinfo[0].command[106].indexname "sh.host" +indexinfo[0].command[106].command "index" +indexinfo[0].command[107].indexname "sh.hostname" +indexinfo[0].command[107].command "index" +indexinfo[0].command[108].indexname "sh.path" +indexinfo[0].command[108].command "index" +indexinfo[0].command[109].indexname "sh.port" +indexinfo[0].command[109].command "index" +indexinfo[0].command[110].indexname "sh.query" +indexinfo[0].command[110].command "index" +indexinfo[0].command[111].indexname "sh.scheme" +indexinfo[0].command[111].command "index" +indexinfo[0].command[112].indexname "summaryfeatures" +indexinfo[0].command[112].command "index" +indexinfo[0].command[113].indexname "sa" +indexinfo[0].command[113].command "dynteaser" +indexinfo[0].command[114].indexname "fs1" +indexinfo[0].command[114].command "lowercase" +indexinfo[0].command[115].indexname "fs1" +indexinfo[0].command[115].command "multivalue" +indexinfo[0].command[116].indexname "fs1" +indexinfo[0].command[116].command "index" +indexinfo[0].command[117].indexname "fs1" +indexinfo[0].command[117].command "stem:SHORTEST" +indexinfo[0].command[118].indexname "fs1" +indexinfo[0].command[118].command "normalize" +indexinfo[0].command[119].indexname "fs2" +indexinfo[0].command[119].command "lowercase" +indexinfo[0].command[120].indexname "fs2" +indexinfo[0].command[120].command "index" +indexinfo[0].command[121].indexname "fs2" +indexinfo[0].command[121].command "stem:SHORTEST" +indexinfo[0].command[122].indexname "fs2" +indexinfo[0].command[122].command "normalize" +indexinfo[0].command[123].indexname "fs3" +indexinfo[0].command[123].command "attribute" +indexinfo[0].command[124].indexname "fs3" +indexinfo[0].command[124].command "index" +indexinfo[0].command[125].indexname "fs4" +indexinfo[0].command[125].command "lowercase" +indexinfo[0].command[126].indexname "fs4" +indexinfo[0].command[126].command "index" +indexinfo[0].command[127].indexname "fs4" +indexinfo[0].command[127].command "stem:SHORTEST" +indexinfo[0].command[128].indexname "fs4" +indexinfo[0].command[128].command "normalize" +indexinfo[0].command[129].indexname "onlyattrib" +indexinfo[0].command[129].command "attribute" +indexinfo[0].command[130].indexname "onlyattrib" +indexinfo[0].command[130].command "index" +indexinfo[0].command[131].indexname "onlyattrib" +indexinfo[0].command[131].command "word" +indexinfo[0].command[132].indexname "exactfields" +indexinfo[0].command[132].command "lowercase" +indexinfo[0].command[133].indexname "exactfields" +indexinfo[0].command[133].command "index" +indexinfo[0].command[134].indexname "exactfields" +indexinfo[0].command[134].command "exact @@" +indexinfo[0].command[135].indexname "exactexplicit" +indexinfo[0].command[135].command "exact ARNOLD" +indexinfo[0].command[136].indexname "exactexplicit" +indexinfo[0].command[136].command "dynteaser" +indexinfo[0].command[137].indexname "exactexplicit2" +indexinfo[0].command[137].command "lowercase" +indexinfo[0].command[138].indexname "exactexplicit2" +indexinfo[0].command[138].command "index" +indexinfo[0].command[139].indexname "exactexplicit2" +indexinfo[0].command[139].command "exact Arnold" +indexinfo[0].command[140].indexname "gram" +indexinfo[0].command[140].command "lowercase" +indexinfo[0].command[141].indexname "gram" +indexinfo[0].command[141].command "index" +indexinfo[0].command[142].indexname "gram" +indexinfo[0].command[142].command "stem:SHORTEST" +indexinfo[0].command[143].indexname "gram" +indexinfo[0].command[143].command "normalize" +indexinfo[0].command[144].indexname "gram" +indexinfo[0].command[144].command "ngram 2" +indexinfo[0].command[145].indexname "nostem1" +indexinfo[0].command[145].command "lowercase" +indexinfo[0].command[146].indexname "nostem1" +indexinfo[0].command[146].command "index" +indexinfo[0].command[147].indexname "nostem1" +indexinfo[0].command[147].command "normalize" +indexinfo[0].command[148].indexname "nostem2" +indexinfo[0].command[148].command "lowercase" +indexinfo[0].command[149].indexname "nostem2" +indexinfo[0].command[149].command "index" +indexinfo[0].command[150].indexname "nostem2" +indexinfo[0].command[150].command "normalize" +indexinfo[0].command[151].indexname "default" +indexinfo[0].command[151].command "lowercase" +indexinfo[0].command[152].indexname "default" +indexinfo[0].command[152].command "index" +indexinfo[0].command[153].indexname "default" +indexinfo[0].command[153].command "stem:SHORTEST" +indexinfo[0].command[154].indexname "default" +indexinfo[0].command[154].command "normalize"
\ No newline at end of file diff --git a/config-model/src/test/derived/indexschema/indexschema.cfg b/config-model/src/test/derived/indexschema/indexschema.cfg new file mode 100644 index 00000000000..459d2ff37b4 --- /dev/null +++ b/config-model/src/test/derived/indexschema/indexschema.cfg @@ -0,0 +1,221 @@ +indexfield[0].name "sa" +indexfield[0].indextype VESPA +indexfield[0].datatype STRING +indexfield[0].collectiontype SINGLE +indexfield[0].prefix false +indexfield[0].phrases false +indexfield[0].positions true +indexfield[0].averageelementlen 512 +indexfield[1].name "sb" +indexfield[1].indextype VESPA +indexfield[1].datatype STRING +indexfield[1].collectiontype SINGLE +indexfield[1].prefix false +indexfield[1].phrases false +indexfield[1].positions true +indexfield[1].averageelementlen 512 +indexfield[2].name "sc" +indexfield[2].indextype VESPA +indexfield[2].datatype STRING +indexfield[2].collectiontype SINGLE +indexfield[2].prefix false +indexfield[2].phrases false +indexfield[2].positions true +indexfield[2].averageelementlen 512 +indexfield[3].name "sd" +indexfield[3].indextype VESPA +indexfield[3].datatype STRING +indexfield[3].collectiontype SINGLE +indexfield[3].prefix false +indexfield[3].phrases false +indexfield[3].positions true +indexfield[3].averageelementlen 512 +indexfield[4].name "sf" +indexfield[4].indextype VESPA +indexfield[4].datatype STRING +indexfield[4].collectiontype ARRAY +indexfield[4].prefix false +indexfield[4].phrases false +indexfield[4].positions true +indexfield[4].averageelementlen 512 +indexfield[5].name "sg" +indexfield[5].indextype VESPA +indexfield[5].datatype STRING +indexfield[5].collectiontype WEIGHTEDSET +indexfield[5].prefix false +indexfield[5].phrases false +indexfield[5].positions true +indexfield[5].averageelementlen 512 +indexfield[6].name "sh" +indexfield[6].indextype VESPA +indexfield[6].datatype STRING +indexfield[6].collectiontype SINGLE +indexfield[6].prefix false +indexfield[6].phrases false +indexfield[6].positions true +indexfield[6].averageelementlen 512 +indexfield[7].name "si" +indexfield[7].indextype VESPA +indexfield[7].datatype STRING +indexfield[7].collectiontype SINGLE +indexfield[7].prefix true +indexfield[7].phrases false +indexfield[7].positions true +indexfield[7].averageelementlen 512 +indexfield[8].name "exact1" +indexfield[8].indextype VESPA +indexfield[8].datatype STRING +indexfield[8].collectiontype SINGLE +indexfield[8].prefix false +indexfield[8].phrases false +indexfield[8].positions true +indexfield[8].averageelementlen 512 +indexfield[9].name "exact2" +indexfield[9].indextype VESPA +indexfield[9].datatype STRING +indexfield[9].collectiontype SINGLE +indexfield[9].prefix false +indexfield[9].phrases false +indexfield[9].positions true +indexfield[9].averageelementlen 512 +indexfield[10].name "nostemstring1" +indexfield[10].indextype VESPA +indexfield[10].datatype STRING +indexfield[10].collectiontype SINGLE +indexfield[10].prefix false +indexfield[10].phrases false +indexfield[10].positions true +indexfield[10].averageelementlen 512 +indexfield[11].name "nostemstring2" +indexfield[11].indextype VESPA +indexfield[11].datatype STRING +indexfield[11].collectiontype SINGLE +indexfield[11].prefix false +indexfield[11].phrases false +indexfield[11].positions true +indexfield[11].averageelementlen 512 +indexfield[12].name "nostemstring3" +indexfield[12].indextype VESPA +indexfield[12].datatype STRING +indexfield[12].collectiontype SINGLE +indexfield[12].prefix false +indexfield[12].phrases false +indexfield[12].positions true +indexfield[12].averageelementlen 512 +indexfield[13].name "nostemstring4" +indexfield[13].indextype VESPA +indexfield[13].datatype STRING +indexfield[13].collectiontype SINGLE +indexfield[13].prefix false +indexfield[13].phrases false +indexfield[13].positions true +indexfield[13].averageelementlen 512 +indexfield[14].name "fs9" +indexfield[14].indextype VESPA +indexfield[14].datatype STRING +indexfield[14].collectiontype SINGLE +indexfield[14].prefix false +indexfield[14].phrases false +indexfield[14].positions true +indexfield[14].averageelementlen 512 +indexfield[15].name "sd_literal" +indexfield[15].indextype VESPA +indexfield[15].datatype STRING +indexfield[15].collectiontype SINGLE +indexfield[15].prefix false +indexfield[15].phrases false +indexfield[15].positions true +indexfield[15].averageelementlen 512 +indexfield[16].name "sh.fragment" +indexfield[16].indextype VESPA +indexfield[16].datatype STRING +indexfield[16].collectiontype SINGLE +indexfield[16].prefix false +indexfield[16].phrases false +indexfield[16].positions true +indexfield[16].averageelementlen 512 +indexfield[17].name "sh.host" +indexfield[17].indextype VESPA +indexfield[17].datatype STRING +indexfield[17].collectiontype SINGLE +indexfield[17].prefix false +indexfield[17].phrases false +indexfield[17].positions true +indexfield[17].averageelementlen 512 +indexfield[18].name "sh.hostname" +indexfield[18].indextype VESPA +indexfield[18].datatype STRING +indexfield[18].collectiontype SINGLE +indexfield[18].prefix false +indexfield[18].phrases false +indexfield[18].positions true +indexfield[18].averageelementlen 512 +indexfield[19].name "sh.path" +indexfield[19].indextype VESPA +indexfield[19].datatype STRING +indexfield[19].collectiontype SINGLE +indexfield[19].prefix false +indexfield[19].phrases false +indexfield[19].positions true +indexfield[19].averageelementlen 512 +indexfield[20].name "sh.port" +indexfield[20].indextype VESPA +indexfield[20].datatype STRING +indexfield[20].collectiontype SINGLE +indexfield[20].prefix false +indexfield[20].phrases false +indexfield[20].positions true +indexfield[20].averageelementlen 512 +indexfield[21].name "sh.query" +indexfield[21].indextype VESPA +indexfield[21].datatype STRING +indexfield[21].collectiontype SINGLE +indexfield[21].prefix false +indexfield[21].phrases false +indexfield[21].positions true +indexfield[21].averageelementlen 512 +indexfield[22].name "sh.scheme" +indexfield[22].indextype VESPA +indexfield[22].datatype STRING +indexfield[22].collectiontype SINGLE +indexfield[22].prefix false +indexfield[22].phrases false +indexfield[22].positions true +indexfield[22].averageelementlen 512 +fieldset[0].name "fs9" +fieldset[0].field[0].name "se" +fieldset[1].name "fs1" +fieldset[1].field[0].name "se" +fieldset[1].field[1].name "sf" +fieldset[1].field[2].name "sg" +fieldset[2].name "fs2" +fieldset[2].field[0].name "si" +fieldset[3].name "fs3" +fieldset[3].field[0].name "ib" +fieldset[3].field[1].name "ic" +fieldset[4].name "fs4" +fieldset[4].field[0].name "sa" +fieldset[4].field[1].name "sb" +fieldset[5].name "onlyattrib" +fieldset[5].field[0].name "se" +fieldset[6].name "exactfields" +fieldset[6].field[0].name "exact1" +fieldset[6].field[1].name "exact2" +fieldset[7].name "exactexplicit" +fieldset[7].field[0].name "sa" +fieldset[7].field[1].name "sb" +fieldset[8].name "exactexplicit2" +fieldset[8].field[0].name "sc" +fieldset[8].field[1].name "sd" +fieldset[9].name "gram" +fieldset[9].field[0].name "sc" +fieldset[9].field[1].name "sd" +fieldset[10].name "nostem1" +fieldset[10].field[0].name "nostemstring1" +fieldset[10].field[1].name "nostemstring2" +fieldset[11].name "nostem2" +fieldset[11].field[0].name "nostemstring3" +fieldset[11].field[1].name "nostemstring4" +fieldset[12].name "default" +fieldset[12].field[0].name "sb" +fieldset[12].field[1].name "sc"
\ No newline at end of file diff --git a/config-model/src/test/derived/indexschema/indexschema.sd b/config-model/src/test/derived/indexschema/indexschema.sd new file mode 100644 index 00000000000..60c732c7c94 --- /dev/null +++ b/config-model/src/test/derived/indexschema/indexschema.sd @@ -0,0 +1,161 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search indexschema { + + field searchfield1 type string {} + field searchfield2 type int {} + + document indexschema { + struct part { + field text type string {} + field name type string {} + } + + # string fields + field sa type string { + indexing: index + summary: dynamic + } + field sb type string { + indexing: index + } + field sc type string { + indexing: index + } + field sd type string { + indexing: index + rank:literal + } + field pos type position { + indexing: attribute + } + field se type string { + indexing: attribute + } + field sf type array<string> { + indexing: index + } + field sg type weightedset<string> { + indexing: index + } + field sh type uri { + indexing: index + } + field si type string { + indexing: index + index { + prefix + } + } + field exact1 type string { + indexing: index + match: exact + } + field exact2 type string { + indexing: index + match { + exact + } + } + + # integer fields + field ia type int { + indexing: index + } + field ib type int { + indexing: index + } + field ic type int { + indexing: attribute + } + + field nostemstring1 type string { + indexing: index | summary + index { + stemming: none + } + } + + field nostemstring2 type string { + indexing: index | summary + index { + stemming: none + } + } + + field nostemstring3 type string { + indexing: index | summary + stemming: none + } + + field nostemstring4 type string { + indexing: index | summary + stemming: none + } + + field fs9 type string { + indexing:index|summary + } + + field f10 type array<part> { + struct-field text { + indexing: index|summary + } + } + + } + fieldset fs9 { + fields:se + } + fieldset fs1 { + fields: se, sf, sg + } + fieldset fs2 { + fields: si + } + fieldset fs3 { + fields: ib, ic + } + fieldset fs4 { + fields: sa, sb + } + fieldset onlyattrib { + fields: se + } + fieldset exactfields { + fields: exact1, exact2 + } + + fieldset exactexplicit { + fields:sa, sb + query-command: "exact ARNOLD" + query-command: dynteaser + } + + fieldset exactexplicit2 { + fields:sc, sd + match { + exact + exact-terminator: "Arnold" + } + } + + fieldset gram { + fields: sc, sd + match: gram + } + + fieldset nostem1 { + fields: nostemstring1, nostemstring2 + } + + fieldset nostem2 { + fields: nostemstring3, nostemstring4 + } + + fieldset default { + fields: sb, sc + } + + +} + diff --git a/config-model/src/test/derived/indexschema/vsmfields.cfg b/config-model/src/test/derived/indexschema/vsmfields.cfg new file mode 100644 index 00000000000..74d41e1cb6f --- /dev/null +++ b/config-model/src/test/derived/indexschema/vsmfields.cfg @@ -0,0 +1,194 @@ +documentverificationlevel 0 +searchall 1 +fieldspec[0].name "sa" +fieldspec[0].searchmethod AUTOUTF8 +fieldspec[0].arg1 "" +fieldspec[0].maxlength 1048576 +fieldspec[0].fieldtype INDEX +fieldspec[1].name "sb" +fieldspec[1].searchmethod AUTOUTF8 +fieldspec[1].arg1 "" +fieldspec[1].maxlength 1048576 +fieldspec[1].fieldtype INDEX +fieldspec[2].name "sc" +fieldspec[2].searchmethod AUTOUTF8 +fieldspec[2].arg1 "" +fieldspec[2].maxlength 1048576 +fieldspec[2].fieldtype INDEX +fieldspec[3].name "sd" +fieldspec[3].searchmethod AUTOUTF8 +fieldspec[3].arg1 "" +fieldspec[3].maxlength 1048576 +fieldspec[3].fieldtype INDEX +fieldspec[4].name "se" +fieldspec[4].searchmethod AUTOUTF8 +fieldspec[4].arg1 "word" +fieldspec[4].maxlength 1048576 +fieldspec[4].fieldtype ATTRIBUTE +fieldspec[5].name "sf" +fieldspec[5].searchmethod AUTOUTF8 +fieldspec[5].arg1 "" +fieldspec[5].maxlength 1048576 +fieldspec[5].fieldtype INDEX +fieldspec[6].name "sg" +fieldspec[6].searchmethod AUTOUTF8 +fieldspec[6].arg1 "" +fieldspec[6].maxlength 1048576 +fieldspec[6].fieldtype INDEX +fieldspec[7].name "sh" +fieldspec[7].searchmethod AUTOUTF8 +fieldspec[7].arg1 "" +fieldspec[7].maxlength 1048576 +fieldspec[7].fieldtype INDEX +fieldspec[8].name "si" +fieldspec[8].searchmethod AUTOUTF8 +fieldspec[8].arg1 "" +fieldspec[8].maxlength 1048576 +fieldspec[8].fieldtype INDEX +fieldspec[9].name "exact1" +fieldspec[9].searchmethod AUTOUTF8 +fieldspec[9].arg1 "exact" +fieldspec[9].maxlength 1048576 +fieldspec[9].fieldtype INDEX +fieldspec[10].name "exact2" +fieldspec[10].searchmethod AUTOUTF8 +fieldspec[10].arg1 "exact" +fieldspec[10].maxlength 1048576 +fieldspec[10].fieldtype INDEX +fieldspec[11].name "ia" +fieldspec[11].searchmethod INT32 +fieldspec[11].arg1 "" +fieldspec[11].maxlength 1048576 +fieldspec[11].fieldtype ATTRIBUTE +fieldspec[12].name "ib" +fieldspec[12].searchmethod INT32 +fieldspec[12].arg1 "" +fieldspec[12].maxlength 1048576 +fieldspec[12].fieldtype ATTRIBUTE +fieldspec[13].name "ic" +fieldspec[13].searchmethod INT32 +fieldspec[13].arg1 "" +fieldspec[13].maxlength 1048576 +fieldspec[13].fieldtype ATTRIBUTE +fieldspec[14].name "nostemstring1" +fieldspec[14].searchmethod AUTOUTF8 +fieldspec[14].arg1 "" +fieldspec[14].maxlength 1048576 +fieldspec[14].fieldtype INDEX +fieldspec[15].name "nostemstring2" +fieldspec[15].searchmethod AUTOUTF8 +fieldspec[15].arg1 "" +fieldspec[15].maxlength 1048576 +fieldspec[15].fieldtype INDEX +fieldspec[16].name "nostemstring3" +fieldspec[16].searchmethod AUTOUTF8 +fieldspec[16].arg1 "" +fieldspec[16].maxlength 1048576 +fieldspec[16].fieldtype INDEX +fieldspec[17].name "nostemstring4" +fieldspec[17].searchmethod AUTOUTF8 +fieldspec[17].arg1 "" +fieldspec[17].maxlength 1048576 +fieldspec[17].fieldtype INDEX +fieldspec[18].name "fs9" +fieldspec[18].searchmethod AUTOUTF8 +fieldspec[18].arg1 "" +fieldspec[18].maxlength 1048576 +fieldspec[18].fieldtype INDEX +fieldspec[19].name "f10.text" +fieldspec[19].searchmethod AUTOUTF8 +fieldspec[19].arg1 "" +fieldspec[19].maxlength 1048576 +fieldspec[19].fieldtype INDEX +fieldspec[20].name "sd_literal" +fieldspec[20].searchmethod AUTOUTF8 +fieldspec[20].arg1 "" +fieldspec[20].maxlength 1048576 +fieldspec[20].fieldtype INDEX +fieldspec[21].name "pos_zcurve" +fieldspec[21].searchmethod INT64 +fieldspec[21].arg1 "" +fieldspec[21].maxlength 1048576 +fieldspec[21].fieldtype ATTRIBUTE +documenttype[0].name "indexschema" +documenttype[0].index[0].name "sa" +documenttype[0].index[0].field[0].name "sa" +documenttype[0].index[1].name "sb" +documenttype[0].index[1].field[0].name "sb" +documenttype[0].index[2].name "sc" +documenttype[0].index[2].field[0].name "sc" +documenttype[0].index[3].name "sd" +documenttype[0].index[3].field[0].name "sd" +documenttype[0].index[4].name "se" +documenttype[0].index[4].field[0].name "se" +documenttype[0].index[5].name "sf" +documenttype[0].index[5].field[0].name "sf" +documenttype[0].index[6].name "sg" +documenttype[0].index[6].field[0].name "sg" +documenttype[0].index[7].name "sh" +documenttype[0].index[7].field[0].name "sh" +documenttype[0].index[8].name "si" +documenttype[0].index[8].field[0].name "si" +documenttype[0].index[9].name "exact1" +documenttype[0].index[9].field[0].name "exact1" +documenttype[0].index[10].name "exact2" +documenttype[0].index[10].field[0].name "exact2" +documenttype[0].index[11].name "ia" +documenttype[0].index[11].field[0].name "ia" +documenttype[0].index[12].name "ib" +documenttype[0].index[12].field[0].name "ib" +documenttype[0].index[13].name "ic" +documenttype[0].index[13].field[0].name "ic" +documenttype[0].index[14].name "nostemstring1" +documenttype[0].index[14].field[0].name "nostemstring1" +documenttype[0].index[15].name "nostemstring2" +documenttype[0].index[15].field[0].name "nostemstring2" +documenttype[0].index[16].name "nostemstring3" +documenttype[0].index[16].field[0].name "nostemstring3" +documenttype[0].index[17].name "nostemstring4" +documenttype[0].index[17].field[0].name "nostemstring4" +documenttype[0].index[18].name "fs9" +documenttype[0].index[18].field[0].name "se" +documenttype[0].index[19].name "f10" +documenttype[0].index[19].field[0].name "f10.text" +documenttype[0].index[20].name "f10.text" +documenttype[0].index[20].field[0].name "f10.text" +documenttype[0].index[21].name "sd_literal" +documenttype[0].index[21].field[0].name "sd_literal" +documenttype[0].index[22].name "pos_zcurve" +documenttype[0].index[22].field[0].name "pos_zcurve" +documenttype[0].index[23].name "fs1" +documenttype[0].index[23].field[0].name "se" +documenttype[0].index[23].field[1].name "sf" +documenttype[0].index[23].field[2].name "sg" +documenttype[0].index[24].name "fs2" +documenttype[0].index[24].field[0].name "si" +documenttype[0].index[25].name "fs3" +documenttype[0].index[25].field[0].name "ib" +documenttype[0].index[25].field[1].name "ic" +documenttype[0].index[26].name "fs4" +documenttype[0].index[26].field[0].name "sa" +documenttype[0].index[26].field[1].name "sb" +documenttype[0].index[27].name "onlyattrib" +documenttype[0].index[27].field[0].name "se" +documenttype[0].index[28].name "exactfields" +documenttype[0].index[28].field[0].name "exact1" +documenttype[0].index[28].field[1].name "exact2" +documenttype[0].index[29].name "exactexplicit" +documenttype[0].index[29].field[0].name "sa" +documenttype[0].index[29].field[1].name "sb" +documenttype[0].index[30].name "exactexplicit2" +documenttype[0].index[30].field[0].name "sc" +documenttype[0].index[30].field[1].name "sd" +documenttype[0].index[31].name "gram" +documenttype[0].index[31].field[0].name "sc" +documenttype[0].index[31].field[1].name "sd" +documenttype[0].index[32].name "nostem1" +documenttype[0].index[32].field[0].name "nostemstring1" +documenttype[0].index[32].field[1].name "nostemstring2" +documenttype[0].index[33].name "nostem2" +documenttype[0].index[33].field[0].name "nostemstring3" +documenttype[0].index[33].field[1].name "nostemstring4" +documenttype[0].index[34].name "default" +documenttype[0].index[34].field[0].name "sb" +documenttype[0].index[34].field[1].name "sc"
\ No newline at end of file diff --git a/config-model/src/test/derived/indexswitches/attributes.cfg b/config-model/src/test/derived/indexswitches/attributes.cfg new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/config-model/src/test/derived/indexswitches/attributes.cfg diff --git a/config-model/src/test/derived/indexswitches/documentmanager.cfg b/config-model/src/test/derived/indexswitches/documentmanager.cfg new file mode 100644 index 00000000000..0a32e670d7b --- /dev/null +++ b/config-model/src/test/derived/indexswitches/documentmanager.cfg @@ -0,0 +1,50 @@ +enablecompression false +datatype[0].id 1381038251 +datatype[0].structtype[0].name "position" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[0].structtype[0].field[0].name "x" +datatype[0].structtype[0].field[0].datatype 0 +datatype[0].structtype[0].field[1].name "y" +datatype[0].structtype[0].field[1].datatype 0 +datatype[1].id -555640823 +datatype[1].structtype[0].name "indexswitches.header" +datatype[1].structtype[0].version 0 +datatype[1].structtype[0].compresstype NONE +datatype[1].structtype[0].compresslevel 0 +datatype[1].structtype[0].compressthreshold 95 +datatype[1].structtype[0].compressminsize 800 +datatype[1].structtype[0].field[0].name "title" +datatype[1].structtype[0].field[0].datatype 2 +datatype[1].structtype[0].field[1].name "descr" +datatype[1].structtype[0].field[1].datatype 2 +datatype[1].structtype[0].field[2].name "source_src" +datatype[1].structtype[0].field[2].datatype 2 +datatype[1].structtype[0].field[3].name "source" +datatype[1].structtype[0].field[3].datatype 2 +datatype[1].structtype[0].field[4].name "rankfeatures" +datatype[1].structtype[0].field[4].datatype 2 +datatype[1].structtype[0].field[5].name "summaryfeatures" +datatype[1].structtype[0].field[5].datatype 2 +datatype[2].id -1892617122 +datatype[2].structtype[0].name "indexswitches.body" +datatype[2].structtype[0].version 0 +datatype[2].structtype[0].compresstype NONE +datatype[2].structtype[0].compresslevel 0 +datatype[2].structtype[0].compressthreshold 95 +datatype[2].structtype[0].compressminsize 800 +datatype[3].id -753375626 +datatype[3].documenttype[0].name "indexswitches" +datatype[3].documenttype[0].version 0 +datatype[3].documenttype[0].inherits[0].name "document" +datatype[3].documenttype[0].inherits[0].version 0 +datatype[3].documenttype[0].headerstruct -555640823 +datatype[3].documenttype[0].bodystruct -1892617122 +datatype[3].documenttype[0].fieldsets{default}.fields[0] "descr" +datatype[3].documenttype[0].fieldsets{default}.fields[1] "title" +datatype[3].documenttype[0].fieldsets{[document]}.fields[0] "descr" +datatype[3].documenttype[0].fieldsets{[document]}.fields[1] "source_src" +datatype[3].documenttype[0].fieldsets{[document]}.fields[2] "title" diff --git a/config-model/src/test/derived/indexswitches/ilscripts.cfg b/config-model/src/test/derived/indexswitches/ilscripts.cfg new file mode 100644 index 00000000000..706f4105224 --- /dev/null +++ b/config-model/src/test/derived/indexswitches/ilscripts.cfg @@ -0,0 +1,9 @@ +maxtermoccurrences 100 +ilscript[0].doctype "indexswitches" +ilscript[0].docfield[0] "title" +ilscript[0].docfield[1] "descr" +ilscript[0].docfield[2] "source_src" +ilscript[0].content[0] "clear_state | guard { input source_src | switch { case \"theweb\": input source_src | tokenize normalize | summary source | index source; case \"amg\": input source_src | tokenize normalize | summary source; default: input source_src . \" partner\" | tokenize normalize | summary source | index source; }; }" +ilscript[0].content[1] "clear_state | guard { input title | tokenize normalize stem:\"SHORTEST\" | summary title | index title; }" +ilscript[0].content[2] "clear_state | guard { input descr | tokenize normalize stem:\"SHORTEST\" | summary descr | index descr; }" +ilscript[0].content[3] "input source_src | passthrough source_src"
\ No newline at end of file diff --git a/config-model/src/test/derived/indexswitches/index-info.cfg b/config-model/src/test/derived/indexswitches/index-info.cfg new file mode 100644 index 00000000000..3daf23f8b67 --- /dev/null +++ b/config-model/src/test/derived/indexswitches/index-info.cfg @@ -0,0 +1,41 @@ +indexinfo[0].name "indexswitches" +indexinfo[0].command[0].indexname "sddocname" +indexinfo[0].command[0].command "index" +indexinfo[0].command[1].indexname "sddocname" +indexinfo[0].command[1].command "word" +indexinfo[0].command[2].indexname "title" +indexinfo[0].command[2].command "index" +indexinfo[0].command[3].indexname "default" +indexinfo[0].command[3].command "index" +indexinfo[0].command[4].indexname "title" +indexinfo[0].command[4].command "lowercase" +indexinfo[0].command[5].indexname "default" +indexinfo[0].command[5].command "lowercase" +indexinfo[0].command[6].indexname "title" +indexinfo[0].command[6].command "stem:SHORTEST" +indexinfo[0].command[7].indexname "default" +indexinfo[0].command[7].command "stem:SHORTEST" +indexinfo[0].command[8].indexname "title" +indexinfo[0].command[8].command "normalize" +indexinfo[0].command[9].indexname "default" +indexinfo[0].command[9].command "normalize" +indexinfo[0].command[10].indexname "descr" +indexinfo[0].command[10].command "index" +indexinfo[0].command[11].indexname "descr" +indexinfo[0].command[11].command "lowercase" +indexinfo[0].command[12].indexname "descr" +indexinfo[0].command[12].command "stem:SHORTEST" +indexinfo[0].command[13].indexname "descr" +indexinfo[0].command[13].command "normalize" +indexinfo[0].command[14].indexname "source_src" +indexinfo[0].command[14].command "index" +indexinfo[0].command[15].indexname "rankfeatures" +indexinfo[0].command[15].command "index" +indexinfo[0].command[16].indexname "source" +indexinfo[0].command[16].command "index" +indexinfo[0].command[17].indexname "source" +indexinfo[0].command[17].command "lowercase" +indexinfo[0].command[18].indexname "source" +indexinfo[0].command[18].command "normalize" +indexinfo[0].command[19].indexname "summaryfeatures" +indexinfo[0].command[19].command "index"
\ No newline at end of file diff --git a/config-model/src/test/derived/indexswitches/indexswitches.sd b/config-model/src/test/derived/indexswitches/indexswitches.sd new file mode 100644 index 00000000000..9b08a0c9386 --- /dev/null +++ b/config-model/src/test/derived/indexswitches/indexswitches.sd @@ -0,0 +1,32 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search indexswitches { + + document indexswitches { + + field title type string { + indexing: summary | index + } + + field descr type string { + indexing: summary | index + } + + field source_src type string { + + } + } + field source type string { + indexing { + input source_src | + switch { + case "amg": input source_src | summary; + case "theweb": input source_src | summary | index; + default: input source_src . " partner" | summary | index; + }; + } + stemming: none + } + fieldset default { + fields: title, descr + } +} diff --git a/config-model/src/test/derived/indexswitches/rank-profiles.cfg b/config-model/src/test/derived/indexswitches/rank-profiles.cfg new file mode 100644 index 00000000000..caca83a9a91 --- /dev/null +++ b/config-model/src/test/derived/indexswitches/rank-profiles.cfg @@ -0,0 +1,10 @@ +rankprofile[0].name "default" +rankprofile[1].name "unranked" +rankprofile[1].fef.property[0].name "vespa.rank.firstphase" +rankprofile[1].fef.property[0].value "value(0)" +rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize" +rankprofile[1].fef.property[1].value "0" +rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize" +rankprofile[1].fef.property[2].value "0" +rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures" +rankprofile[1].fef.property[3].value "true"
\ No newline at end of file diff --git a/config-model/src/test/derived/indexswitches/summary.cfg b/config-model/src/test/derived/indexswitches/summary.cfg new file mode 100644 index 00000000000..8644ad1262b --- /dev/null +++ b/config-model/src/test/derived/indexswitches/summary.cfg @@ -0,0 +1,15 @@ +defaultsummaryid 1698765342 +classes[0].id 1698765342 +classes[0].name "default" +classes[0].fields[0].name "source" +classes[0].fields[0].type "longstring" +classes[0].fields[1].name "title" +classes[0].fields[1].type "longstring" +classes[0].fields[2].name "descr" +classes[0].fields[2].type "longstring" +classes[0].fields[3].name "rankfeatures" +classes[0].fields[3].type "featuredata" +classes[0].fields[4].name "summaryfeatures" +classes[0].fields[4].type "featuredata" +classes[0].fields[5].name "documentid" +classes[0].fields[5].type "longstring"
\ No newline at end of file diff --git a/config-model/src/test/derived/indexswitches/summarymap.cfg b/config-model/src/test/derived/indexswitches/summarymap.cfg new file mode 100644 index 00000000000..42b6e811ee6 --- /dev/null +++ b/config-model/src/test/derived/indexswitches/summarymap.cfg @@ -0,0 +1,7 @@ +defaultoutputclass -1 +override[0].field "rankfeatures" +override[0].command "rankfeatures" +override[0].arguments "" +override[1].field "summaryfeatures" +override[1].command "summaryfeatures" +override[1].arguments ""
\ No newline at end of file diff --git a/config-model/src/test/derived/inheritance/attributes.cfg b/config-model/src/test/derived/inheritance/attributes.cfg new file mode 100644 index 00000000000..b9870b21975 --- /dev/null +++ b/config-model/src/test/derived/inheritance/attributes.cfg @@ -0,0 +1,10 @@ +attribute[3] +attribute[onlygrandparent].collectiontype SINGLE +attribute[onlygrandparent].datatype INT32 +attribute[onlygrandparent].name "onlygrandparent" +attribute[onlymother].collectiontype SINGLE +attribute[onlymother].datatype STRING +attribute[onlymother].name "onlymother" +attribute[overridden].collectiontype SINGLE +attribute[overridden].datatype INT32 +attribute[overridden].name "overridden" diff --git a/config-model/src/test/derived/inheritance/child.sd b/config-model/src/test/derived/inheritance/child.sd new file mode 100644 index 00000000000..099e9cab0ee --- /dev/null +++ b/config-model/src/test/derived/inheritance/child.sd @@ -0,0 +1,16 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search child { + + document child inherits father, mother { + + field onlychild type string { + indexing: index + } + + field overridden type int { + indexing: index + } + + } + +} diff --git a/config-model/src/test/derived/inheritance/documentmanager.cfg b/config-model/src/test/derived/inheritance/documentmanager.cfg new file mode 100644 index 00000000000..21e65acf67d --- /dev/null +++ b/config-model/src/test/derived/inheritance/documentmanager.cfg @@ -0,0 +1,426 @@ +enablecompression false +annotationtype[0] +datatype[29] +datatype[-126593034].id -126593034 +datatype[-126593034].annotationreftype[0] +datatype[-126593034].arraytype[0] +datatype[-126593034].documenttype[0] +datatype[-126593034].structtype[1] +datatype[-126593034].structtype[single].name "child.body" +datatype[-126593034].structtype[single].version 0 +datatype[-126593034].structtype[single].field[0] +datatype[-126593034].structtype[single].inherits[0] +datatype[-126593034].weightedsettype[0] +datatype[-141935690].id -141935690 +datatype[-141935690].annotationreftype[0] +datatype[-141935690].arraytype[0] +datatype[-141935690].documenttype[0] +datatype[-141935690].structtype[1] +datatype[-141935690].structtype[single].name "search_smartsummary" +datatype[-141935690].structtype[single].version 0 +datatype[-141935690].structtype[single].field[3] +datatype[-141935690].structtype[single].field[abstract].datatype 2 +datatype[-141935690].structtype[single].field[abstract].name "abstract" +datatype[-141935690].structtype[single].field[abstract].id[0] +datatype[-141935690].structtype[single].field[dispurl].datatype 2 +datatype[-141935690].structtype[single].field[dispurl].name "dispurl" +datatype[-141935690].structtype[single].field[dispurl].id[0] +datatype[-141935690].structtype[single].field[title].datatype 2 +datatype[-141935690].structtype[single].field[title].name "title" +datatype[-141935690].structtype[single].field[title].id[0] +datatype[-141935690].structtype[single].inherits[0] +datatype[-141935690].weightedsettype[0] +datatype[-1467672569].id -1467672569 +datatype[-1467672569].annotationreftype[0] +datatype[-1467672569].arraytype[0] +datatype[-1467672569].documenttype[0] +datatype[-1467672569].structtype[1] +datatype[-1467672569].structtype[single].name "child_search.body" +datatype[-1467672569].structtype[single].version 0 +datatype[-1467672569].structtype[single].field[0] +datatype[-1467672569].structtype[single].inherits[0] +datatype[-1467672569].weightedsettype[0] +datatype[-154107656].id -154107656 +datatype[-154107656].annotationreftype[0] +datatype[-154107656].arraytype[0] +datatype[-154107656].documenttype[1] +datatype[-154107656].documenttype[single].bodystruct 978262812 +datatype[-154107656].documenttype[single].headerstruct 990971719 +datatype[-154107656].documenttype[single].name "grandparent" +datatype[-154107656].documenttype[single].version 0 +datatype[-154107656].documenttype[single].inherits[0] +datatype[-154107656].structtype[0] +datatype[-154107656].weightedsettype[0] +datatype[-158393403].id -158393403 +datatype[-158393403].annotationreftype[0] +datatype[-158393403].arraytype[0] +datatype[-158393403].documenttype[1] +datatype[-158393403].documenttype[single].bodystruct -1989003153 +datatype[-158393403].documenttype[single].headerstruct 1306663898 +datatype[-158393403].documenttype[single].name "mother" +datatype[-158393403].documenttype[single].version 0 +datatype[-158393403].documenttype[single].inherits[1] +datatype[-158393403].documenttype[single].inherits[grandparent].name "grandparent" +datatype[-158393403].documenttype[single].inherits[grandparent].version 0 +datatype[-158393403].structtype[0] +datatype[-158393403].weightedsettype[0] +datatype[-1740240543].id -1740240543 +datatype[-1740240543].annotationreftype[0] +datatype[-1740240543].arraytype[0] +datatype[-1740240543].documenttype[0] +datatype[-1740240543].structtype[1] +datatype[-1740240543].structtype[single].name "search_feature" +datatype[-1740240543].structtype[single].version 0 +datatype[-1740240543].structtype[single].field[2] +datatype[-1740240543].structtype[single].field[name].datatype 2 +datatype[-1740240543].structtype[single].field[name].name "name" +datatype[-1740240543].structtype[single].field[name].id[0] +datatype[-1740240543].structtype[single].field[value].datatype 5 +datatype[-1740240543].structtype[single].field[value].name "value" +datatype[-1740240543].structtype[single].field[value].id[0] +datatype[-1740240543].structtype[single].inherits[0] +datatype[-1740240543].weightedsettype[0] +datatype[-1742340170].id -1742340170 +datatype[-1742340170].annotationreftype[0] +datatype[-1742340170].arraytype[0] +datatype[-1742340170].documenttype[0] +datatype[-1742340170].structtype[1] +datatype[-1742340170].structtype[single].name "father.body" +datatype[-1742340170].structtype[single].version 0 +datatype[-1742340170].structtype[single].field[0] +datatype[-1742340170].structtype[single].inherits[0] +datatype[-1742340170].weightedsettype[0] +datatype[-1852215954].id -1852215954 +datatype[-1852215954].annotationreftype[0] +datatype[-1852215954].arraytype[0] +datatype[-1852215954].documenttype[0] +datatype[-1852215954].structtype[1] +datatype[-1852215954].structtype[single].name "mother_search.body" +datatype[-1852215954].structtype[single].version 0 +datatype[-1852215954].structtype[single].field[0] +datatype[-1852215954].structtype[single].inherits[0] +datatype[-1852215954].weightedsettype[0] +datatype[-1962244686].id -1962244686 +datatype[-1962244686].annotationreftype[0] +datatype[-1962244686].arraytype[0] +datatype[-1962244686].documenttype[0] +datatype[-1962244686].structtype[1] +datatype[-1962244686].structtype[single].name "father_search.header" +datatype[-1962244686].structtype[single].version 0 +datatype[-1962244686].structtype[single].field[5] +datatype[-1962244686].structtype[single].field[onlyfather].datatype 2 +datatype[-1962244686].structtype[single].field[onlyfather].name "onlyfather" +datatype[-1962244686].structtype[single].field[onlyfather].id[0] +datatype[-1962244686].structtype[single].field[onlygrandparent].datatype 0 +datatype[-1962244686].structtype[single].field[onlygrandparent].name "onlygrandparent" +datatype[-1962244686].structtype[single].field[onlygrandparent].id[0] +datatype[-1962244686].structtype[single].field[overridden].datatype 0 +datatype[-1962244686].structtype[single].field[overridden].name "overridden" +datatype[-1962244686].structtype[single].field[overridden].id[0] +datatype[-1962244686].structtype[single].field[rankfeatures].datatype 147991900 +datatype[-1962244686].structtype[single].field[rankfeatures].name "rankfeatures" +datatype[-1962244686].structtype[single].field[rankfeatures].id[0] +datatype[-1962244686].structtype[single].field[summaryfeatures].datatype 147991900 +datatype[-1962244686].structtype[single].field[summaryfeatures].name "summaryfeatures" +datatype[-1962244686].structtype[single].field[summaryfeatures].id[0] +datatype[-1962244686].structtype[single].inherits[0] +datatype[-1962244686].weightedsettype[0] +datatype[-1989003153].id -1989003153 +datatype[-1989003153].annotationreftype[0] +datatype[-1989003153].arraytype[0] +datatype[-1989003153].documenttype[0] +datatype[-1989003153].structtype[1] +datatype[-1989003153].structtype[single].name "mother.body" +datatype[-1989003153].structtype[single].version 0 +datatype[-1989003153].structtype[single].field[0] +datatype[-1989003153].structtype[single].inherits[0] +datatype[-1989003153].weightedsettype[0] +datatype[-205818510].id -205818510 +datatype[-205818510].annotationreftype[0] +datatype[-205818510].arraytype[0] +datatype[-205818510].documenttype[0] +datatype[-205818510].structtype[1] +datatype[-205818510].structtype[single].name "child_search.header" +datatype[-205818510].structtype[single].version 0 +datatype[-205818510].structtype[single].field[7] +datatype[-205818510].structtype[single].field[onlychild].datatype 2 +datatype[-205818510].structtype[single].field[onlychild].name "onlychild" +datatype[-205818510].structtype[single].field[onlychild].id[0] +datatype[-205818510].structtype[single].field[onlyfather].datatype 2 +datatype[-205818510].structtype[single].field[onlyfather].name "onlyfather" +datatype[-205818510].structtype[single].field[onlyfather].id[0] +datatype[-205818510].structtype[single].field[onlygrandparent].datatype 0 +datatype[-205818510].structtype[single].field[onlygrandparent].name "onlygrandparent" +datatype[-205818510].structtype[single].field[onlygrandparent].id[0] +datatype[-205818510].structtype[single].field[onlymother].datatype 2 +datatype[-205818510].structtype[single].field[onlymother].name "onlymother" +datatype[-205818510].structtype[single].field[onlymother].id[0] +datatype[-205818510].structtype[single].field[overridden].datatype 0 +datatype[-205818510].structtype[single].field[overridden].name "overridden" +datatype[-205818510].structtype[single].field[overridden].id[0] +datatype[-205818510].structtype[single].field[rankfeatures].datatype 147991900 +datatype[-205818510].structtype[single].field[rankfeatures].name "rankfeatures" +datatype[-205818510].structtype[single].field[rankfeatures].id[0] +datatype[-205818510].structtype[single].field[summaryfeatures].datatype 147991900 +datatype[-205818510].structtype[single].field[summaryfeatures].name "summaryfeatures" +datatype[-205818510].structtype[single].field[summaryfeatures].id[0] +datatype[-205818510].structtype[single].inherits[0] +datatype[-205818510].weightedsettype[0] +datatype[-384824039].id -384824039 +datatype[-384824039].annotationreftype[0] +datatype[-384824039].arraytype[0] +datatype[-384824039].documenttype[0] +datatype[-384824039].structtype[1] +datatype[-384824039].structtype[single].name "mother_search.header" +datatype[-384824039].structtype[single].version 0 +datatype[-384824039].structtype[single].field[5] +datatype[-384824039].structtype[single].field[onlygrandparent].datatype 0 +datatype[-384824039].structtype[single].field[onlygrandparent].name "onlygrandparent" +datatype[-384824039].structtype[single].field[onlygrandparent].id[0] +datatype[-384824039].structtype[single].field[onlymother].datatype 2 +datatype[-384824039].structtype[single].field[onlymother].name "onlymother" +datatype[-384824039].structtype[single].field[onlymother].id[0] +datatype[-384824039].structtype[single].field[overridden].datatype 0 +datatype[-384824039].structtype[single].field[overridden].name "overridden" +datatype[-384824039].structtype[single].field[overridden].id[0] +datatype[-384824039].structtype[single].field[rankfeatures].datatype 147991900 +datatype[-384824039].structtype[single].field[rankfeatures].name "rankfeatures" +datatype[-384824039].structtype[single].field[rankfeatures].id[0] +datatype[-384824039].structtype[single].field[summaryfeatures].datatype 147991900 +datatype[-384824039].structtype[single].field[summaryfeatures].name "summaryfeatures" +datatype[-384824039].structtype[single].field[summaryfeatures].id[0] +datatype[-384824039].structtype[single].inherits[0] +datatype[-384824039].weightedsettype[0] +datatype[-52742073].id -52742073 +datatype[-52742073].annotationreftype[0] +datatype[-52742073].arraytype[0] +datatype[-52742073].documenttype[0] +datatype[-52742073].structtype[1] +datatype[-52742073].structtype[single].name "father_search.body" +datatype[-52742073].structtype[single].version 0 +datatype[-52742073].structtype[single].field[0] +datatype[-52742073].structtype[single].inherits[0] +datatype[-52742073].weightedsettype[0] +datatype[-580592339].id -580592339 +datatype[-580592339].annotationreftype[0] +datatype[-580592339].arraytype[0] +datatype[-580592339].documenttype[1] +datatype[-580592339].documenttype[single].bodystruct -1467672569 +datatype[-580592339].documenttype[single].headerstruct -205818510 +datatype[-580592339].documenttype[single].name "child_search" +datatype[-580592339].documenttype[single].version 0 +datatype[-580592339].documenttype[single].inherits[0] +datatype[-580592339].structtype[0] +datatype[-580592339].weightedsettype[0] +datatype[-876064862].id -876064862 +datatype[-876064862].annotationreftype[0] +datatype[-876064862].arraytype[0] +datatype[-876064862].documenttype[0] +datatype[-876064862].structtype[1] +datatype[-876064862].structtype[single].name "search_position" +datatype[-876064862].structtype[single].version 0 +datatype[-876064862].structtype[single].field[2] +datatype[-876064862].structtype[single].field[x].datatype 0 +datatype[-876064862].structtype[single].field[x].name "x" +datatype[-876064862].structtype[single].field[x].id[0] +datatype[-876064862].structtype[single].field[y].datatype 0 +datatype[-876064862].structtype[single].field[y].name "y" +datatype[-876064862].structtype[single].field[y].id[0] +datatype[-876064862].structtype[single].inherits[0] +datatype[-876064862].weightedsettype[0] +datatype[1306663898].id 1306663898 +datatype[1306663898].annotationreftype[0] +datatype[1306663898].arraytype[0] +datatype[1306663898].documenttype[0] +datatype[1306663898].structtype[1] +datatype[1306663898].structtype[single].name "mother.header" +datatype[1306663898].structtype[single].version 0 +datatype[1306663898].structtype[single].field[1] +datatype[1306663898].structtype[single].field[onlymother].datatype 2 +datatype[1306663898].structtype[single].field[onlymother].name "onlymother" +datatype[1306663898].structtype[single].field[onlymother].id[0] +datatype[1306663898].structtype[single].inherits[0] +datatype[1306663898].weightedsettype[0] +datatype[1464571117].id 1464571117 +datatype[1464571117].annotationreftype[0] +datatype[1464571117].arraytype[0] +datatype[1464571117].documenttype[1] +datatype[1464571117].documenttype[single].bodystruct -52742073 +datatype[1464571117].documenttype[single].headerstruct -1962244686 +datatype[1464571117].documenttype[single].name "father_search" +datatype[1464571117].documenttype[single].version 0 +datatype[1464571117].documenttype[single].inherits[0] +datatype[1464571117].structtype[0] +datatype[1464571117].weightedsettype[0] +datatype[147991900].id 147991900 +datatype[147991900].annotationreftype[0] +datatype[147991900].arraytype[1] +datatype[147991900].arraytype[single].datatype -1740240543 +datatype[147991900].documenttype[0] +datatype[147991900].structtype[0] +datatype[147991900].weightedsettype[0] +datatype[1530060044].id 1530060044 +datatype[1530060044].annotationreftype[0] +datatype[1530060044].arraytype[0] +datatype[1530060044].documenttype[0] +datatype[1530060044].structtype[1] +datatype[1530060044].structtype[single].name "grandparent_search.header" +datatype[1530060044].structtype[single].version 0 +datatype[1530060044].structtype[single].field[4] +datatype[1530060044].structtype[single].field[onlygrandparent].datatype 0 +datatype[1530060044].structtype[single].field[onlygrandparent].name "onlygrandparent" +datatype[1530060044].structtype[single].field[onlygrandparent].id[0] +datatype[1530060044].structtype[single].field[overridden].datatype 0 +datatype[1530060044].structtype[single].field[overridden].name "overridden" +datatype[1530060044].structtype[single].field[overridden].id[0] +datatype[1530060044].structtype[single].field[rankfeatures].datatype 147991900 +datatype[1530060044].structtype[single].field[rankfeatures].name "rankfeatures" +datatype[1530060044].structtype[single].field[rankfeatures].id[0] +datatype[1530060044].structtype[single].field[summaryfeatures].datatype 147991900 +datatype[1530060044].structtype[single].field[summaryfeatures].name "summaryfeatures" +datatype[1530060044].structtype[single].field[summaryfeatures].id[0] +datatype[1530060044].structtype[single].inherits[0] +datatype[1530060044].weightedsettype[0] +datatype[1845861921].id 1845861921 +datatype[1845861921].annotationreftype[0] +datatype[1845861921].arraytype[0] +datatype[1845861921].documenttype[0] +datatype[1845861921].structtype[1] +datatype[1845861921].structtype[single].name "grandparent_search.body" +datatype[1845861921].structtype[single].version 0 +datatype[1845861921].structtype[single].field[0] +datatype[1845861921].structtype[single].inherits[0] +datatype[1845861921].weightedsettype[0] +datatype[2126589281].id 2126589281 +datatype[2126589281].annotationreftype[0] +datatype[2126589281].arraytype[0] +datatype[2126589281].documenttype[0] +datatype[2126589281].structtype[1] +datatype[2126589281].structtype[single].name "father.header" +datatype[2126589281].structtype[single].version 0 +datatype[2126589281].structtype[single].field[1] +datatype[2126589281].structtype[single].field[onlyfather].datatype 2 +datatype[2126589281].structtype[single].field[onlyfather].name "onlyfather" +datatype[2126589281].structtype[single].field[onlyfather].id[0] +datatype[2126589281].structtype[single].inherits[0] +datatype[2126589281].weightedsettype[0] +datatype[328953555].id 328953555 +datatype[328953555].annotationreftype[0] +datatype[328953555].arraytype[0] +datatype[328953555].documenttype[1] +datatype[328953555].documenttype[single].bodystruct 1845861921 +datatype[328953555].documenttype[single].headerstruct 1530060044 +datatype[328953555].documenttype[single].name "grandparent_search" +datatype[328953555].documenttype[single].version 0 +datatype[328953555].documenttype[single].inherits[0] +datatype[328953555].structtype[0] +datatype[328953555].weightedsettype[0] +datatype[464784087].id 464784087 +datatype[464784087].annotationreftype[0] +datatype[464784087].arraytype[0] +datatype[464784087].documenttype[0] +datatype[464784087].structtype[1] +datatype[464784087].structtype[single].name "search_uri" +datatype[464784087].structtype[single].version 0 +datatype[464784087].structtype[single].field[7] +datatype[464784087].structtype[single].field[all].datatype 2 +datatype[464784087].structtype[single].field[all].name "all" +datatype[464784087].structtype[single].field[all].id[0] +datatype[464784087].structtype[single].field[fragment].datatype 2 +datatype[464784087].structtype[single].field[fragment].name "fragment" +datatype[464784087].structtype[single].field[fragment].id[0] +datatype[464784087].structtype[single].field[host].datatype 2 +datatype[464784087].structtype[single].field[host].name "host" +datatype[464784087].structtype[single].field[host].id[0] +datatype[464784087].structtype[single].field[path].datatype 2 +datatype[464784087].structtype[single].field[path].name "path" +datatype[464784087].structtype[single].field[path].id[0] +datatype[464784087].structtype[single].field[port].datatype 0 +datatype[464784087].structtype[single].field[port].name "port" +datatype[464784087].structtype[single].field[port].id[0] +datatype[464784087].structtype[single].field[query].datatype 2 +datatype[464784087].structtype[single].field[query].name "query" +datatype[464784087].structtype[single].field[query].id[0] +datatype[464784087].structtype[single].field[scheme].datatype 2 +datatype[464784087].structtype[single].field[scheme].name "scheme" +datatype[464784087].structtype[single].field[scheme].id[0] +datatype[464784087].structtype[single].inherits[0] +datatype[464784087].weightedsettype[0] +datatype[644645734].id 644645734 +datatype[644645734].annotationreftype[0] +datatype[644645734].arraytype[0] +datatype[644645734].documenttype[1] +datatype[644645734].documenttype[single].bodystruct -1852215954 +datatype[644645734].documenttype[single].headerstruct -384824039 +datatype[644645734].documenttype[single].name "mother_search" +datatype[644645734].documenttype[single].version 0 +datatype[644645734].documenttype[single].inherits[0] +datatype[644645734].structtype[0] +datatype[644645734].weightedsettype[0] +datatype[746267614].id 746267614 +datatype[746267614].annotationreftype[0] +datatype[746267614].arraytype[0] +datatype[746267614].documenttype[1] +datatype[746267614].documenttype[single].bodystruct -126593034 +datatype[746267614].documenttype[single].headerstruct 81425825 +datatype[746267614].documenttype[single].name "child" +datatype[746267614].documenttype[single].version 0 +datatype[746267614].documenttype[single].inherits[2] +datatype[746267614].documenttype[single].inherits[father].name "father" +datatype[746267614].documenttype[single].inherits[father].version 0 +datatype[746267614].documenttype[single].inherits[mother].name "mother" +datatype[746267614].documenttype[single].inherits[mother].version 0 +datatype[746267614].structtype[0] +datatype[746267614].weightedsettype[0] +datatype[81425825].id 81425825 +datatype[81425825].annotationreftype[0] +datatype[81425825].arraytype[0] +datatype[81425825].documenttype[0] +datatype[81425825].structtype[1] +datatype[81425825].structtype[single].name "child.header" +datatype[81425825].structtype[single].version 0 +datatype[81425825].structtype[single].field[1] +datatype[81425825].structtype[single].field[onlychild].datatype 2 +datatype[81425825].structtype[single].field[onlychild].name "onlychild" +datatype[81425825].structtype[single].field[onlychild].id[0] +datatype[81425825].structtype[single].inherits[0] +datatype[81425825].weightedsettype[0] +datatype[978262812].id 978262812 +datatype[978262812].annotationreftype[0] +datatype[978262812].arraytype[0] +datatype[978262812].documenttype[0] +datatype[978262812].structtype[1] +datatype[978262812].structtype[single].name "grandparent.body" +datatype[978262812].structtype[single].version 0 +datatype[978262812].structtype[single].field[0] +datatype[978262812].structtype[single].inherits[0] +datatype[978262812].weightedsettype[0] +datatype[986686494].id 986686494 +datatype[986686494].annotationreftype[0] +datatype[986686494].arraytype[0] +datatype[986686494].documenttype[1] +datatype[986686494].documenttype[single].bodystruct -1742340170 +datatype[986686494].documenttype[single].headerstruct 2126589281 +datatype[986686494].documenttype[single].name "father" +datatype[986686494].documenttype[single].version 0 +datatype[986686494].documenttype[single].inherits[1] +datatype[986686494].documenttype[single].inherits[grandparent].name "grandparent" +datatype[986686494].documenttype[single].inherits[grandparent].version 0 +datatype[986686494].structtype[0] +datatype[986686494].weightedsettype[0] +datatype[990971719].id 990971719 +datatype[990971719].annotationreftype[0] +datatype[990971719].arraytype[0] +datatype[990971719].documenttype[0] +datatype[990971719].structtype[1] +datatype[990971719].structtype[single].name "grandparent.header" +datatype[990971719].structtype[single].version 0 +datatype[990971719].structtype[single].field[2] +datatype[990971719].structtype[single].field[onlygrandparent].datatype 0 +datatype[990971719].structtype[single].field[onlygrandparent].name "onlygrandparent" +datatype[990971719].structtype[single].field[onlygrandparent].id[0] +datatype[990971719].structtype[single].field[overridden].datatype 0 +datatype[990971719].structtype[single].field[overridden].name "overridden" +datatype[990971719].structtype[single].field[overridden].id[0] +datatype[990971719].structtype[single].inherits[0] +datatype[990971719].weightedsettype[0] diff --git a/config-model/src/test/derived/inheritance/father.sd b/config-model/src/test/derived/inheritance/father.sd new file mode 100644 index 00000000000..de4287334c2 --- /dev/null +++ b/config-model/src/test/derived/inheritance/father.sd @@ -0,0 +1,12 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +document father inherits grandparent { + + field onlyfather type string { + indexing: summary + } + + field overridden type int { + indexing: summary + } + +} diff --git a/config-model/src/test/derived/inheritance/grandparent.sd b/config-model/src/test/derived/inheritance/grandparent.sd new file mode 100644 index 00000000000..5f1aa91b926 --- /dev/null +++ b/config-model/src/test/derived/inheritance/grandparent.sd @@ -0,0 +1,12 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +document grandparent { + + field onlygrandparent type int { + indexing: attribute + } + + field overridden type int { + indexing: attribute + } + +} diff --git a/config-model/src/test/derived/inheritance/ilscripts.cfg b/config-model/src/test/derived/inheritance/ilscripts.cfg new file mode 100644 index 00000000000..8a9f8fe3c6f --- /dev/null +++ b/config-model/src/test/derived/inheritance/ilscripts.cfg @@ -0,0 +1,9 @@ +ilscript[1] +ilscript[child].doctype "child" +ilscript[child].name "child" +ilscript[child].content[5] +ilscript[child].content[0] "input onlygrandparent | attribute onlygrandparent" +ilscript[child].content[1] "input overridden | attribute overridden" +ilscript[child].content[2] "input onlyfather | summary onlyfather" +ilscript[child].content[3] "input onlymother | tokenize normalize stem:\"SHORTEST\" | attribute onlymother | index onlymother" +ilscript[child].content[4] "input onlychild | tokenize normalize stem:\"SHORTEST\" | index onlychild" diff --git a/config-model/src/test/derived/inheritance/index-info.cfg b/config-model/src/test/derived/inheritance/index-info.cfg new file mode 100644 index 00000000000..f58df991c40 --- /dev/null +++ b/config-model/src/test/derived/inheritance/index-info.cfg @@ -0,0 +1,30 @@ +indexinfo[1] +indexinfo[child].name "child" +indexinfo[child].alias[0] +indexinfo[child].command[13] +indexinfo[child].command[00].command "index" +indexinfo[child].command[00].indexname "sddocname" +indexinfo[child].command[01].command "word" +indexinfo[child].command[01].indexname "sddocname" +indexinfo[child].command[02].command "index" +indexinfo[child].command[02].indexname "onlychild" +indexinfo[child].command[03].command "index" +indexinfo[child].command[03].indexname "onlygrandparent" +indexinfo[child].command[04].command "attribute" +indexinfo[child].command[04].indexname "onlygrandparent" +indexinfo[child].command[05].command "index" +indexinfo[child].command[05].indexname "overridden" +indexinfo[child].command[06].command "attribute" +indexinfo[child].command[06].indexname "overridden" +indexinfo[child].command[07].command "index" +indexinfo[child].command[07].indexname "onlyfather" +indexinfo[child].command[08].command "index" +indexinfo[child].command[08].indexname "onlymother" +indexinfo[child].command[09].command "stem:SHORTEST" +indexinfo[child].command[09].indexname "onlymother" +indexinfo[child].command[10].command "normalize" +indexinfo[child].command[10].indexname "onlymother" +indexinfo[child].command[11].command "stem:SHORTEST" +indexinfo[child].command[11].indexname "onlychild" +indexinfo[child].command[12].command "normalize" +indexinfo[child].command[12].indexname "onlychild" diff --git a/config-model/src/test/derived/inheritance/mother.sd b/config-model/src/test/derived/inheritance/mother.sd new file mode 100644 index 00000000000..437616eabbc --- /dev/null +++ b/config-model/src/test/derived/inheritance/mother.sd @@ -0,0 +1,13 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +document mother inherits grandparent { + + field onlymother type string { + indexing: attribute | index + index: prefix + } + + field overridden type int { + indexing: attribute + } + +} diff --git a/config-model/src/test/derived/inheritance/mother/documentmanager.cfg b/config-model/src/test/derived/inheritance/mother/documentmanager.cfg new file mode 100644 index 00000000000..21e65acf67d --- /dev/null +++ b/config-model/src/test/derived/inheritance/mother/documentmanager.cfg @@ -0,0 +1,426 @@ +enablecompression false +annotationtype[0] +datatype[29] +datatype[-126593034].id -126593034 +datatype[-126593034].annotationreftype[0] +datatype[-126593034].arraytype[0] +datatype[-126593034].documenttype[0] +datatype[-126593034].structtype[1] +datatype[-126593034].structtype[single].name "child.body" +datatype[-126593034].structtype[single].version 0 +datatype[-126593034].structtype[single].field[0] +datatype[-126593034].structtype[single].inherits[0] +datatype[-126593034].weightedsettype[0] +datatype[-141935690].id -141935690 +datatype[-141935690].annotationreftype[0] +datatype[-141935690].arraytype[0] +datatype[-141935690].documenttype[0] +datatype[-141935690].structtype[1] +datatype[-141935690].structtype[single].name "search_smartsummary" +datatype[-141935690].structtype[single].version 0 +datatype[-141935690].structtype[single].field[3] +datatype[-141935690].structtype[single].field[abstract].datatype 2 +datatype[-141935690].structtype[single].field[abstract].name "abstract" +datatype[-141935690].structtype[single].field[abstract].id[0] +datatype[-141935690].structtype[single].field[dispurl].datatype 2 +datatype[-141935690].structtype[single].field[dispurl].name "dispurl" +datatype[-141935690].structtype[single].field[dispurl].id[0] +datatype[-141935690].structtype[single].field[title].datatype 2 +datatype[-141935690].structtype[single].field[title].name "title" +datatype[-141935690].structtype[single].field[title].id[0] +datatype[-141935690].structtype[single].inherits[0] +datatype[-141935690].weightedsettype[0] +datatype[-1467672569].id -1467672569 +datatype[-1467672569].annotationreftype[0] +datatype[-1467672569].arraytype[0] +datatype[-1467672569].documenttype[0] +datatype[-1467672569].structtype[1] +datatype[-1467672569].structtype[single].name "child_search.body" +datatype[-1467672569].structtype[single].version 0 +datatype[-1467672569].structtype[single].field[0] +datatype[-1467672569].structtype[single].inherits[0] +datatype[-1467672569].weightedsettype[0] +datatype[-154107656].id -154107656 +datatype[-154107656].annotationreftype[0] +datatype[-154107656].arraytype[0] +datatype[-154107656].documenttype[1] +datatype[-154107656].documenttype[single].bodystruct 978262812 +datatype[-154107656].documenttype[single].headerstruct 990971719 +datatype[-154107656].documenttype[single].name "grandparent" +datatype[-154107656].documenttype[single].version 0 +datatype[-154107656].documenttype[single].inherits[0] +datatype[-154107656].structtype[0] +datatype[-154107656].weightedsettype[0] +datatype[-158393403].id -158393403 +datatype[-158393403].annotationreftype[0] +datatype[-158393403].arraytype[0] +datatype[-158393403].documenttype[1] +datatype[-158393403].documenttype[single].bodystruct -1989003153 +datatype[-158393403].documenttype[single].headerstruct 1306663898 +datatype[-158393403].documenttype[single].name "mother" +datatype[-158393403].documenttype[single].version 0 +datatype[-158393403].documenttype[single].inherits[1] +datatype[-158393403].documenttype[single].inherits[grandparent].name "grandparent" +datatype[-158393403].documenttype[single].inherits[grandparent].version 0 +datatype[-158393403].structtype[0] +datatype[-158393403].weightedsettype[0] +datatype[-1740240543].id -1740240543 +datatype[-1740240543].annotationreftype[0] +datatype[-1740240543].arraytype[0] +datatype[-1740240543].documenttype[0] +datatype[-1740240543].structtype[1] +datatype[-1740240543].structtype[single].name "search_feature" +datatype[-1740240543].structtype[single].version 0 +datatype[-1740240543].structtype[single].field[2] +datatype[-1740240543].structtype[single].field[name].datatype 2 +datatype[-1740240543].structtype[single].field[name].name "name" +datatype[-1740240543].structtype[single].field[name].id[0] +datatype[-1740240543].structtype[single].field[value].datatype 5 +datatype[-1740240543].structtype[single].field[value].name "value" +datatype[-1740240543].structtype[single].field[value].id[0] +datatype[-1740240543].structtype[single].inherits[0] +datatype[-1740240543].weightedsettype[0] +datatype[-1742340170].id -1742340170 +datatype[-1742340170].annotationreftype[0] +datatype[-1742340170].arraytype[0] +datatype[-1742340170].documenttype[0] +datatype[-1742340170].structtype[1] +datatype[-1742340170].structtype[single].name "father.body" +datatype[-1742340170].structtype[single].version 0 +datatype[-1742340170].structtype[single].field[0] +datatype[-1742340170].structtype[single].inherits[0] +datatype[-1742340170].weightedsettype[0] +datatype[-1852215954].id -1852215954 +datatype[-1852215954].annotationreftype[0] +datatype[-1852215954].arraytype[0] +datatype[-1852215954].documenttype[0] +datatype[-1852215954].structtype[1] +datatype[-1852215954].structtype[single].name "mother_search.body" +datatype[-1852215954].structtype[single].version 0 +datatype[-1852215954].structtype[single].field[0] +datatype[-1852215954].structtype[single].inherits[0] +datatype[-1852215954].weightedsettype[0] +datatype[-1962244686].id -1962244686 +datatype[-1962244686].annotationreftype[0] +datatype[-1962244686].arraytype[0] +datatype[-1962244686].documenttype[0] +datatype[-1962244686].structtype[1] +datatype[-1962244686].structtype[single].name "father_search.header" +datatype[-1962244686].structtype[single].version 0 +datatype[-1962244686].structtype[single].field[5] +datatype[-1962244686].structtype[single].field[onlyfather].datatype 2 +datatype[-1962244686].structtype[single].field[onlyfather].name "onlyfather" +datatype[-1962244686].structtype[single].field[onlyfather].id[0] +datatype[-1962244686].structtype[single].field[onlygrandparent].datatype 0 +datatype[-1962244686].structtype[single].field[onlygrandparent].name "onlygrandparent" +datatype[-1962244686].structtype[single].field[onlygrandparent].id[0] +datatype[-1962244686].structtype[single].field[overridden].datatype 0 +datatype[-1962244686].structtype[single].field[overridden].name "overridden" +datatype[-1962244686].structtype[single].field[overridden].id[0] +datatype[-1962244686].structtype[single].field[rankfeatures].datatype 147991900 +datatype[-1962244686].structtype[single].field[rankfeatures].name "rankfeatures" +datatype[-1962244686].structtype[single].field[rankfeatures].id[0] +datatype[-1962244686].structtype[single].field[summaryfeatures].datatype 147991900 +datatype[-1962244686].structtype[single].field[summaryfeatures].name "summaryfeatures" +datatype[-1962244686].structtype[single].field[summaryfeatures].id[0] +datatype[-1962244686].structtype[single].inherits[0] +datatype[-1962244686].weightedsettype[0] +datatype[-1989003153].id -1989003153 +datatype[-1989003153].annotationreftype[0] +datatype[-1989003153].arraytype[0] +datatype[-1989003153].documenttype[0] +datatype[-1989003153].structtype[1] +datatype[-1989003153].structtype[single].name "mother.body" +datatype[-1989003153].structtype[single].version 0 +datatype[-1989003153].structtype[single].field[0] +datatype[-1989003153].structtype[single].inherits[0] +datatype[-1989003153].weightedsettype[0] +datatype[-205818510].id -205818510 +datatype[-205818510].annotationreftype[0] +datatype[-205818510].arraytype[0] +datatype[-205818510].documenttype[0] +datatype[-205818510].structtype[1] +datatype[-205818510].structtype[single].name "child_search.header" +datatype[-205818510].structtype[single].version 0 +datatype[-205818510].structtype[single].field[7] +datatype[-205818510].structtype[single].field[onlychild].datatype 2 +datatype[-205818510].structtype[single].field[onlychild].name "onlychild" +datatype[-205818510].structtype[single].field[onlychild].id[0] +datatype[-205818510].structtype[single].field[onlyfather].datatype 2 +datatype[-205818510].structtype[single].field[onlyfather].name "onlyfather" +datatype[-205818510].structtype[single].field[onlyfather].id[0] +datatype[-205818510].structtype[single].field[onlygrandparent].datatype 0 +datatype[-205818510].structtype[single].field[onlygrandparent].name "onlygrandparent" +datatype[-205818510].structtype[single].field[onlygrandparent].id[0] +datatype[-205818510].structtype[single].field[onlymother].datatype 2 +datatype[-205818510].structtype[single].field[onlymother].name "onlymother" +datatype[-205818510].structtype[single].field[onlymother].id[0] +datatype[-205818510].structtype[single].field[overridden].datatype 0 +datatype[-205818510].structtype[single].field[overridden].name "overridden" +datatype[-205818510].structtype[single].field[overridden].id[0] +datatype[-205818510].structtype[single].field[rankfeatures].datatype 147991900 +datatype[-205818510].structtype[single].field[rankfeatures].name "rankfeatures" +datatype[-205818510].structtype[single].field[rankfeatures].id[0] +datatype[-205818510].structtype[single].field[summaryfeatures].datatype 147991900 +datatype[-205818510].structtype[single].field[summaryfeatures].name "summaryfeatures" +datatype[-205818510].structtype[single].field[summaryfeatures].id[0] +datatype[-205818510].structtype[single].inherits[0] +datatype[-205818510].weightedsettype[0] +datatype[-384824039].id -384824039 +datatype[-384824039].annotationreftype[0] +datatype[-384824039].arraytype[0] +datatype[-384824039].documenttype[0] +datatype[-384824039].structtype[1] +datatype[-384824039].structtype[single].name "mother_search.header" +datatype[-384824039].structtype[single].version 0 +datatype[-384824039].structtype[single].field[5] +datatype[-384824039].structtype[single].field[onlygrandparent].datatype 0 +datatype[-384824039].structtype[single].field[onlygrandparent].name "onlygrandparent" +datatype[-384824039].structtype[single].field[onlygrandparent].id[0] +datatype[-384824039].structtype[single].field[onlymother].datatype 2 +datatype[-384824039].structtype[single].field[onlymother].name "onlymother" +datatype[-384824039].structtype[single].field[onlymother].id[0] +datatype[-384824039].structtype[single].field[overridden].datatype 0 +datatype[-384824039].structtype[single].field[overridden].name "overridden" +datatype[-384824039].structtype[single].field[overridden].id[0] +datatype[-384824039].structtype[single].field[rankfeatures].datatype 147991900 +datatype[-384824039].structtype[single].field[rankfeatures].name "rankfeatures" +datatype[-384824039].structtype[single].field[rankfeatures].id[0] +datatype[-384824039].structtype[single].field[summaryfeatures].datatype 147991900 +datatype[-384824039].structtype[single].field[summaryfeatures].name "summaryfeatures" +datatype[-384824039].structtype[single].field[summaryfeatures].id[0] +datatype[-384824039].structtype[single].inherits[0] +datatype[-384824039].weightedsettype[0] +datatype[-52742073].id -52742073 +datatype[-52742073].annotationreftype[0] +datatype[-52742073].arraytype[0] +datatype[-52742073].documenttype[0] +datatype[-52742073].structtype[1] +datatype[-52742073].structtype[single].name "father_search.body" +datatype[-52742073].structtype[single].version 0 +datatype[-52742073].structtype[single].field[0] +datatype[-52742073].structtype[single].inherits[0] +datatype[-52742073].weightedsettype[0] +datatype[-580592339].id -580592339 +datatype[-580592339].annotationreftype[0] +datatype[-580592339].arraytype[0] +datatype[-580592339].documenttype[1] +datatype[-580592339].documenttype[single].bodystruct -1467672569 +datatype[-580592339].documenttype[single].headerstruct -205818510 +datatype[-580592339].documenttype[single].name "child_search" +datatype[-580592339].documenttype[single].version 0 +datatype[-580592339].documenttype[single].inherits[0] +datatype[-580592339].structtype[0] +datatype[-580592339].weightedsettype[0] +datatype[-876064862].id -876064862 +datatype[-876064862].annotationreftype[0] +datatype[-876064862].arraytype[0] +datatype[-876064862].documenttype[0] +datatype[-876064862].structtype[1] +datatype[-876064862].structtype[single].name "search_position" +datatype[-876064862].structtype[single].version 0 +datatype[-876064862].structtype[single].field[2] +datatype[-876064862].structtype[single].field[x].datatype 0 +datatype[-876064862].structtype[single].field[x].name "x" +datatype[-876064862].structtype[single].field[x].id[0] +datatype[-876064862].structtype[single].field[y].datatype 0 +datatype[-876064862].structtype[single].field[y].name "y" +datatype[-876064862].structtype[single].field[y].id[0] +datatype[-876064862].structtype[single].inherits[0] +datatype[-876064862].weightedsettype[0] +datatype[1306663898].id 1306663898 +datatype[1306663898].annotationreftype[0] +datatype[1306663898].arraytype[0] +datatype[1306663898].documenttype[0] +datatype[1306663898].structtype[1] +datatype[1306663898].structtype[single].name "mother.header" +datatype[1306663898].structtype[single].version 0 +datatype[1306663898].structtype[single].field[1] +datatype[1306663898].structtype[single].field[onlymother].datatype 2 +datatype[1306663898].structtype[single].field[onlymother].name "onlymother" +datatype[1306663898].structtype[single].field[onlymother].id[0] +datatype[1306663898].structtype[single].inherits[0] +datatype[1306663898].weightedsettype[0] +datatype[1464571117].id 1464571117 +datatype[1464571117].annotationreftype[0] +datatype[1464571117].arraytype[0] +datatype[1464571117].documenttype[1] +datatype[1464571117].documenttype[single].bodystruct -52742073 +datatype[1464571117].documenttype[single].headerstruct -1962244686 +datatype[1464571117].documenttype[single].name "father_search" +datatype[1464571117].documenttype[single].version 0 +datatype[1464571117].documenttype[single].inherits[0] +datatype[1464571117].structtype[0] +datatype[1464571117].weightedsettype[0] +datatype[147991900].id 147991900 +datatype[147991900].annotationreftype[0] +datatype[147991900].arraytype[1] +datatype[147991900].arraytype[single].datatype -1740240543 +datatype[147991900].documenttype[0] +datatype[147991900].structtype[0] +datatype[147991900].weightedsettype[0] +datatype[1530060044].id 1530060044 +datatype[1530060044].annotationreftype[0] +datatype[1530060044].arraytype[0] +datatype[1530060044].documenttype[0] +datatype[1530060044].structtype[1] +datatype[1530060044].structtype[single].name "grandparent_search.header" +datatype[1530060044].structtype[single].version 0 +datatype[1530060044].structtype[single].field[4] +datatype[1530060044].structtype[single].field[onlygrandparent].datatype 0 +datatype[1530060044].structtype[single].field[onlygrandparent].name "onlygrandparent" +datatype[1530060044].structtype[single].field[onlygrandparent].id[0] +datatype[1530060044].structtype[single].field[overridden].datatype 0 +datatype[1530060044].structtype[single].field[overridden].name "overridden" +datatype[1530060044].structtype[single].field[overridden].id[0] +datatype[1530060044].structtype[single].field[rankfeatures].datatype 147991900 +datatype[1530060044].structtype[single].field[rankfeatures].name "rankfeatures" +datatype[1530060044].structtype[single].field[rankfeatures].id[0] +datatype[1530060044].structtype[single].field[summaryfeatures].datatype 147991900 +datatype[1530060044].structtype[single].field[summaryfeatures].name "summaryfeatures" +datatype[1530060044].structtype[single].field[summaryfeatures].id[0] +datatype[1530060044].structtype[single].inherits[0] +datatype[1530060044].weightedsettype[0] +datatype[1845861921].id 1845861921 +datatype[1845861921].annotationreftype[0] +datatype[1845861921].arraytype[0] +datatype[1845861921].documenttype[0] +datatype[1845861921].structtype[1] +datatype[1845861921].structtype[single].name "grandparent_search.body" +datatype[1845861921].structtype[single].version 0 +datatype[1845861921].structtype[single].field[0] +datatype[1845861921].structtype[single].inherits[0] +datatype[1845861921].weightedsettype[0] +datatype[2126589281].id 2126589281 +datatype[2126589281].annotationreftype[0] +datatype[2126589281].arraytype[0] +datatype[2126589281].documenttype[0] +datatype[2126589281].structtype[1] +datatype[2126589281].structtype[single].name "father.header" +datatype[2126589281].structtype[single].version 0 +datatype[2126589281].structtype[single].field[1] +datatype[2126589281].structtype[single].field[onlyfather].datatype 2 +datatype[2126589281].structtype[single].field[onlyfather].name "onlyfather" +datatype[2126589281].structtype[single].field[onlyfather].id[0] +datatype[2126589281].structtype[single].inherits[0] +datatype[2126589281].weightedsettype[0] +datatype[328953555].id 328953555 +datatype[328953555].annotationreftype[0] +datatype[328953555].arraytype[0] +datatype[328953555].documenttype[1] +datatype[328953555].documenttype[single].bodystruct 1845861921 +datatype[328953555].documenttype[single].headerstruct 1530060044 +datatype[328953555].documenttype[single].name "grandparent_search" +datatype[328953555].documenttype[single].version 0 +datatype[328953555].documenttype[single].inherits[0] +datatype[328953555].structtype[0] +datatype[328953555].weightedsettype[0] +datatype[464784087].id 464784087 +datatype[464784087].annotationreftype[0] +datatype[464784087].arraytype[0] +datatype[464784087].documenttype[0] +datatype[464784087].structtype[1] +datatype[464784087].structtype[single].name "search_uri" +datatype[464784087].structtype[single].version 0 +datatype[464784087].structtype[single].field[7] +datatype[464784087].structtype[single].field[all].datatype 2 +datatype[464784087].structtype[single].field[all].name "all" +datatype[464784087].structtype[single].field[all].id[0] +datatype[464784087].structtype[single].field[fragment].datatype 2 +datatype[464784087].structtype[single].field[fragment].name "fragment" +datatype[464784087].structtype[single].field[fragment].id[0] +datatype[464784087].structtype[single].field[host].datatype 2 +datatype[464784087].structtype[single].field[host].name "host" +datatype[464784087].structtype[single].field[host].id[0] +datatype[464784087].structtype[single].field[path].datatype 2 +datatype[464784087].structtype[single].field[path].name "path" +datatype[464784087].structtype[single].field[path].id[0] +datatype[464784087].structtype[single].field[port].datatype 0 +datatype[464784087].structtype[single].field[port].name "port" +datatype[464784087].structtype[single].field[port].id[0] +datatype[464784087].structtype[single].field[query].datatype 2 +datatype[464784087].structtype[single].field[query].name "query" +datatype[464784087].structtype[single].field[query].id[0] +datatype[464784087].structtype[single].field[scheme].datatype 2 +datatype[464784087].structtype[single].field[scheme].name "scheme" +datatype[464784087].structtype[single].field[scheme].id[0] +datatype[464784087].structtype[single].inherits[0] +datatype[464784087].weightedsettype[0] +datatype[644645734].id 644645734 +datatype[644645734].annotationreftype[0] +datatype[644645734].arraytype[0] +datatype[644645734].documenttype[1] +datatype[644645734].documenttype[single].bodystruct -1852215954 +datatype[644645734].documenttype[single].headerstruct -384824039 +datatype[644645734].documenttype[single].name "mother_search" +datatype[644645734].documenttype[single].version 0 +datatype[644645734].documenttype[single].inherits[0] +datatype[644645734].structtype[0] +datatype[644645734].weightedsettype[0] +datatype[746267614].id 746267614 +datatype[746267614].annotationreftype[0] +datatype[746267614].arraytype[0] +datatype[746267614].documenttype[1] +datatype[746267614].documenttype[single].bodystruct -126593034 +datatype[746267614].documenttype[single].headerstruct 81425825 +datatype[746267614].documenttype[single].name "child" +datatype[746267614].documenttype[single].version 0 +datatype[746267614].documenttype[single].inherits[2] +datatype[746267614].documenttype[single].inherits[father].name "father" +datatype[746267614].documenttype[single].inherits[father].version 0 +datatype[746267614].documenttype[single].inherits[mother].name "mother" +datatype[746267614].documenttype[single].inherits[mother].version 0 +datatype[746267614].structtype[0] +datatype[746267614].weightedsettype[0] +datatype[81425825].id 81425825 +datatype[81425825].annotationreftype[0] +datatype[81425825].arraytype[0] +datatype[81425825].documenttype[0] +datatype[81425825].structtype[1] +datatype[81425825].structtype[single].name "child.header" +datatype[81425825].structtype[single].version 0 +datatype[81425825].structtype[single].field[1] +datatype[81425825].structtype[single].field[onlychild].datatype 2 +datatype[81425825].structtype[single].field[onlychild].name "onlychild" +datatype[81425825].structtype[single].field[onlychild].id[0] +datatype[81425825].structtype[single].inherits[0] +datatype[81425825].weightedsettype[0] +datatype[978262812].id 978262812 +datatype[978262812].annotationreftype[0] +datatype[978262812].arraytype[0] +datatype[978262812].documenttype[0] +datatype[978262812].structtype[1] +datatype[978262812].structtype[single].name "grandparent.body" +datatype[978262812].structtype[single].version 0 +datatype[978262812].structtype[single].field[0] +datatype[978262812].structtype[single].inherits[0] +datatype[978262812].weightedsettype[0] +datatype[986686494].id 986686494 +datatype[986686494].annotationreftype[0] +datatype[986686494].arraytype[0] +datatype[986686494].documenttype[1] +datatype[986686494].documenttype[single].bodystruct -1742340170 +datatype[986686494].documenttype[single].headerstruct 2126589281 +datatype[986686494].documenttype[single].name "father" +datatype[986686494].documenttype[single].version 0 +datatype[986686494].documenttype[single].inherits[1] +datatype[986686494].documenttype[single].inherits[grandparent].name "grandparent" +datatype[986686494].documenttype[single].inherits[grandparent].version 0 +datatype[986686494].structtype[0] +datatype[986686494].weightedsettype[0] +datatype[990971719].id 990971719 +datatype[990971719].annotationreftype[0] +datatype[990971719].arraytype[0] +datatype[990971719].documenttype[0] +datatype[990971719].structtype[1] +datatype[990971719].structtype[single].name "grandparent.header" +datatype[990971719].structtype[single].version 0 +datatype[990971719].structtype[single].field[2] +datatype[990971719].structtype[single].field[onlygrandparent].datatype 0 +datatype[990971719].structtype[single].field[onlygrandparent].name "onlygrandparent" +datatype[990971719].structtype[single].field[onlygrandparent].id[0] +datatype[990971719].structtype[single].field[overridden].datatype 0 +datatype[990971719].structtype[single].field[overridden].name "overridden" +datatype[990971719].structtype[single].field[overridden].id[0] +datatype[990971719].structtype[single].inherits[0] +datatype[990971719].weightedsettype[0] diff --git a/config-model/src/test/derived/inheritance/rank-profiles.cfg b/config-model/src/test/derived/inheritance/rank-profiles.cfg new file mode 100644 index 00000000000..abfea4714d5 --- /dev/null +++ b/config-model/src/test/derived/inheritance/rank-profiles.cfg @@ -0,0 +1,16 @@ +rankprofile[2] +rankprofile[default].name "default" +rankprofile[default].fef.property[0] +rankprofile[unranked].binhigh 0 +rankprofile[unranked].binlow 0 +rankprofile[unranked].binsize 0.0 +rankprofile[unranked].name "unranked" +rankprofile[unranked].fef.property[4] +rankprofile[unranked].fef.property[a00000].name "vespa.rank.firstphase" +rankprofile[unranked].fef.property[a00000].value "value(0)" +rankprofile[unranked].fef.property[a00001].name "vespa.hitcollector.heapsize" +rankprofile[unranked].fef.property[a00001].value "0" +rankprofile[unranked].fef.property[a00002].name "vespa.hitcollector.arraysize" +rankprofile[unranked].fef.property[a00002].value "0" +rankprofile[unranked].fef.property[a00003].name "vespa.dump.ignoredefaultfeatures" +rankprofile[unranked].fef.property[a00003].value "true" diff --git a/config-model/src/test/derived/inheritance/summary.cfg b/config-model/src/test/derived/inheritance/summary.cfg new file mode 100644 index 00000000000..c396dc780b4 --- /dev/null +++ b/config-model/src/test/derived/inheritance/summary.cfg @@ -0,0 +1,26 @@ +defaultsummaryid 1570256615 +classes[2] +classes[1570256615].id 1570256615 +classes[1570256615].name "child" +classes[1570256615].fields[4] +classes[1570256615].fields[documentid].name "documentid" +classes[1570256615].fields[documentid].type "longstring" +classes[1570256615].fields[onlyfather].name "onlyfather" +classes[1570256615].fields[onlyfather].type "longstring" +classes[1570256615].fields[rankfeatures].name "rankfeatures" +classes[1570256615].fields[rankfeatures].type "longstring" +classes[1570256615].fields[summaryfeatures].name "summaryfeatures" +classes[1570256615].fields[summaryfeatures].type "longstring" +classes[306313061].id 306313061 +classes[306313061].name "attributeprefetch" +classes[306313061].fields[5] +classes[306313061].fields[onlygrandparent].name "onlygrandparent" +classes[306313061].fields[onlygrandparent].type "integer" +classes[306313061].fields[onlymother].name "onlymother" +classes[306313061].fields[onlymother].type "longstring" +classes[306313061].fields[overridden].name "overridden" +classes[306313061].fields[overridden].type "integer" +classes[306313061].fields[rankfeatures].name "rankfeatures" +classes[306313061].fields[rankfeatures].type "longstring" +classes[306313061].fields[summaryfeatures].name "summaryfeatures" +classes[306313061].fields[summaryfeatures].type "longstring" diff --git a/config-model/src/test/derived/inheritance/summarymap.cfg b/config-model/src/test/derived/inheritance/summarymap.cfg new file mode 100644 index 00000000000..c92c8e1cf6c --- /dev/null +++ b/config-model/src/test/derived/inheritance/summarymap.cfg @@ -0,0 +1,17 @@ +defaultoutputclass -1 +override[5] +override[onlygrandparent].arguments "onlygrandparent" +override[onlygrandparent].command "attribute" +override[onlygrandparent].field "onlygrandparent" +override[onlymother].arguments "onlymother" +override[onlymother].command "attribute" +override[onlymother].field "onlymother" +override[overridden].arguments "overridden" +override[overridden].command "attribute" +override[overridden].field "overridden" +override[rankfeatures].arguments "" +override[rankfeatures].command "rankfeatures" +override[rankfeatures].field "rankfeatures" +override[summaryfeatures].arguments "" +override[summaryfeatures].command "summaryfeatures" +override[summaryfeatures].field "summaryfeatures" diff --git a/config-model/src/test/derived/inheritancebadtypes/child.sd b/config-model/src/test/derived/inheritancebadtypes/child.sd new file mode 100644 index 00000000000..5a3f5b46b24 --- /dev/null +++ b/config-model/src/test/derived/inheritancebadtypes/child.sd @@ -0,0 +1,8 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search child { +document child inherits parent { + field a type int { + indexing: index + } +} +} diff --git a/config-model/src/test/derived/inheritancebadtypes/parent.sd b/config-model/src/test/derived/inheritancebadtypes/parent.sd new file mode 100644 index 00000000000..470faf4fec6 --- /dev/null +++ b/config-model/src/test/derived/inheritancebadtypes/parent.sd @@ -0,0 +1,8 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search parent { +document parent { + field a type string { + indexing: index + } +} +} diff --git a/config-model/src/test/derived/inheritdiamond/.gitignore b/config-model/src/test/derived/inheritdiamond/.gitignore new file mode 100644 index 00000000000..fc6b63d95e9 --- /dev/null +++ b/config-model/src/test/derived/inheritdiamond/.gitignore @@ -0,0 +1 @@ +/documentmanager.15.cfg diff --git a/config-model/src/test/derived/inheritdiamond/child.sd b/config-model/src/test/derived/inheritdiamond/child.sd new file mode 100644 index 00000000000..795f01edbaa --- /dev/null +++ b/config-model/src/test/derived/inheritdiamond/child.sd @@ -0,0 +1,12 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search child { + document child inherits mother, father { + struct child_struct { + field child_field type string { } + } + field foo type grandparent_struct { } + field bar type mother_struct { } + field baz type father_struct { } + field cox type child_struct { } + } +} diff --git a/config-model/src/test/derived/inheritdiamond/documentmanager.cfg b/config-model/src/test/derived/inheritdiamond/documentmanager.cfg new file mode 100644 index 00000000000..5f3edfb8475 --- /dev/null +++ b/config-model/src/test/derived/inheritdiamond/documentmanager.cfg @@ -0,0 +1,269 @@ +enablecompression false +datatype[0].id -126593034 +datatype[0].structtype[0].name "child.body" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[1].id 336538650 +datatype[1].structtype[0].name "child_struct" +datatype[1].structtype[0].version 0 +datatype[1].structtype[0].compresstype NONE +datatype[1].structtype[0].compresslevel 0 +datatype[1].structtype[0].compressthreshold 95 +datatype[1].structtype[0].compressminsize 800 +datatype[1].structtype[0].field[0].name "child_field" +datatype[1].structtype[0].field[0].datatype 2 +datatype[2].id 81425825 +datatype[2].structtype[0].name "child.header" +datatype[2].structtype[0].version 0 +datatype[2].structtype[0].compresstype NONE +datatype[2].structtype[0].compresslevel 0 +datatype[2].structtype[0].compressthreshold 95 +datatype[2].structtype[0].compressminsize 800 +datatype[2].structtype[0].field[0].name "foo" +datatype[2].structtype[0].field[0].datatype 1246084544 +datatype[2].structtype[0].field[1].name "bar" +datatype[2].structtype[0].field[1].datatype 1561776723 +datatype[2].structtype[0].field[2].name "baz" +datatype[2].structtype[0].field[2].datatype -1913265190 +datatype[2].structtype[0].field[3].name "cox" +datatype[2].structtype[0].field[3].datatype 336538650 +datatype[3].id 746267614 +datatype[3].documenttype[0].name "child" +datatype[3].documenttype[0].version 0 +datatype[3].documenttype[0].inherits[0].name "mother" +datatype[3].documenttype[0].inherits[0].version 0 +datatype[3].documenttype[0].inherits[1].name "document" +datatype[3].documenttype[0].inherits[1].version 0 +datatype[3].documenttype[0].inherits[2].name "father" +datatype[3].documenttype[0].inherits[2].version 0 +datatype[3].documenttype[0].headerstruct 81425825 +datatype[3].documenttype[0].bodystruct -126593034 +datatype[4].id -1913265190 +datatype[4].structtype[0].name "father_struct" +datatype[4].structtype[0].version 0 +datatype[4].structtype[0].compresstype NONE +datatype[4].structtype[0].compresslevel 0 +datatype[4].structtype[0].compressthreshold 95 +datatype[4].structtype[0].compressminsize 800 +datatype[4].structtype[0].field[0].name "father_field" +datatype[4].structtype[0].field[0].datatype 2 +datatype[5].id 1246084544 +datatype[5].structtype[0].name "grandparent_struct" +datatype[5].structtype[0].version 0 +datatype[5].structtype[0].compresstype NONE +datatype[5].structtype[0].compresslevel 0 +datatype[5].structtype[0].compressthreshold 95 +datatype[5].structtype[0].compressminsize 800 +datatype[5].structtype[0].field[0].name "grandparent_field" +datatype[5].structtype[0].field[0].datatype 2 +datatype[6].id -1962244686 +datatype[6].structtype[0].name "father_search.header" +datatype[6].structtype[0].version 0 +datatype[6].structtype[0].compresstype NONE +datatype[6].structtype[0].compresslevel 0 +datatype[6].structtype[0].compressthreshold 95 +datatype[6].structtype[0].compressminsize 800 +datatype[6].structtype[0].field[0].name "rankfeatures" +datatype[6].structtype[0].field[0].datatype 2 +datatype[6].structtype[0].field[1].name "summaryfeatures" +datatype[6].structtype[0].field[1].datatype 2 +datatype[7].id -52742073 +datatype[7].structtype[0].name "father_search.body" +datatype[7].structtype[0].version 0 +datatype[7].structtype[0].compresstype NONE +datatype[7].structtype[0].compresslevel 0 +datatype[7].structtype[0].compressthreshold 95 +datatype[7].structtype[0].compressminsize 800 +datatype[8].id 1464571117 +datatype[8].documenttype[0].name "father_search" +datatype[8].documenttype[0].version 0 +datatype[8].documenttype[0].inherits[0].name "document" +datatype[8].documenttype[0].inherits[0].version 0 +datatype[8].documenttype[0].headerstruct -1962244686 +datatype[8].documenttype[0].bodystruct -52742073 +datatype[9].id -1852215954 +datatype[9].structtype[0].name "mother_search.body" +datatype[9].structtype[0].version 0 +datatype[9].structtype[0].compresstype NONE +datatype[9].structtype[0].compresslevel 0 +datatype[9].structtype[0].compressthreshold 95 +datatype[9].structtype[0].compressminsize 800 +datatype[10].id -384824039 +datatype[10].structtype[0].name "mother_search.header" +datatype[10].structtype[0].version 0 +datatype[10].structtype[0].compresstype NONE +datatype[10].structtype[0].compresslevel 0 +datatype[10].structtype[0].compressthreshold 95 +datatype[10].structtype[0].compressminsize 800 +datatype[10].structtype[0].field[0].name "rankfeatures" +datatype[10].structtype[0].field[0].datatype 2 +datatype[10].structtype[0].field[1].name "summaryfeatures" +datatype[10].structtype[0].field[1].datatype 2 +datatype[11].id 1561776723 +datatype[11].structtype[0].name "mother_struct" +datatype[11].structtype[0].version 0 +datatype[11].structtype[0].compresstype NONE +datatype[11].structtype[0].compresslevel 0 +datatype[11].structtype[0].compressthreshold 95 +datatype[11].structtype[0].compressminsize 800 +datatype[11].structtype[0].field[0].name "mother_field" +datatype[11].structtype[0].field[0].datatype 2 +datatype[12].id 644645734 +datatype[12].documenttype[0].name "mother_search" +datatype[12].documenttype[0].version 0 +datatype[12].documenttype[0].inherits[0].name "document" +datatype[12].documenttype[0].inherits[0].version 0 +datatype[12].documenttype[0].headerstruct -384824039 +datatype[12].documenttype[0].bodystruct -1852215954 +datatype[13].id 1306663898 +datatype[13].structtype[0].name "mother.header" +datatype[13].structtype[0].version 0 +datatype[13].structtype[0].compresstype NONE +datatype[13].structtype[0].compresslevel 0 +datatype[13].structtype[0].compressthreshold 95 +datatype[13].structtype[0].compressminsize 800 +datatype[14].id -1989003153 +datatype[14].structtype[0].name "mother.body" +datatype[14].structtype[0].version 0 +datatype[14].structtype[0].compresstype NONE +datatype[14].structtype[0].compresslevel 0 +datatype[14].structtype[0].compressthreshold 95 +datatype[14].structtype[0].compressminsize 800 +datatype[15].id -158393403 +datatype[15].documenttype[0].name "mother" +datatype[15].documenttype[0].version 0 +datatype[15].documenttype[0].inherits[0].name "grandparent" +datatype[15].documenttype[0].inherits[0].version 0 +datatype[15].documenttype[0].inherits[1].name "document" +datatype[15].documenttype[0].inherits[1].version 0 +datatype[15].documenttype[0].headerstruct 1306663898 +datatype[15].documenttype[0].bodystruct -1989003153 +datatype[16].id -205818510 +datatype[16].structtype[0].name "child_search.header" +datatype[16].structtype[0].version 0 +datatype[16].structtype[0].compresstype NONE +datatype[16].structtype[0].compresslevel 0 +datatype[16].structtype[0].compressthreshold 95 +datatype[16].structtype[0].compressminsize 800 +datatype[16].structtype[0].field[0].name "rankfeatures" +datatype[16].structtype[0].field[0].datatype 2 +datatype[16].structtype[0].field[1].name "summaryfeatures" +datatype[16].structtype[0].field[1].datatype 2 +datatype[17].id -1467672569 +datatype[17].structtype[0].name "child_search.body" +datatype[17].structtype[0].version 0 +datatype[17].structtype[0].compresstype NONE +datatype[17].structtype[0].compresslevel 0 +datatype[17].structtype[0].compressthreshold 95 +datatype[17].structtype[0].compressminsize 800 +datatype[18].id -580592339 +datatype[18].documenttype[0].name "child_search" +datatype[18].documenttype[0].version 0 +datatype[18].documenttype[0].inherits[0].name "document" +datatype[18].documenttype[0].inherits[0].version 0 +datatype[18].documenttype[0].headerstruct -205818510 +datatype[18].documenttype[0].bodystruct -1467672569 +datatype[19].id 111553393 +datatype[19].structtype[0].name "url" +datatype[19].structtype[0].version 0 +datatype[19].structtype[0].compresstype NONE +datatype[19].structtype[0].compresslevel 0 +datatype[19].structtype[0].compressthreshold 95 +datatype[19].structtype[0].compressminsize 800 +datatype[19].structtype[0].field[0].name "all" +datatype[19].structtype[0].field[0].datatype 2 +datatype[19].structtype[0].field[1].name "scheme" +datatype[19].structtype[0].field[1].datatype 2 +datatype[19].structtype[0].field[2].name "host" +datatype[19].structtype[0].field[2].datatype 2 +datatype[19].structtype[0].field[3].name "port" +datatype[19].structtype[0].field[3].datatype 2 +datatype[19].structtype[0].field[4].name "path" +datatype[19].structtype[0].field[4].datatype 2 +datatype[19].structtype[0].field[5].name "query" +datatype[19].structtype[0].field[5].datatype 2 +datatype[19].structtype[0].field[6].name "fragment" +datatype[19].structtype[0].field[6].datatype 2 +datatype[20].id 1381038251 +datatype[20].structtype[0].name "position" +datatype[20].structtype[0].version 0 +datatype[20].structtype[0].compresstype NONE +datatype[20].structtype[0].compresslevel 0 +datatype[20].structtype[0].compressthreshold 95 +datatype[20].structtype[0].compressminsize 800 +datatype[20].structtype[0].field[0].name "x" +datatype[20].structtype[0].field[0].datatype 0 +datatype[20].structtype[0].field[1].name "y" +datatype[20].structtype[0].field[1].datatype 0 +datatype[21].id 1845861921 +datatype[21].structtype[0].name "grandparent_search.body" +datatype[21].structtype[0].version 0 +datatype[21].structtype[0].compresstype NONE +datatype[21].structtype[0].compresslevel 0 +datatype[21].structtype[0].compressthreshold 95 +datatype[21].structtype[0].compressminsize 800 +datatype[22].id 1530060044 +datatype[22].structtype[0].name "grandparent_search.header" +datatype[22].structtype[0].version 0 +datatype[22].structtype[0].compresstype NONE +datatype[22].structtype[0].compresslevel 0 +datatype[22].structtype[0].compressthreshold 95 +datatype[22].structtype[0].compressminsize 800 +datatype[22].structtype[0].field[0].name "rankfeatures" +datatype[22].structtype[0].field[0].datatype 2 +datatype[22].structtype[0].field[1].name "summaryfeatures" +datatype[22].structtype[0].field[1].datatype 2 +datatype[23].id 328953555 +datatype[23].documenttype[0].name "grandparent_search" +datatype[23].documenttype[0].version 0 +datatype[23].documenttype[0].inherits[0].name "document" +datatype[23].documenttype[0].inherits[0].version 0 +datatype[23].documenttype[0].headerstruct 1530060044 +datatype[23].documenttype[0].bodystruct 1845861921 +datatype[24].id 990971719 +datatype[24].structtype[0].name "grandparent.header" +datatype[24].structtype[0].version 0 +datatype[24].structtype[0].compresstype NONE +datatype[24].structtype[0].compresslevel 0 +datatype[24].structtype[0].compressthreshold 95 +datatype[24].structtype[0].compressminsize 800 +datatype[25].id 978262812 +datatype[25].structtype[0].name "grandparent.body" +datatype[25].structtype[0].version 0 +datatype[25].structtype[0].compresstype NONE +datatype[25].structtype[0].compresslevel 0 +datatype[25].structtype[0].compressthreshold 95 +datatype[25].structtype[0].compressminsize 800 +datatype[26].id -154107656 +datatype[26].documenttype[0].name "grandparent" +datatype[26].documenttype[0].version 0 +datatype[26].documenttype[0].inherits[0].name "document" +datatype[26].documenttype[0].inherits[0].version 0 +datatype[26].documenttype[0].headerstruct 990971719 +datatype[26].documenttype[0].bodystruct 978262812 +datatype[27].id -1742340170 +datatype[27].structtype[0].name "father.body" +datatype[27].structtype[0].version 0 +datatype[27].structtype[0].compresstype NONE +datatype[27].structtype[0].compresslevel 0 +datatype[27].structtype[0].compressthreshold 95 +datatype[27].structtype[0].compressminsize 800 +datatype[28].id 2126589281 +datatype[28].structtype[0].name "father.header" +datatype[28].structtype[0].version 0 +datatype[28].structtype[0].compresstype NONE +datatype[28].structtype[0].compresslevel 0 +datatype[28].structtype[0].compressthreshold 95 +datatype[28].structtype[0].compressminsize 800 +datatype[29].id 986686494 +datatype[29].documenttype[0].name "father" +datatype[29].documenttype[0].version 0 +datatype[29].documenttype[0].inherits[0].name "grandparent" +datatype[29].documenttype[0].inherits[0].version 0 +datatype[29].documenttype[0].inherits[1].name "document" +datatype[29].documenttype[0].inherits[1].version 0 +datatype[29].documenttype[0].headerstruct 2126589281 +datatype[29].documenttype[0].bodystruct -1742340170 diff --git a/config-model/src/test/derived/inheritdiamond/father.sd b/config-model/src/test/derived/inheritdiamond/father.sd new file mode 100644 index 00000000000..59bd145cf5a --- /dev/null +++ b/config-model/src/test/derived/inheritdiamond/father.sd @@ -0,0 +1,8 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search father { + document father inherits grandparent { + struct father_struct { + field father_field type string { } + } + } +} diff --git a/config-model/src/test/derived/inheritdiamond/grandparent.sd b/config-model/src/test/derived/inheritdiamond/grandparent.sd new file mode 100644 index 00000000000..2944c0f32cc --- /dev/null +++ b/config-model/src/test/derived/inheritdiamond/grandparent.sd @@ -0,0 +1,8 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search grandparent { + document grandparent { + struct grandparent_struct { + field grandparent_field type string { } + } + } +} diff --git a/config-model/src/test/derived/inheritdiamond/mother.sd b/config-model/src/test/derived/inheritdiamond/mother.sd new file mode 100644 index 00000000000..cd5fa8cae4d --- /dev/null +++ b/config-model/src/test/derived/inheritdiamond/mother.sd @@ -0,0 +1,8 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search mother { + document mother inherits grandparent { + struct mother_struct { + field mother_field type string { } + } + } +} diff --git a/config-model/src/test/derived/inheritfromgrandparent/child.sd b/config-model/src/test/derived/inheritfromgrandparent/child.sd new file mode 100644 index 00000000000..891a92323b1 --- /dev/null +++ b/config-model/src/test/derived/inheritfromgrandparent/child.sd @@ -0,0 +1,6 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search child { + document child inherits parent { + field child_field type grandparent_struct { } + } +} diff --git a/config-model/src/test/derived/inheritfromgrandparent/documentmanager.cfg b/config-model/src/test/derived/inheritfromgrandparent/documentmanager.cfg new file mode 100644 index 00000000000..8c51dc52c58 --- /dev/null +++ b/config-model/src/test/derived/inheritfromgrandparent/documentmanager.cfg @@ -0,0 +1,99 @@ +enablecompression false +datatype[0].id 1381038251 +datatype[0].structtype[0].name "position" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[0].structtype[0].field[0].name "x" +datatype[0].structtype[0].field[0].datatype 0 +datatype[0].structtype[0].field[1].name "y" +datatype[0].structtype[0].field[1].datatype 0 +datatype[1].id 1246084544 +datatype[1].structtype[0].name "grandparent_struct" +datatype[1].structtype[0].version 0 +datatype[1].structtype[0].compresstype NONE +datatype[1].structtype[0].compresslevel 0 +datatype[1].structtype[0].compressthreshold 95 +datatype[1].structtype[0].compressminsize 800 +datatype[1].structtype[0].field[0].name "grandparent_field" +datatype[1].structtype[0].field[0].datatype 2 +datatype[2].id 990971719 +datatype[2].structtype[0].name "grandparent.header" +datatype[2].structtype[0].version 0 +datatype[2].structtype[0].compresstype NONE +datatype[2].structtype[0].compresslevel 0 +datatype[2].structtype[0].compressthreshold 95 +datatype[2].structtype[0].compressminsize 800 +datatype[2].structtype[0].field[0].name "rankfeatures" +datatype[2].structtype[0].field[0].datatype 2 +datatype[2].structtype[0].field[1].name "summaryfeatures" +datatype[2].structtype[0].field[1].datatype 2 +datatype[3].id 978262812 +datatype[3].structtype[0].name "grandparent.body" +datatype[3].structtype[0].version 0 +datatype[3].structtype[0].compresstype NONE +datatype[3].structtype[0].compresslevel 0 +datatype[3].structtype[0].compressthreshold 95 +datatype[3].structtype[0].compressminsize 800 +datatype[4].id -154107656 +datatype[4].documenttype[0].name "grandparent" +datatype[4].documenttype[0].version 0 +datatype[4].documenttype[0].inherits[0].name "document" +datatype[4].documenttype[0].inherits[0].version 0 +datatype[4].documenttype[0].headerstruct 990971719 +datatype[4].documenttype[0].bodystruct 978262812 +datatype[5].id 836075987 +datatype[5].structtype[0].name "parent.header" +datatype[5].structtype[0].version 0 +datatype[5].structtype[0].compresstype NONE +datatype[5].structtype[0].compresslevel 0 +datatype[5].structtype[0].compressthreshold 95 +datatype[5].structtype[0].compressminsize 800 +datatype[6].id -389494616 +datatype[6].structtype[0].name "parent.body" +datatype[6].structtype[0].version 0 +datatype[6].structtype[0].compresstype NONE +datatype[6].structtype[0].compresslevel 0 +datatype[6].structtype[0].compressthreshold 95 +datatype[6].structtype[0].compressminsize 800 +datatype[7].id 1175161836 +datatype[7].documenttype[0].name "parent" +datatype[7].documenttype[0].version 0 +datatype[7].documenttype[0].inherits[0].name "grandparent" +datatype[7].documenttype[0].inherits[0].version 0 +datatype[7].documenttype[0].inherits[1].name "document" +datatype[7].documenttype[0].inherits[1].version 0 +datatype[7].documenttype[0].headerstruct 836075987 +datatype[7].documenttype[0].bodystruct -389494616 +datatype[7].documenttype[0].fieldsets{[document]}.fields[0] "rankfeatures" +datatype[7].documenttype[0].fieldsets{[document]}.fields[1] "summaryfeatures" +datatype[8].id 81425825 +datatype[8].structtype[0].name "child.header" +datatype[8].structtype[0].version 0 +datatype[8].structtype[0].compresstype NONE +datatype[8].structtype[0].compresslevel 0 +datatype[8].structtype[0].compressthreshold 95 +datatype[8].structtype[0].compressminsize 800 +datatype[8].structtype[0].field[0].name "child_field" +datatype[8].structtype[0].field[0].datatype 1246084544 +datatype[9].id -126593034 +datatype[9].structtype[0].name "child.body" +datatype[9].structtype[0].version 0 +datatype[9].structtype[0].compresstype NONE +datatype[9].structtype[0].compresslevel 0 +datatype[9].structtype[0].compressthreshold 95 +datatype[9].structtype[0].compressminsize 800 +datatype[10].id 746267614 +datatype[10].documenttype[0].name "child" +datatype[10].documenttype[0].version 0 +datatype[10].documenttype[0].inherits[0].name "document" +datatype[10].documenttype[0].inherits[0].version 0 +datatype[10].documenttype[0].inherits[1].name "parent" +datatype[10].documenttype[0].inherits[1].version 0 +datatype[10].documenttype[0].headerstruct 81425825 +datatype[10].documenttype[0].bodystruct -126593034 +datatype[10].documenttype[0].fieldsets{[document]}.fields[0] "child_field" +datatype[10].documenttype[0].fieldsets{[document]}.fields[1] "rankfeatures" +datatype[10].documenttype[0].fieldsets{[document]}.fields[2] "summaryfeatures" diff --git a/config-model/src/test/derived/inheritfromgrandparent/grandparent.sd b/config-model/src/test/derived/inheritfromgrandparent/grandparent.sd new file mode 100644 index 00000000000..2944c0f32cc --- /dev/null +++ b/config-model/src/test/derived/inheritfromgrandparent/grandparent.sd @@ -0,0 +1,8 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search grandparent { + document grandparent { + struct grandparent_struct { + field grandparent_field type string { } + } + } +} diff --git a/config-model/src/test/derived/inheritfromgrandparent/parent.sd b/config-model/src/test/derived/inheritfromgrandparent/parent.sd new file mode 100644 index 00000000000..626d0c95657 --- /dev/null +++ b/config-model/src/test/derived/inheritfromgrandparent/parent.sd @@ -0,0 +1,6 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search parent { + document parent inherits grandparent { + + } +} diff --git a/config-model/src/test/derived/inheritfromnull/inheritfromnull.sd b/config-model/src/test/derived/inheritfromnull/inheritfromnull.sd new file mode 100644 index 00000000000..bac40a07284 --- /dev/null +++ b/config-model/src/test/derived/inheritfromnull/inheritfromnull.sd @@ -0,0 +1,5 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search inheritfromnull { + document inheritfromnull inherits foo { + } +} diff --git a/config-model/src/test/derived/inheritfromparent/attributes.cfg b/config-model/src/test/derived/inheritfromparent/attributes.cfg new file mode 100644 index 00000000000..a5e912fb984 --- /dev/null +++ b/config-model/src/test/derived/inheritfromparent/attributes.cfg @@ -0,0 +1,19 @@ +attribute[0].name "weight" +attribute[0].datatype FLOAT +attribute[0].collectiontype SINGLE +attribute[0].removeifzero false +attribute[0].createifnonexistent false +attribute[0].fastsearch false +attribute[0].huge false +attribute[0].sortascending true +attribute[0].sortfunction UCA +attribute[0].sortstrength PRIMARY +attribute[0].sortlocale "" +attribute[0].enablebitvectors false +attribute[0].enableonlybitvector false +attribute[0].fastaccess false +attribute[0].arity 8 +attribute[0].lowerbound -9223372036854775808 +attribute[0].upperbound 9223372036854775807 +attribute[0].densepostinglistthreshold 0.4 +attribute[0].tensortype ""
\ No newline at end of file diff --git a/config-model/src/test/derived/inheritfromparent/child.sd b/config-model/src/test/derived/inheritfromparent/child.sd new file mode 100644 index 00000000000..5c0242c9acc --- /dev/null +++ b/config-model/src/test/derived/inheritfromparent/child.sd @@ -0,0 +1,6 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search child { + document child inherits parent { + field child_field type parent_struct { } + } +} diff --git a/config-model/src/test/derived/inheritfromparent/documentmanager.cfg b/config-model/src/test/derived/inheritfromparent/documentmanager.cfg new file mode 100644 index 00000000000..fec59f5ff72 --- /dev/null +++ b/config-model/src/test/derived/inheritfromparent/documentmanager.cfg @@ -0,0 +1,81 @@ +enablecompression false +datatype[0].id 1381038251 +datatype[0].structtype[0].name "position" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[0].structtype[0].field[0].name "x" +datatype[0].structtype[0].field[0].datatype 0 +datatype[0].structtype[0].field[1].name "y" +datatype[0].structtype[0].field[1].datatype 0 +datatype[1].id 1091188812 +datatype[1].structtype[0].name "parent_struct" +datatype[1].structtype[0].version 0 +datatype[1].structtype[0].compresstype NONE +datatype[1].structtype[0].compresslevel 0 +datatype[1].structtype[0].compressthreshold 95 +datatype[1].structtype[0].compressminsize 800 +datatype[1].structtype[0].field[0].name "parent_field" +datatype[1].structtype[0].field[0].datatype 2 +datatype[2].id 836075987 +datatype[2].structtype[0].name "parent.header" +datatype[2].structtype[0].version 0 +datatype[2].structtype[0].compresstype NONE +datatype[2].structtype[0].compresslevel 0 +datatype[2].structtype[0].compressthreshold 95 +datatype[2].structtype[0].compressminsize 800 +datatype[2].structtype[0].field[0].name "weight_src" +datatype[2].structtype[0].field[0].datatype 1 +datatype[2].structtype[0].field[1].name "weight" +datatype[2].structtype[0].field[1].datatype 1 +datatype[2].structtype[0].field[2].name "rankfeatures" +datatype[2].structtype[0].field[2].datatype 2 +datatype[2].structtype[0].field[3].name "summaryfeatures" +datatype[2].structtype[0].field[3].datatype 2 +datatype[3].id -389494616 +datatype[3].structtype[0].name "parent.body" +datatype[3].structtype[0].version 0 +datatype[3].structtype[0].compresstype NONE +datatype[3].structtype[0].compresslevel 0 +datatype[3].structtype[0].compressthreshold 95 +datatype[3].structtype[0].compressminsize 800 +datatype[4].id 1175161836 +datatype[4].documenttype[0].name "parent" +datatype[4].documenttype[0].version 0 +datatype[4].documenttype[0].inherits[0].name "document" +datatype[4].documenttype[0].inherits[0].version 0 +datatype[4].documenttype[0].headerstruct 836075987 +datatype[4].documenttype[0].bodystruct -389494616 +datatype[4].documenttype[0].fieldsets{[document]}.fields[0] "weight_src" +datatype[5].id 81425825 +datatype[5].structtype[0].name "child.header" +datatype[5].structtype[0].version 0 +datatype[5].structtype[0].compresstype NONE +datatype[5].structtype[0].compresslevel 0 +datatype[5].structtype[0].compressthreshold 95 +datatype[5].structtype[0].compressminsize 800 +datatype[5].structtype[0].field[0].name "child_field" +datatype[5].structtype[0].field[0].datatype 1091188812 +datatype[6].id -126593034 +datatype[6].structtype[0].name "child.body" +datatype[6].structtype[0].version 0 +datatype[6].structtype[0].compresstype NONE +datatype[6].structtype[0].compresslevel 0 +datatype[6].structtype[0].compressthreshold 95 +datatype[6].structtype[0].compressminsize 800 +datatype[7].id 746267614 +datatype[7].documenttype[0].name "child" +datatype[7].documenttype[0].version 0 +datatype[7].documenttype[0].inherits[0].name "document" +datatype[7].documenttype[0].inherits[0].version 0 +datatype[7].documenttype[0].inherits[1].name "parent" +datatype[7].documenttype[0].inherits[1].version 0 +datatype[7].documenttype[0].headerstruct 81425825 +datatype[7].documenttype[0].bodystruct -126593034 +datatype[7].documenttype[0].fieldsets{[document]}.fields[0] "child_field" +datatype[7].documenttype[0].fieldsets{[document]}.fields[1] "rankfeatures" +datatype[7].documenttype[0].fieldsets{[document]}.fields[2] "summaryfeatures" +datatype[7].documenttype[0].fieldsets{[document]}.fields[3] "weight" +datatype[7].documenttype[0].fieldsets{[document]}.fields[4] "weight_src" diff --git a/config-model/src/test/derived/inheritfromparent/documenttypes.cfg b/config-model/src/test/derived/inheritfromparent/documenttypes.cfg new file mode 100644 index 00000000000..44677776f3c --- /dev/null +++ b/config-model/src/test/derived/inheritfromparent/documenttypes.cfg @@ -0,0 +1,119 @@ +enablecompression false +documenttype[0].id 1175161836 +documenttype[0].name "parent" +documenttype[0].version 0 +documenttype[0].headerstruct 836075987 +documenttype[0].bodystruct -389494616 +documenttype[0].inherits[0].id 8 +documenttype[0].datatype[0].id 1091188812 +documenttype[0].datatype[0].type STRUCT +documenttype[0].datatype[0].array.element.id 0 +documenttype[0].datatype[0].map.key.id 0 +documenttype[0].datatype[0].map.value.id 0 +documenttype[0].datatype[0].wset.key.id 0 +documenttype[0].datatype[0].wset.createifnonexistent false +documenttype[0].datatype[0].wset.removeifzero false +documenttype[0].datatype[0].annotationref.annotation.id 0 +documenttype[0].datatype[0].sstruct.name "parent_struct" +documenttype[0].datatype[0].sstruct.version 0 +documenttype[0].datatype[0].sstruct.compression.type NONE +documenttype[0].datatype[0].sstruct.compression.level 0 +documenttype[0].datatype[0].sstruct.compression.threshold 95 +documenttype[0].datatype[0].sstruct.compression.minsize 200 +documenttype[0].datatype[0].sstruct.field[0].name "parent_field" +documenttype[0].datatype[0].sstruct.field[0].id 933533022 +documenttype[0].datatype[0].sstruct.field[0].id_v6 2116869443 +documenttype[0].datatype[0].sstruct.field[0].datatype 2 +documenttype[0].datatype[1].id 836075987 +documenttype[0].datatype[1].type STRUCT +documenttype[0].datatype[1].array.element.id 0 +documenttype[0].datatype[1].map.key.id 0 +documenttype[0].datatype[1].map.value.id 0 +documenttype[0].datatype[1].wset.key.id 0 +documenttype[0].datatype[1].wset.createifnonexistent false +documenttype[0].datatype[1].wset.removeifzero false +documenttype[0].datatype[1].annotationref.annotation.id 0 +documenttype[0].datatype[1].sstruct.name "parent.header" +documenttype[0].datatype[1].sstruct.version 0 +documenttype[0].datatype[1].sstruct.compression.type NONE +documenttype[0].datatype[1].sstruct.compression.level 0 +documenttype[0].datatype[1].sstruct.compression.threshold 95 +documenttype[0].datatype[1].sstruct.compression.minsize 200 +documenttype[0].datatype[1].sstruct.field[0].name "weight_src" +documenttype[0].datatype[1].sstruct.field[0].id 1225660233 +documenttype[0].datatype[1].sstruct.field[0].id_v6 1350588470 +documenttype[0].datatype[1].sstruct.field[0].datatype 1 +documenttype[0].datatype[1].sstruct.field[1].name "weight" +documenttype[0].datatype[1].sstruct.field[1].id 1001392207 +documenttype[0].datatype[1].sstruct.field[1].id_v6 1329620545 +documenttype[0].datatype[1].sstruct.field[1].datatype 1 +documenttype[0].datatype[1].sstruct.field[2].name "rankfeatures" +documenttype[0].datatype[1].sstruct.field[2].id 1883197392 +documenttype[0].datatype[1].sstruct.field[2].id_v6 699950698 +documenttype[0].datatype[1].sstruct.field[2].datatype 2 +documenttype[0].datatype[1].sstruct.field[3].name "summaryfeatures" +documenttype[0].datatype[1].sstruct.field[3].id 1840337115 +documenttype[0].datatype[1].sstruct.field[3].id_v6 1981648971 +documenttype[0].datatype[1].sstruct.field[3].datatype 2 +documenttype[0].datatype[2].id -389494616 +documenttype[0].datatype[2].type STRUCT +documenttype[0].datatype[2].array.element.id 0 +documenttype[0].datatype[2].map.key.id 0 +documenttype[0].datatype[2].map.value.id 0 +documenttype[0].datatype[2].wset.key.id 0 +documenttype[0].datatype[2].wset.createifnonexistent false +documenttype[0].datatype[2].wset.removeifzero false +documenttype[0].datatype[2].annotationref.annotation.id 0 +documenttype[0].datatype[2].sstruct.name "parent.body" +documenttype[0].datatype[2].sstruct.version 0 +documenttype[0].datatype[2].sstruct.compression.type NONE +documenttype[0].datatype[2].sstruct.compression.level 0 +documenttype[0].datatype[2].sstruct.compression.threshold 95 +documenttype[0].datatype[2].sstruct.compression.minsize 200 +documenttype[0].fieldsets{[document]}.fields[0] "weight_src" +documenttype[1].id 746267614 +documenttype[1].name "child" +documenttype[1].version 0 +documenttype[1].headerstruct 81425825 +documenttype[1].bodystruct -126593034 +documenttype[1].inherits[0].id 8 +documenttype[1].inherits[1].id 1175161836 +documenttype[1].datatype[0].id 81425825 +documenttype[1].datatype[0].type STRUCT +documenttype[1].datatype[0].array.element.id 0 +documenttype[1].datatype[0].map.key.id 0 +documenttype[1].datatype[0].map.value.id 0 +documenttype[1].datatype[0].wset.key.id 0 +documenttype[1].datatype[0].wset.createifnonexistent false +documenttype[1].datatype[0].wset.removeifzero false +documenttype[1].datatype[0].annotationref.annotation.id 0 +documenttype[1].datatype[0].sstruct.name "child.header" +documenttype[1].datatype[0].sstruct.version 0 +documenttype[1].datatype[0].sstruct.compression.type NONE +documenttype[1].datatype[0].sstruct.compression.level 0 +documenttype[1].datatype[0].sstruct.compression.threshold 95 +documenttype[1].datatype[0].sstruct.compression.minsize 200 +documenttype[1].datatype[0].sstruct.field[0].name "child_field" +documenttype[1].datatype[0].sstruct.field[0].id 1814271363 +documenttype[1].datatype[0].sstruct.field[0].id_v6 405182398 +documenttype[1].datatype[0].sstruct.field[0].datatype 1091188812 +documenttype[1].datatype[1].id -126593034 +documenttype[1].datatype[1].type STRUCT +documenttype[1].datatype[1].array.element.id 0 +documenttype[1].datatype[1].map.key.id 0 +documenttype[1].datatype[1].map.value.id 0 +documenttype[1].datatype[1].wset.key.id 0 +documenttype[1].datatype[1].wset.createifnonexistent false +documenttype[1].datatype[1].wset.removeifzero false +documenttype[1].datatype[1].annotationref.annotation.id 0 +documenttype[1].datatype[1].sstruct.name "child.body" +documenttype[1].datatype[1].sstruct.version 0 +documenttype[1].datatype[1].sstruct.compression.type NONE +documenttype[1].datatype[1].sstruct.compression.level 0 +documenttype[1].datatype[1].sstruct.compression.threshold 95 +documenttype[1].datatype[1].sstruct.compression.minsize 200 +documenttype[1].fieldsets{[document]}.fields[0] "child_field" +documenttype[1].fieldsets{[document]}.fields[1] "rankfeatures" +documenttype[1].fieldsets{[document]}.fields[2] "summaryfeatures" +documenttype[1].fieldsets{[document]}.fields[3] "weight" +documenttype[1].fieldsets{[document]}.fields[4] "weight_src" diff --git a/config-model/src/test/derived/inheritfromparent/parent.sd b/config-model/src/test/derived/inheritfromparent/parent.sd new file mode 100644 index 00000000000..d9b0f206109 --- /dev/null +++ b/config-model/src/test/derived/inheritfromparent/parent.sd @@ -0,0 +1,17 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search parent { + document parent { + struct parent_struct { + field parent_field type string { } + } + + field weight_src type float { + } + } + + field weight type float { + indexing { + input weight_src * 10 | attribute | summary; + } + } +} diff --git a/config-model/src/test/derived/inheritfromparent/summarymap.cfg b/config-model/src/test/derived/inheritfromparent/summarymap.cfg new file mode 100644 index 00000000000..1ab79191ebd --- /dev/null +++ b/config-model/src/test/derived/inheritfromparent/summarymap.cfg @@ -0,0 +1,10 @@ +defaultoutputclass -1 +override[0].field "weight" +override[0].command "attribute" +override[0].arguments "weight" +override[1].field "rankfeatures" +override[1].command "rankfeatures" +override[1].arguments "" +override[2].field "summaryfeatures" +override[2].command "summaryfeatures" +override[2].arguments ""
\ No newline at end of file diff --git a/config-model/src/test/derived/inheritstruct/child.sd b/config-model/src/test/derived/inheritstruct/child.sd new file mode 100644 index 00000000000..05f65edd2ca --- /dev/null +++ b/config-model/src/test/derived/inheritstruct/child.sd @@ -0,0 +1,10 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search child { + document child inherits parent { + field child_struct_field type my_struct { + indexing: summary | index + header + match: prefix + } + } +} diff --git a/config-model/src/test/derived/inheritstruct/index-info.cfg b/config-model/src/test/derived/inheritstruct/index-info.cfg new file mode 100644 index 00000000000..ba9f3eead26 --- /dev/null +++ b/config-model/src/test/derived/inheritstruct/index-info.cfg @@ -0,0 +1,21 @@ +indexinfo[0].name "child" +indexinfo[0].command[0].indexname "sddocname" +indexinfo[0].command[0].command "index" +indexinfo[0].command[1].indexname "sddocname" +indexinfo[0].command[1].command "word" +indexinfo[0].command[2].indexname "child_struct_field.my_str" +indexinfo[0].command[2].command "index" +indexinfo[0].command[3].indexname "child_struct_field.my_str" +indexinfo[0].command[3].command "lowercase" +indexinfo[0].command[4].indexname "child_struct_field.my_str" +indexinfo[0].command[4].command "stem:SHORTEST" +indexinfo[0].command[5].indexname "child_struct_field.my_str" +indexinfo[0].command[5].command "normalize" +indexinfo[0].command[6].indexname "child_struct_field" +indexinfo[0].command[6].command "index" +indexinfo[0].command[7].indexname "child_struct_field" +indexinfo[0].command[7].command "lowercase" +indexinfo[0].command[8].indexname "rankfeatures" +indexinfo[0].command[8].command "index" +indexinfo[0].command[9].indexname "summaryfeatures" +indexinfo[0].command[9].command "index"
\ No newline at end of file diff --git a/config-model/src/test/derived/inheritstruct/parent.sd b/config-model/src/test/derived/inheritstruct/parent.sd new file mode 100644 index 00000000000..311d039cdb0 --- /dev/null +++ b/config-model/src/test/derived/inheritstruct/parent.sd @@ -0,0 +1,8 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search parent { + document parent { + struct my_struct { + field my_str type string { } + } + } +} diff --git a/config-model/src/test/derived/integerattributetostringindex/integerattributetostringindex.sd b/config-model/src/test/derived/integerattributetostringindex/integerattributetostringindex.sd new file mode 100644 index 00000000000..ecca60fd98b --- /dev/null +++ b/config-model/src/test/derived/integerattributetostringindex/integerattributetostringindex.sd @@ -0,0 +1,28 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search integerattributetostringindex { + document integerattributetostringindex { + field attinx type int { + indexing: summary | attribute | index + # index-to: attinx,default + } + +field artist type string { +indexing: summary | attribute +# index-to: artist, default +} + + +field title type string { +indexing: summary | index +# index-to: title, default +} + +field year type int { +indexing: summary | attribute +# index-to:default +attribute : fast-search +} + +} + +} diff --git a/config-model/src/test/derived/integerattributetostringindex/summary.cfg b/config-model/src/test/derived/integerattributetostringindex/summary.cfg new file mode 100644 index 00000000000..87567ceb348 --- /dev/null +++ b/config-model/src/test/derived/integerattributetostringindex/summary.cfg @@ -0,0 +1,29 @@ +defaultsummaryid 1195656216 +classes[0].id 1195656216 +classes[0].name "default" +classes[0].fields[0].name "attinx" +classes[0].fields[0].type "integer" +classes[0].fields[1].name "artist" +classes[0].fields[1].type "longstring" +classes[0].fields[2].name "title" +classes[0].fields[2].type "longstring" +classes[0].fields[3].name "year" +classes[0].fields[3].type "integer" +classes[0].fields[4].name "rankfeatures" +classes[0].fields[4].type "featuredata" +classes[0].fields[5].name "summaryfeatures" +classes[0].fields[5].type "featuredata" +classes[0].fields[6].name "documentid" +classes[0].fields[6].type "longstring" +classes[1].id 1706878063 +classes[1].name "attributeprefetch" +classes[1].fields[0].name "attinx" +classes[1].fields[0].type "integer" +classes[1].fields[1].name "artist" +classes[1].fields[1].type "longstring" +classes[1].fields[2].name "year" +classes[1].fields[2].type "integer" +classes[1].fields[3].name "rankfeatures" +classes[1].fields[3].type "featuredata" +classes[1].fields[4].name "summaryfeatures" +classes[1].fields[4].type "featuredata"
\ No newline at end of file diff --git a/config-model/src/test/derived/mail/attributes.cfg b/config-model/src/test/derived/mail/attributes.cfg new file mode 100644 index 00000000000..fe6c08cf36d --- /dev/null +++ b/config-model/src/test/derived/mail/attributes.cfg @@ -0,0 +1,40 @@ +attribute[0].name "date" +attribute[0].datatype INT32 +attribute[0].collectiontype SINGLE +attribute[0].removeifzero false +attribute[0].createifnonexistent false +attribute[0].loadtype ALWAYS +attribute[0].sparse false +attribute[0].noupdate false +attribute[0].fastsearch false +attribute[0].fastaggregate false +attribute[0].huge false +attribute[0].nosummary false +attribute[0].sortascending true +attribute[0].sortfunction UCA +attribute[0].sortstrength PRIMARY +attribute[0].sortlocale "" +attribute[0].enablebitvectors false +attribute[0].enableonlybitvector false +attribute[0].fastaccess false +attribute[0].arity 8 +attribute[1].name "attachmentcount" +attribute[1].datatype INT32 +attribute[1].collectiontype SINGLE +attribute[1].removeifzero false +attribute[1].createifnonexistent false +attribute[1].loadtype ALWAYS +attribute[1].sparse false +attribute[1].noupdate false +attribute[1].fastsearch false +attribute[1].fastaggregate false +attribute[1].huge false +attribute[1].nosummary false +attribute[1].sortascending true +attribute[1].sortfunction UCA +attribute[1].sortstrength PRIMARY +attribute[1].sortlocale "" +attribute[1].enablebitvectors false +attribute[1].enableonlybitvector false +attribute[1].fastaccess false +attribute[1].arity 8
\ No newline at end of file diff --git a/config-model/src/test/derived/mail/documentmanager.cfg b/config-model/src/test/derived/mail/documentmanager.cfg new file mode 100644 index 00000000000..c1d92402ee7 --- /dev/null +++ b/config-model/src/test/derived/mail/documentmanager.cfg @@ -0,0 +1,115 @@ +enablecompression false +datatype[0].id 1381038251 +datatype[0].structtype[0].name "position" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[0].structtype[0].field[0].name "x" +datatype[0].structtype[0].field[0].datatype 0 +datatype[0].structtype[0].field[1].name "y" +datatype[0].structtype[0].field[1].datatype 0 +datatype[1].id -88808602 +datatype[1].structtype[0].name "mail.header" +datatype[1].structtype[0].version 0 +datatype[1].structtype[0].compresstype NONE +datatype[1].structtype[0].compresslevel 0 +datatype[1].structtype[0].compressthreshold 95 +datatype[1].structtype[0].compressminsize 800 +datatype[1].structtype[0].field[0].name "URI" +datatype[1].structtype[0].field[0].datatype 10 +datatype[1].structtype[0].field[1].name "mailid" +datatype[1].structtype[0].field[1].datatype 2 +datatype[1].structtype[0].field[2].name "date" +datatype[1].structtype[0].field[2].datatype 0 +datatype[1].structtype[0].field[3].name "from" +datatype[1].structtype[0].field[3].datatype 2 +datatype[1].structtype[0].field[4].name "replyto" +datatype[1].structtype[0].field[4].datatype 12 +datatype[1].structtype[0].field[5].name "to" +datatype[1].structtype[0].field[5].datatype 2 +datatype[1].structtype[0].field[6].name "cc" +datatype[1].structtype[0].field[6].datatype 2 +datatype[1].structtype[0].field[7].name "bcc" +datatype[1].structtype[0].field[7].datatype 2 +datatype[1].structtype[0].field[8].name "subject" +datatype[1].structtype[0].field[8].datatype 2 +datatype[1].structtype[0].field[9].name "snippet" +datatype[1].structtype[0].field[9].datatype 2 +datatype[1].structtype[0].field[10].name "rankfeatures" +datatype[1].structtype[0].field[10].datatype 2 +datatype[1].structtype[0].field[11].name "summaryfeatures" +datatype[1].structtype[0].field[11].datatype 2 +datatype[2].id -1206550296 +datatype[2].arraytype[0].datatype 12 +datatype[3].id -953584901 +datatype[3].structtype[0].name "mail.body" +datatype[3].structtype[0].version 0 +datatype[3].structtype[0].compresstype NONE +datatype[3].structtype[0].compresslevel 0 +datatype[3].structtype[0].compressthreshold 95 +datatype[3].structtype[0].compressminsize 800 +datatype[3].structtype[0].field[0].name "body" +datatype[3].structtype[0].field[0].datatype 12 +datatype[3].structtype[0].field[1].name "attachmentcount" +datatype[3].structtype[0].field[1].datatype 0 +datatype[3].structtype[0].field[2].name "attachmentnames" +datatype[3].structtype[0].field[2].datatype 2 +datatype[3].structtype[0].field[3].name "attachmenttypes" +datatype[3].structtype[0].field[3].datatype 2 +datatype[3].structtype[0].field[4].name "attachmentlanguages" +datatype[3].structtype[0].field[4].datatype 2 +datatype[3].structtype[0].field[5].name "attachmentcontent" +datatype[3].structtype[0].field[5].datatype 2 +datatype[3].structtype[0].field[6].name "attachments" +datatype[3].structtype[0].field[6].datatype -1206550296 +datatype[4].id -1081574983 +datatype[4].documenttype[0].name "mail" +datatype[4].documenttype[0].version 0 +datatype[4].documenttype[0].inherits[0].name "document" +datatype[4].documenttype[0].inherits[0].version 0 +datatype[4].documenttype[0].headerstruct -88808602 +datatype[4].documenttype[0].bodystruct -953584901 +datatype[4].documenttype[0].fieldsets{sender}.fields[0] "from" +datatype[4].documenttype[0].fieldsets{address}.fields[0] "cc" +datatype[4].documenttype[0].fieldsets{address}.fields[1] "from" +datatype[4].documenttype[0].fieldsets{address}.fields[2] "to" +datatype[4].documenttype[0].fieldsets{header}.fields[0] "cc" +datatype[4].documenttype[0].fieldsets{header}.fields[1] "from" +datatype[4].documenttype[0].fieldsets{header}.fields[2] "subject" +datatype[4].documenttype[0].fieldsets{header}.fields[3] "to" +datatype[4].documenttype[0].fieldsets{default}.fields[0] "body" +datatype[4].documenttype[0].fieldsets{default}.fields[1] "cc" +datatype[4].documenttype[0].fieldsets{default}.fields[2] "from" +datatype[4].documenttype[0].fieldsets{default}.fields[3] "subject" +datatype[4].documenttype[0].fieldsets{default}.fields[4] "to" +datatype[4].documenttype[0].fieldsets{all}.fields[0] "attachmentcontent" +datatype[4].documenttype[0].fieldsets{all}.fields[1] "attachmentnames" +datatype[4].documenttype[0].fieldsets{all}.fields[2] "attachmenttypes" +datatype[4].documenttype[0].fieldsets{all}.fields[3] "body" +datatype[4].documenttype[0].fieldsets{all}.fields[4] "cc" +datatype[4].documenttype[0].fieldsets{all}.fields[5] "from" +datatype[4].documenttype[0].fieldsets{all}.fields[6] "subject" +datatype[4].documenttype[0].fieldsets{all}.fields[7] "to" +datatype[4].documenttype[0].fieldsets{recipient}.fields[0] "cc" +datatype[4].documenttype[0].fieldsets{recipient}.fields[1] "to" +datatype[4].documenttype[0].fieldsets{attachmentname}.fields[0] "attachmentnames" +datatype[4].documenttype[0].fieldsets{attachmenttype}.fields[0] "attachmenttypes" +datatype[4].documenttype[0].fieldsets{attachment}.fields[0] "attachmentcontent" +datatype[4].documenttype[0].fieldsets{[document]}.fields[0] "URI" +datatype[4].documenttype[0].fieldsets{[document]}.fields[1] "attachmentcontent" +datatype[4].documenttype[0].fieldsets{[document]}.fields[2] "attachmentcount" +datatype[4].documenttype[0].fieldsets{[document]}.fields[3] "attachmentlanguages" +datatype[4].documenttype[0].fieldsets{[document]}.fields[4] "attachmentnames" +datatype[4].documenttype[0].fieldsets{[document]}.fields[5] "attachments" +datatype[4].documenttype[0].fieldsets{[document]}.fields[6] "attachmenttypes" +datatype[4].documenttype[0].fieldsets{[document]}.fields[7] "bcc" +datatype[4].documenttype[0].fieldsets{[document]}.fields[8] "body" +datatype[4].documenttype[0].fieldsets{[document]}.fields[9] "cc" +datatype[4].documenttype[0].fieldsets{[document]}.fields[10] "date" +datatype[4].documenttype[0].fieldsets{[document]}.fields[11] "from" +datatype[4].documenttype[0].fieldsets{[document]}.fields[12] "mailid" +datatype[4].documenttype[0].fieldsets{[document]}.fields[13] "replyto" +datatype[4].documenttype[0].fieldsets{[document]}.fields[14] "subject" +datatype[4].documenttype[0].fieldsets{[document]}.fields[15] "to" diff --git a/config-model/src/test/derived/mail/ilscripts.cfg b/config-model/src/test/derived/mail/ilscripts.cfg new file mode 100644 index 00000000000..effc8d998b5 --- /dev/null +++ b/config-model/src/test/derived/mail/ilscripts.cfg @@ -0,0 +1,33 @@ +ilscript[0].doctype "mail" +ilscript[0].docfield[0] "URI" +ilscript[0].docfield[1] "mailid" +ilscript[0].docfield[2] "date" +ilscript[0].docfield[3] "from" +ilscript[0].docfield[4] "replyto" +ilscript[0].docfield[5] "to" +ilscript[0].docfield[6] "cc" +ilscript[0].docfield[7] "bcc" +ilscript[0].docfield[8] "subject" +ilscript[0].docfield[9] "body" +ilscript[0].docfield[10] "attachmentcount" +ilscript[0].docfield[11] "attachmentnames" +ilscript[0].docfield[12] "attachmenttypes" +ilscript[0].docfield[13] "attachmentlanguages" +ilscript[0].docfield[14] "attachmentcontent" +ilscript[0].docfield[15] "attachments" +ilscript[0].content[0] "clear_state | guard { (input body | to_string) . (input attachmentcontent | to_string) | tokenize normalize | summary snippet; }" +ilscript[0].content[1] "clear_state | guard { input URI | summary URI; }" +ilscript[0].content[2] "clear_state | guard { input mailid | tokenize normalize | summary mailid | index mailid; }" +ilscript[0].content[3] "clear_state | guard { input date | summary date | attribute date; }" +ilscript[0].content[4] "clear_state | guard { input from | tokenize normalize | summary from | index from; }" +ilscript[0].content[5] "clear_state | guard { input replyto | summary replyto | index replyto; }" +ilscript[0].content[6] "clear_state | guard { input to | tokenize normalize | summary to | index to; }" +ilscript[0].content[7] "clear_state | guard { input cc | tokenize normalize | index cc; }" +ilscript[0].content[8] "clear_state | guard { input bcc | tokenize normalize | index bcc; }" +ilscript[0].content[9] "clear_state | guard { input subject | tokenize normalize | summary subject | index subject; }" +ilscript[0].content[10] "clear_state | guard { input body | summary body | index body; }" +ilscript[0].content[11] "clear_state | guard { input attachmentcount | summary attachmentcount | attribute attachmentcount; }" +ilscript[0].content[12] "clear_state | guard { input attachmentnames | tokenize normalize | index attachmentnames; }" +ilscript[0].content[13] "clear_state | guard { input attachmenttypes | tokenize normalize | index attachmenttypes; }" +ilscript[0].content[14] "clear_state | guard { input attachmentlanguages | tokenize normalize | index attachmentlanguages; }" +ilscript[0].content[15] "clear_state | guard { input attachmentcontent | tokenize normalize | summary attachmentcontent | index attachmentcontent; }"
\ No newline at end of file diff --git a/config-model/src/test/derived/mail/index-info.cfg b/config-model/src/test/derived/mail/index-info.cfg new file mode 100644 index 00000000000..fc5192a6014 --- /dev/null +++ b/config-model/src/test/derived/mail/index-info.cfg @@ -0,0 +1,155 @@ +indexinfo[0].name "mail" +indexinfo[0].command[0].indexname "sddocname" +indexinfo[0].command[0].command "index" +indexinfo[0].command[1].indexname "sddocname" +indexinfo[0].command[1].command "word" +indexinfo[0].command[2].indexname "URI" +indexinfo[0].command[2].command "index" +indexinfo[0].command[3].indexname "URI" +indexinfo[0].command[3].command "fullurl" +indexinfo[0].command[4].indexname "URI" +indexinfo[0].command[4].command "lowercase" +indexinfo[0].command[5].indexname "URI.URI" +indexinfo[0].command[5].command "fullurl" +indexinfo[0].command[6].indexname "URI.URI" +indexinfo[0].command[6].command "lowercase" +indexinfo[0].command[7].indexname "URI.path" +indexinfo[0].command[7].command "fullurl" +indexinfo[0].command[8].indexname "URI.path" +indexinfo[0].command[8].command "lowercase" +indexinfo[0].command[9].indexname "URI.query" +indexinfo[0].command[9].command "fullurl" +indexinfo[0].command[10].indexname "URI.query" +indexinfo[0].command[10].command "lowercase" +indexinfo[0].command[11].indexname "URI.hostname" +indexinfo[0].command[11].command "urlhost" +indexinfo[0].command[12].indexname "URI.hostname" +indexinfo[0].command[12].command "lowercase" +indexinfo[0].command[13].indexname "mailid" +indexinfo[0].command[13].command "index" +indexinfo[0].command[14].indexname "mailid" +indexinfo[0].command[14].command "lowercase" +indexinfo[0].command[15].indexname "mailid" +indexinfo[0].command[15].command "normalize" +indexinfo[0].command[16].indexname "date" +indexinfo[0].command[16].command "index" +indexinfo[0].command[17].indexname "date" +indexinfo[0].command[17].command "attribute" +indexinfo[0].command[18].indexname "from" +indexinfo[0].command[18].command "index" +indexinfo[0].command[19].indexname "sender" +indexinfo[0].command[19].command "index" +indexinfo[0].command[20].indexname "address" +indexinfo[0].command[20].command "index" +indexinfo[0].command[21].indexname "header" +indexinfo[0].command[21].command "index" +indexinfo[0].command[22].indexname "default" +indexinfo[0].command[22].command "index" +indexinfo[0].command[23].indexname "all" +indexinfo[0].command[23].command "index" +indexinfo[0].command[24].indexname "from" +indexinfo[0].command[24].command "lowercase" +indexinfo[0].command[25].indexname "sender" +indexinfo[0].command[25].command "lowercase" +indexinfo[0].command[26].indexname "address" +indexinfo[0].command[26].command "lowercase" +indexinfo[0].command[27].indexname "header" +indexinfo[0].command[27].command "lowercase" +indexinfo[0].command[28].indexname "default" +indexinfo[0].command[28].command "lowercase" +indexinfo[0].command[29].indexname "all" +indexinfo[0].command[29].command "lowercase" +indexinfo[0].command[30].indexname "from" +indexinfo[0].command[30].command "normalize" +indexinfo[0].command[31].indexname "sender" +indexinfo[0].command[31].command "normalize" +indexinfo[0].command[32].indexname "address" +indexinfo[0].command[32].command "normalize" +indexinfo[0].command[33].indexname "header" +indexinfo[0].command[33].command "normalize" +indexinfo[0].command[34].indexname "default" +indexinfo[0].command[34].command "normalize" +indexinfo[0].command[35].indexname "all" +indexinfo[0].command[35].command "normalize" +indexinfo[0].command[36].indexname "replyto" +indexinfo[0].command[36].command "index" +indexinfo[0].command[37].indexname "replyto" +indexinfo[0].command[37].command "lowercase" +indexinfo[0].command[38].indexname "replyto" +indexinfo[0].command[38].command "normalize" +indexinfo[0].command[39].indexname "to" +indexinfo[0].command[39].command "index" +indexinfo[0].command[40].indexname "recipient" +indexinfo[0].command[40].command "index" +indexinfo[0].command[41].indexname "to" +indexinfo[0].command[41].command "lowercase" +indexinfo[0].command[42].indexname "recipient" +indexinfo[0].command[42].command "lowercase" +indexinfo[0].command[43].indexname "to" +indexinfo[0].command[43].command "normalize" +indexinfo[0].command[44].indexname "recipient" +indexinfo[0].command[44].command "normalize" +indexinfo[0].command[45].indexname "cc" +indexinfo[0].command[45].command "index" +indexinfo[0].command[46].indexname "cc" +indexinfo[0].command[46].command "lowercase" +indexinfo[0].command[47].indexname "cc" +indexinfo[0].command[47].command "normalize" +indexinfo[0].command[48].indexname "bcc" +indexinfo[0].command[48].command "index" +indexinfo[0].command[49].indexname "bcc" +indexinfo[0].command[49].command "lowercase" +indexinfo[0].command[50].indexname "bcc" +indexinfo[0].command[50].command "normalize" +indexinfo[0].command[51].indexname "subject" +indexinfo[0].command[51].command "index" +indexinfo[0].command[52].indexname "subject" +indexinfo[0].command[52].command "lowercase" +indexinfo[0].command[53].indexname "subject" +indexinfo[0].command[53].command "normalize" +indexinfo[0].command[54].indexname "body" +indexinfo[0].command[54].command "index" +indexinfo[0].command[55].indexname "body" +indexinfo[0].command[55].command "lowercase" +indexinfo[0].command[56].indexname "body" +indexinfo[0].command[56].command "normalize" +indexinfo[0].command[57].indexname "attachmentcount" +indexinfo[0].command[57].command "index" +indexinfo[0].command[58].indexname "attachmentcount" +indexinfo[0].command[58].command "attribute" +indexinfo[0].command[59].indexname "attachmentname" +indexinfo[0].command[59].command "index" +indexinfo[0].command[60].indexname "attachmentname" +indexinfo[0].command[60].command "lowercase" +indexinfo[0].command[61].indexname "attachmentname" +indexinfo[0].command[61].command "normalize" +indexinfo[0].command[62].indexname "attachmenttype" +indexinfo[0].command[62].command "index" +indexinfo[0].command[63].indexname "attachmenttype" +indexinfo[0].command[63].command "lowercase" +indexinfo[0].command[64].indexname "attachmenttype" +indexinfo[0].command[64].command "normalize" +indexinfo[0].command[65].indexname "attachmentlanguages" +indexinfo[0].command[65].command "index" +indexinfo[0].command[66].indexname "attachmentlanguages" +indexinfo[0].command[66].command "lowercase" +indexinfo[0].command[67].indexname "attachmentlanguages" +indexinfo[0].command[67].command "normalize" +indexinfo[0].command[68].indexname "attachment" +indexinfo[0].command[68].command "index" +indexinfo[0].command[69].indexname "attachment" +indexinfo[0].command[69].command "lowercase" +indexinfo[0].command[70].indexname "attachment" +indexinfo[0].command[70].command "normalize" +indexinfo[0].command[71].indexname "attachments" +indexinfo[0].command[71].command "index" +indexinfo[0].command[72].indexname "attachments" +indexinfo[0].command[72].command "multivalue" +indexinfo[0].command[73].indexname "rankfeatures" +indexinfo[0].command[73].command "index" +indexinfo[0].command[74].indexname "snippet" +indexinfo[0].command[74].command "index" +indexinfo[0].command[75].indexname "summaryfeatures" +indexinfo[0].command[75].command "index" +indexinfo[0].command[76].indexname "snippet" +indexinfo[0].command[76].command "dynteaser"
\ No newline at end of file diff --git a/config-model/src/test/derived/mail/mail.sd b/config-model/src/test/derived/mail/mail.sd new file mode 100644 index 00000000000..0010408dbf6 --- /dev/null +++ b/config-model/src/test/derived/mail/mail.sd @@ -0,0 +1,99 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search mail { + + stemming: none + + document mail { + + field URI type uri { + indexing: summary + summary-to: default, mailid + } + + field mailid type string { + indexing: summary | index + match: prefix + summary-to: default, mailid + } + + field date type int { + indexing: summary | attribute | index + match: prefix + } + + field from type string { + indexing: summary | index + match: prefix + } + + field replyto type string { + indexing: summary | index + match: prefix + } + + field to type string { + indexing: summary | index + match: prefix + } + + field cc type string { + indexing: index + match: prefix + } + + field bcc type string { + indexing: index + match: prefix + } + + field subject type string { + indexing: summary | index + match: prefix + } + + field body type string { + indexing: summary | index + match: substring + body + } + + field attachmentcount type int { + indexing: summary | index + body + } + + field attachmentnames type string { + indexing: index + body + } + + field attachmenttypes type string { + indexing: index + body + } + + field attachmentlanguages type string { + indexing: index + match: prefix + body + } + + field attachmentcontent type string { + indexing: summary | index + match: prefix + body + } + + field attachments type raw[] { + body + } + + } + + field snippet type string { + indexing: (input body | to_string) . (input attachmentcontent | to_string) | summary + summary: dynamic + } + +} + diff --git a/config-model/src/test/derived/mail/onlydoc/documentmanager.cfg b/config-model/src/test/derived/mail/onlydoc/documentmanager.cfg new file mode 100644 index 00000000000..0e95d51bdd8 --- /dev/null +++ b/config-model/src/test/derived/mail/onlydoc/documentmanager.cfg @@ -0,0 +1,67 @@ +enablecompression false +datatype[0].id 1381038251 +datatype[0].structtype[0].name "position" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[0].structtype[0].field[0].name "x" +datatype[0].structtype[0].field[0].datatype 0 +datatype[0].structtype[0].field[1].name "y" +datatype[0].structtype[0].field[1].datatype 0 +datatype[1].id -88808602 +datatype[1].structtype[0].name "mail.header" +datatype[1].structtype[0].version 0 +datatype[1].structtype[0].compresstype NONE +datatype[1].structtype[0].compresslevel 0 +datatype[1].structtype[0].compressthreshold 95 +datatype[1].structtype[0].compressminsize 800 +datatype[1].structtype[0].field[0].name "URI" +datatype[1].structtype[0].field[0].datatype 10 +datatype[1].structtype[0].field[1].name "mailid" +datatype[1].structtype[0].field[1].datatype 2 +datatype[1].structtype[0].field[2].name "date" +datatype[1].structtype[0].field[2].datatype 0 +datatype[1].structtype[0].field[3].name "from" +datatype[1].structtype[0].field[3].datatype 2 +datatype[1].structtype[0].field[4].name "replyto" +datatype[1].structtype[0].field[4].datatype 2 +datatype[1].structtype[0].field[5].name "to" +datatype[1].structtype[0].field[5].datatype 2 +datatype[1].structtype[0].field[6].name "cc" +datatype[1].structtype[0].field[6].datatype 2 +datatype[1].structtype[0].field[7].name "bcc" +datatype[1].structtype[0].field[7].datatype 2 +datatype[1].structtype[0].field[8].name "subject" +datatype[1].structtype[0].field[8].datatype 2 +datatype[2].id -1244861287 +datatype[2].arraytype[0].datatype 3 +datatype[3].id -953584901 +datatype[3].structtype[0].name "mail.body" +datatype[3].structtype[0].version 0 +datatype[3].structtype[0].compresstype NONE +datatype[3].structtype[0].compresslevel 0 +datatype[3].structtype[0].compressthreshold 95 +datatype[3].structtype[0].compressminsize 800 +datatype[3].structtype[0].field[0].name "body" +datatype[3].structtype[0].field[0].datatype 2 +datatype[3].structtype[0].field[1].name "attachmentcount" +datatype[3].structtype[0].field[1].datatype 0 +datatype[3].structtype[0].field[2].name "attachmentnames" +datatype[3].structtype[0].field[2].datatype 2 +datatype[3].structtype[0].field[3].name "attachmenttypes" +datatype[3].structtype[0].field[3].datatype 2 +datatype[3].structtype[0].field[4].name "attachmentlanguages" +datatype[3].structtype[0].field[4].datatype 2 +datatype[3].structtype[0].field[5].name "attachmentcontent" +datatype[3].structtype[0].field[5].datatype 2 +datatype[3].structtype[0].field[6].name "attachments" +datatype[3].structtype[0].field[6].datatype -1244861287 +datatype[4].id -1081574983 +datatype[4].documenttype[0].name "mail" +datatype[4].documenttype[0].version 0 +datatype[4].documenttype[0].inherits[0].name "document" +datatype[4].documenttype[0].inherits[0].version 0 +datatype[4].documenttype[0].headerstruct -88808602 +datatype[4].documenttype[0].bodystruct -953584901 diff --git a/config-model/src/test/derived/mail/rank-profiles.cfg b/config-model/src/test/derived/mail/rank-profiles.cfg new file mode 100644 index 00000000000..caca83a9a91 --- /dev/null +++ b/config-model/src/test/derived/mail/rank-profiles.cfg @@ -0,0 +1,10 @@ +rankprofile[0].name "default" +rankprofile[1].name "unranked" +rankprofile[1].fef.property[0].name "vespa.rank.firstphase" +rankprofile[1].fef.property[0].value "value(0)" +rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize" +rankprofile[1].fef.property[1].value "0" +rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize" +rankprofile[1].fef.property[2].value "0" +rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures" +rankprofile[1].fef.property[3].value "true"
\ No newline at end of file diff --git a/config-model/src/test/derived/mail/summary.cfg b/config-model/src/test/derived/mail/summary.cfg new file mode 100644 index 00000000000..ac357a934ec --- /dev/null +++ b/config-model/src/test/derived/mail/summary.cfg @@ -0,0 +1,51 @@ +defaultsummaryid 1831052622 +classes[0].id 1831052622 +classes[0].name "default" +classes[0].fields[0].name "snippet" +classes[0].fields[0].type "longstring" +classes[0].fields[1].name "URI" +classes[0].fields[1].type "longstring" +classes[0].fields[2].name "mailid" +classes[0].fields[2].type "longstring" +classes[0].fields[3].name "date" +classes[0].fields[3].type "integer" +classes[0].fields[4].name "from" +classes[0].fields[4].type "longstring" +classes[0].fields[5].name "replyto" +classes[0].fields[5].type "longstring" +classes[0].fields[6].name "to" +classes[0].fields[6].type "longstring" +classes[0].fields[7].name "subject" +classes[0].fields[7].type "longstring" +classes[0].fields[8].name "body" +classes[0].fields[8].type "longstring" +classes[0].fields[9].name "attachmentcount" +classes[0].fields[9].type "integer" +classes[0].fields[10].name "attachmentcontent" +classes[0].fields[10].type "longstring" +classes[0].fields[11].name "rankfeatures" +classes[0].fields[11].type "featuredata" +classes[0].fields[12].name "summaryfeatures" +classes[0].fields[12].type "featuredata" +classes[0].fields[13].name "documentid" +classes[0].fields[13].type "longstring" +classes[1].id 1971542976 +classes[1].name "mailid" +classes[1].fields[0].name "URI" +classes[1].fields[0].type "longstring" +classes[1].fields[1].name "mailid" +classes[1].fields[1].type "longstring" +classes[1].fields[2].name "rankfeatures" +classes[1].fields[2].type "featuredata" +classes[1].fields[3].name "summaryfeatures" +classes[1].fields[3].type "featuredata" +classes[2].id 115170470 +classes[2].name "attributeprefetch" +classes[2].fields[0].name "date" +classes[2].fields[0].type "integer" +classes[2].fields[1].name "attachmentcount" +classes[2].fields[1].type "integer" +classes[2].fields[2].name "rankfeatures" +classes[2].fields[2].type "featuredata" +classes[2].fields[3].name "summaryfeatures" +classes[2].fields[3].type "featuredata"
\ No newline at end of file diff --git a/config-model/src/test/derived/mail/summarymap.cfg b/config-model/src/test/derived/mail/summarymap.cfg new file mode 100644 index 00000000000..2184e43d8eb --- /dev/null +++ b/config-model/src/test/derived/mail/summarymap.cfg @@ -0,0 +1,16 @@ +defaultoutputclass -1 +override[0].field "snippet" +override[0].command "dynamicteaser" +override[0].arguments "snippet" +override[1].field "date" +override[1].command "attribute" +override[1].arguments "date" +override[2].field "attachmentcount" +override[2].command "attribute" +override[2].arguments "attachmentcount" +override[3].field "rankfeatures" +override[3].command "rankfeatures" +override[3].arguments "" +override[4].field "summaryfeatures" +override[4].command "summaryfeatures" +override[4].arguments ""
\ No newline at end of file diff --git a/config-model/src/test/derived/mail/vsmfields.cfg b/config-model/src/test/derived/mail/vsmfields.cfg new file mode 100644 index 00000000000..1006d902cdd --- /dev/null +++ b/config-model/src/test/derived/mail/vsmfields.cfg @@ -0,0 +1,108 @@ +documentverificationlevel 0 +searchall 1 +fieldspec[0].name "URI" +fieldspec[0].searchmethod AUTOUTF8 +fieldspec[0].arg1 "" +fieldspec[1].name "mailid" +fieldspec[1].searchmethod AUTOUTF8 +fieldspec[1].arg1 "prefix" +fieldspec[2].name "date" +fieldspec[2].searchmethod INT32 +fieldspec[2].arg1 "" +fieldspec[3].name "from" +fieldspec[3].searchmethod AUTOUTF8 +fieldspec[3].arg1 "prefix" +fieldspec[4].name "replyto" +fieldspec[4].searchmethod AUTOUTF8 +fieldspec[4].arg1 "prefix" +fieldspec[5].name "to" +fieldspec[5].searchmethod AUTOUTF8 +fieldspec[5].arg1 "prefix" +fieldspec[6].name "cc" +fieldspec[6].searchmethod AUTOUTF8 +fieldspec[6].arg1 "prefix" +fieldspec[7].name "bcc" +fieldspec[7].searchmethod AUTOUTF8 +fieldspec[7].arg1 "prefix" +fieldspec[8].name "subject" +fieldspec[8].searchmethod AUTOUTF8 +fieldspec[8].arg1 "prefix" +fieldspec[9].name "snippet" +fieldspec[9].searchmethod AUTOUTF8 +fieldspec[9].arg1 "" +fieldspec[10].name "body" +fieldspec[10].searchmethod AUTOUTF8 +fieldspec[10].arg1 "substring" +fieldspec[11].name "attachmentcount" +fieldspec[11].searchmethod INT32 +fieldspec[11].arg1 "" +fieldspec[12].name "attachmentnames" +fieldspec[12].searchmethod AUTOUTF8 +fieldspec[12].arg1 "" +fieldspec[13].name "attachmenttypes" +fieldspec[13].searchmethod AUTOUTF8 +fieldspec[13].arg1 "" +fieldspec[14].name "attachmentlanguages" +fieldspec[14].searchmethod AUTOUTF8 +fieldspec[14].arg1 "prefix" +fieldspec[15].name "attachmentcontent" +fieldspec[15].searchmethod AUTOUTF8 +fieldspec[15].arg1 "prefix" +documenttype[0].name "mail" +documenttype[0].index[0].name "mailid" +documenttype[0].index[0].field[0].name "mailid" +documenttype[0].index[1].name "date" +documenttype[0].index[1].field[0].name "date" +documenttype[0].index[2].name "from" +documenttype[0].index[2].field[0].name "from" +documenttype[0].index[3].name "sender" +documenttype[0].index[3].field[0].name "from" +documenttype[0].index[4].name "address" +documenttype[0].index[4].field[0].name "from" +documenttype[0].index[4].field[1].name "to" +documenttype[0].index[4].field[2].name "cc" +documenttype[0].index[5].name "header" +documenttype[0].index[5].field[0].name "from" +documenttype[0].index[5].field[1].name "to" +documenttype[0].index[5].field[2].name "cc" +documenttype[0].index[5].field[3].name "subject" +documenttype[0].index[6].name "default" +documenttype[0].index[6].field[0].name "from" +documenttype[0].index[6].field[1].name "to" +documenttype[0].index[6].field[2].name "cc" +documenttype[0].index[6].field[3].name "subject" +documenttype[0].index[6].field[4].name "body" +documenttype[0].index[7].name "all" +documenttype[0].index[7].field[0].name "from" +documenttype[0].index[7].field[1].name "to" +documenttype[0].index[7].field[2].name "cc" +documenttype[0].index[7].field[3].name "subject" +documenttype[0].index[7].field[4].name "body" +documenttype[0].index[7].field[5].name "attachmentnames" +documenttype[0].index[7].field[6].name "attachmenttypes" +documenttype[0].index[7].field[7].name "attachmentcontent" +documenttype[0].index[8].name "replyto" +documenttype[0].index[8].field[0].name "replyto" +documenttype[0].index[9].name "to" +documenttype[0].index[9].field[0].name "to" +documenttype[0].index[10].name "recipient" +documenttype[0].index[10].field[0].name "to" +documenttype[0].index[10].field[1].name "cc" +documenttype[0].index[11].name "cc" +documenttype[0].index[11].field[0].name "cc" +documenttype[0].index[12].name "bcc" +documenttype[0].index[12].field[0].name "bcc" +documenttype[0].index[13].name "subject" +documenttype[0].index[13].field[0].name "subject" +documenttype[0].index[14].name "body" +documenttype[0].index[14].field[0].name "body" +documenttype[0].index[15].name "attachmentcount" +documenttype[0].index[15].field[0].name "attachmentcount" +documenttype[0].index[16].name "attachmentname" +documenttype[0].index[16].field[0].name "attachmentnames" +documenttype[0].index[17].name "attachmenttype" +documenttype[0].index[17].field[0].name "attachmenttypes" +documenttype[0].index[18].name "attachmentlanguages" +documenttype[0].index[18].field[0].name "attachmentlanguages" +documenttype[0].index[19].name "attachment" +documenttype[0].index[19].field[0].name "attachmentcontent"
\ No newline at end of file diff --git a/config-model/src/test/derived/mail/vsmsummary.cfg b/config-model/src/test/derived/mail/vsmsummary.cfg new file mode 100644 index 00000000000..86de4babe13 --- /dev/null +++ b/config-model/src/test/derived/mail/vsmsummary.cfg @@ -0,0 +1,38 @@ +outputclass "" +fieldmap[0].summary "snippet" +fieldmap[0].document[0].field "snippet" +fieldmap[0].command FLATTENJUNIPER +fieldmap[1].summary "URI" +fieldmap[1].document[0].field "URI" +fieldmap[1].command NONE +fieldmap[2].summary "mailid" +fieldmap[2].document[0].field "mailid" +fieldmap[2].command NONE +fieldmap[3].summary "date" +fieldmap[3].document[0].field "date" +fieldmap[3].command NONE +fieldmap[4].summary "from" +fieldmap[4].document[0].field "from" +fieldmap[4].command NONE +fieldmap[5].summary "replyto" +fieldmap[5].document[0].field "replyto" +fieldmap[5].command NONE +fieldmap[6].summary "to" +fieldmap[6].document[0].field "to" +fieldmap[6].command NONE +fieldmap[7].summary "subject" +fieldmap[7].document[0].field "subject" +fieldmap[7].command NONE +fieldmap[8].summary "body" +fieldmap[8].document[0].field "body" +fieldmap[8].command NONE +fieldmap[9].summary "attachmentcount" +fieldmap[9].document[0].field "attachmentcount" +fieldmap[9].command NONE +fieldmap[10].summary "attachmentcontent" +fieldmap[10].document[0].field "attachmentcontent" +fieldmap[10].command NONE +fieldmap[11].summary "rankfeatures" +fieldmap[11].command NONE +fieldmap[12].summary "summaryfeatures" +fieldmap[12].command NONE
\ No newline at end of file diff --git a/config-model/src/test/derived/mlr/mlr.sd b/config-model/src/test/derived/mlr/mlr.sd new file mode 100644 index 00000000000..69dad8c30e0 --- /dev/null +++ b/config-model/src/test/derived/mlr/mlr.sd @@ -0,0 +1,20 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search mlr { + + document mlr { + + field a type string { + indexing: index | summary | attribute + attribute: prefetch + } + + field b type string { + indexing: index | summary + } + + field ranklog type string { + indexing: attribute + attribute: prefetch + } + } +} diff --git a/config-model/src/test/derived/mlr/summary.cfg b/config-model/src/test/derived/mlr/summary.cfg new file mode 100644 index 00000000000..74f5ed567b9 --- /dev/null +++ b/config-model/src/test/derived/mlr/summary.cfg @@ -0,0 +1,23 @@ +defaultsummaryid 1868876861 +classes[0].id 1868876861 +classes[0].name "default" +classes[0].fields[0].name "a" +classes[0].fields[0].type "longstring" +classes[0].fields[1].name "b" +classes[0].fields[1].type "longstring" +classes[0].fields[2].name "rankfeatures" +classes[0].fields[2].type "featuredata" +classes[0].fields[3].name "summaryfeatures" +classes[0].fields[3].type "featuredata" +classes[0].fields[4].name "documentid" +classes[0].fields[4].type "longstring" +classes[1].id 1944325986 +classes[1].name "attributeprefetch" +classes[1].fields[0].name "a" +classes[1].fields[0].type "longstring" +classes[1].fields[1].name "ranklog" +classes[1].fields[1].type "longstring" +classes[1].fields[2].name "rankfeatures" +classes[1].fields[2].type "featuredata" +classes[1].fields[3].name "summaryfeatures" +classes[1].fields[3].type "featuredata"
\ No newline at end of file diff --git a/config-model/src/test/derived/multiplesummaries/attributes.cfg b/config-model/src/test/derived/multiplesummaries/attributes.cfg new file mode 100644 index 00000000000..5fbe4486849 --- /dev/null +++ b/config-model/src/test/derived/multiplesummaries/attributes.cfg @@ -0,0 +1,16 @@ +attribute[5] +attribute[a].collectiontype SINGLE +attribute[a].datatype STRING +attribute[a].name "a" +attribute[abolded].collectiontype SINGLE +attribute[abolded].datatype STRING +attribute[abolded].name "abolded" +attribute[adynamic].collectiontype SINGLE +attribute[adynamic].datatype STRING +attribute[adynamic].name "adynamic" +attribute[c].collectiontype SINGLE +attribute[c].datatype STRING +attribute[c].name "c" +attribute[loc_pos_zcurve].collectiontype SINGLE +attribute[loc_pos_zcurve].datatype INT64 +attribute[loc_pos_zcurve].name "loc_pos_zcurve" diff --git a/config-model/src/test/derived/multiplesummaries/ilscripts.cfg b/config-model/src/test/derived/multiplesummaries/ilscripts.cfg new file mode 100644 index 00000000000..08b6d0f0b04 --- /dev/null +++ b/config-model/src/test/derived/multiplesummaries/ilscripts.cfg @@ -0,0 +1,15 @@ +ilscript[1] +ilscript[multiplesummaries].doctype "multiplesummaries" +ilscript[multiplesummaries].name "multiplesummaries" +ilscript[multiplesummaries].content[11] +ilscript[multiplesummaries].content[0] "clear_state | guard { input a | tokenize normalize stem:\"SHORTEST\" | summary abolded2 | summary aboldeddynamic | summary adynamic2 | attribute a }" +ilscript[multiplesummaries].content[1] "clear_state | guard { input adynamic | tokenize normalize stem:\"SHORTEST\" | summary adynamic | attribute adynamic }" +ilscript[multiplesummaries].content[2] "clear_state | guard { input abolded | tokenize normalize stem:\"SHORTEST\" | summary abolded | attribute abolded }" +ilscript[multiplesummaries].content[3] "clear_state | guard { input b | summary b }" +ilscript[multiplesummaries].content[4] "clear_state | guard { input c | summary c | attribute c }" +ilscript[multiplesummaries].content[5] "clear_state | guard { input d | tokenize normalize stem:\"SHORTEST\" | summary d }" +ilscript[multiplesummaries].content[6] "clear_state | guard { input e | tokenize normalize stem:\"SHORTEST\" | summary dynamice }" +ilscript[multiplesummaries].content[7] "clear_state | guard { input f | summary f }" +ilscript[multiplesummaries].content[8] "clear_state | guard { input g | summary g }" +ilscript[multiplesummaries].content[9] "clear_state | guard { input h | summary h }" +ilscript[multiplesummaries].content[10] "clear_state | guard { input loc | to_pos | zcurve | attribute loc_pos_zcurve }" diff --git a/config-model/src/test/derived/multiplesummaries/index-info.cfg b/config-model/src/test/derived/multiplesummaries/index-info.cfg new file mode 100644 index 00000000000..5ad04f6c9f2 --- /dev/null +++ b/config-model/src/test/derived/multiplesummaries/index-info.cfg @@ -0,0 +1,62 @@ +indexinfo[1] +indexinfo[multiplesummaries].name "multiplesummaries" +indexinfo[multiplesummaries].alias[0] +indexinfo[multiplesummaries].command[29] +indexinfo[multiplesummaries].command[00].command "index" +indexinfo[multiplesummaries].command[00].indexname "sddocname" +indexinfo[multiplesummaries].command[01].command "word" +indexinfo[multiplesummaries].command[01].indexname "sddocname" +indexinfo[multiplesummaries].command[02].command "index" +indexinfo[multiplesummaries].command[02].indexname "a" +indexinfo[multiplesummaries].command[03].command "attribute" +indexinfo[multiplesummaries].command[03].indexname "a" +indexinfo[multiplesummaries].command[04].command "index" +indexinfo[multiplesummaries].command[04].indexname "adynamic" +indexinfo[multiplesummaries].command[05].command "attribute" +indexinfo[multiplesummaries].command[05].indexname "adynamic" +indexinfo[multiplesummaries].command[06].command "index" +indexinfo[multiplesummaries].command[06].indexname "abolded" +indexinfo[multiplesummaries].command[07].command "attribute" +indexinfo[multiplesummaries].command[07].indexname "abolded" +indexinfo[multiplesummaries].command[08].command "index" +indexinfo[multiplesummaries].command[08].indexname "b" +indexinfo[multiplesummaries].command[09].command "index" +indexinfo[multiplesummaries].command[09].indexname "c" +indexinfo[multiplesummaries].command[10].command "attribute" +indexinfo[multiplesummaries].command[10].indexname "c" +indexinfo[multiplesummaries].command[11].command "index" +indexinfo[multiplesummaries].command[11].indexname "d" +indexinfo[multiplesummaries].command[12].command "index" +indexinfo[multiplesummaries].command[12].indexname "e" +indexinfo[multiplesummaries].command[13].command "index" +indexinfo[multiplesummaries].command[13].indexname "f" +indexinfo[multiplesummaries].command[14].command "index" +indexinfo[multiplesummaries].command[14].indexname "g" +indexinfo[multiplesummaries].command[15].command "index" +indexinfo[multiplesummaries].command[15].indexname "h" +indexinfo[multiplesummaries].command[16].command "index" +indexinfo[multiplesummaries].command[16].indexname "loc" +indexinfo[multiplesummaries].command[17].command "default-position" +indexinfo[multiplesummaries].command[17].indexname "loc_pos" +indexinfo[multiplesummaries].command[18].command "index" +indexinfo[multiplesummaries].command[18].indexname "loc_pos" +indexinfo[multiplesummaries].command[19].command "index" +indexinfo[multiplesummaries].command[19].indexname "loc_pos_zcurve" +indexinfo[multiplesummaries].command[20].command "attribute" +indexinfo[multiplesummaries].command[20].indexname "loc_pos_zcurve" +indexinfo[multiplesummaries].command[21].command "dynteaser" +indexinfo[multiplesummaries].command[21].indexname "adynamic" +indexinfo[multiplesummaries].command[22].command "highlight" +indexinfo[multiplesummaries].command[22].indexname "d" +indexinfo[multiplesummaries].command[23].command "dynteaser" +indexinfo[multiplesummaries].command[23].indexname "adynamic2" +indexinfo[multiplesummaries].command[24].command "highlight" +indexinfo[multiplesummaries].command[24].indexname "abolded2" +indexinfo[multiplesummaries].command[25].command "dynteaser" +indexinfo[multiplesummaries].command[25].indexname "aboldeddynamic" +indexinfo[multiplesummaries].command[26].command "highlight" +indexinfo[multiplesummaries].command[26].indexname "aboldeddynamic" +indexinfo[multiplesummaries].command[27].command "highlight" +indexinfo[multiplesummaries].command[27].indexname "abolded" +indexinfo[multiplesummaries].command[28].command "dynteaser" +indexinfo[multiplesummaries].command[28].indexname "dynamice" diff --git a/config-model/src/test/derived/multiplesummaries/juniperrc.cfg b/config-model/src/test/derived/multiplesummaries/juniperrc.cfg new file mode 100755 index 00000000000..79d57c7519c --- /dev/null +++ b/config-model/src/test/derived/multiplesummaries/juniperrc.cfg @@ -0,0 +1,17 @@ +prefix true +override[3] +override[abolded].fieldname "abolded" +override[abolded].length 65536 +override[abolded].max_matches 1 +override[abolded].min_length 8192 +override[abolded].surround_max 65536 +override[abolded2].fieldname "abolded2" +override[abolded2].length 65536 +override[abolded2].max_matches 1 +override[abolded2].min_length 8192 +override[abolded2].surround_max 65536 +override[d].fieldname "d" +override[d].length 65536 +override[d].max_matches 1 +override[d].min_length 8192 +override[d].surround_max 65536 diff --git a/config-model/src/test/derived/multiplesummaries/multiplesummaries.sd b/config-model/src/test/derived/multiplesummaries/multiplesummaries.sd new file mode 100644 index 00000000000..86157133278 --- /dev/null +++ b/config-model/src/test/derived/multiplesummaries/multiplesummaries.sd @@ -0,0 +1,199 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search multiplesummaries { + + document multiplesummaries { + + field a type string { + indexing: summary | attribute + summary-to: default, second + match { + token + } + } + + field adynamic type string { + indexing: summary | attribute + summary-to: default, second + summary adynamic: dynamic + match { + token + } + } + + field abolded type string { + indexing: summary | attribute + bolding: on + match { + token + } + } + + field b type string { + indexing: summary + bolding: off + } + + field c type string { + indexing: summary | attribute + summary-to: second + match { + token + } + } + + field d type string { + indexing: summary + bolding: on + } + + field e type string { + indexing: summary + summary dynamice: dynamic + } + + field f type array<string> { + indexing: summary + summary-to: second + } + + field g type array<int> { + indexing: summary + } + + field h type weightedset<string> { + indexing: summary + } + + field loc type string { + + } + } + + field loc_pos type position { + indexing: input loc | to_pos | attribute | summary + } + + document-summary third { + + summary a type string { + } + + summary adynamic type string { + } + + summary d type string { + } + + summary e type string { + } + + summary f type array<string> { + } + + summary g type array<int> { + } + + summary h type weightedset<string> { + } + + } + + document-summary attributesonly1 { + + summary a type string { + } + + summary c type string { + } + + } + + # Since a here is a dynamic summary field, it will be fetched from disk + document-summary notattributesonly1 { + + summary adynamic type string { # Should still be dynamic here + } + + summary c type string { + } + + } + + # Since a here is a dynamic summary, it will be fetched from disk + document-summary notattributesonly2 { + + summary adynamic2 type string { # Should still be dynamic here + source: a + dynamic + } + + summary c type string { + } + + } + + # Not attributes only because d is bolded + document-summary notattributesonly3 { + + summary a type string { + } + + summary d type string { + } + + } + + document-summary attributesonly2 { + + summary anotdynamic type string { # Should not be dynamic here + source: adynamic + } + + summary c type string { + } + + summary loc_position type long { + } + + } + + document-summary attributesonly3 { + + summary a type string { + } + + summary anotbolded type string { + source: a + } + + summary loc_position type long { + } + + } + + document-summary notattributesonly4 { + + summary abolded2 type string { + source: a + bolding: on + } + + summary c type string { + } + + } + + document-summary notattributesonly5 { + + summary aboldeddynamic type string { + source: a + dynamic + bolding: on + } + + summary c type string { + } + + } + +} diff --git a/config-model/src/test/derived/multiplesummaries/summary.cfg b/config-model/src/test/derived/multiplesummaries/summary.cfg new file mode 100644 index 00000000000..e282afebf39 --- /dev/null +++ b/config-model/src/test/derived/multiplesummaries/summary.cfg @@ -0,0 +1,186 @@ +defaultsummaryid 235127765 +classes[12] +classes[1156201411].id 1156201411 +classes[1156201411].name "attributeprefetch" +classes[1156201411].fields[5] +classes[1156201411].fields[a].name "a" +classes[1156201411].fields[a].type "longstring" +classes[1156201411].fields[c].name "c" +classes[1156201411].fields[c].type "longstring" +classes[1156201411].fields[loc_pos_zcurve].name "loc_pos_zcurve" +classes[1156201411].fields[loc_pos_zcurve].type "int64" +classes[1156201411].fields[rankfeatures].name "rankfeatures" +classes[1156201411].fields[rankfeatures].type "longstring" +classes[1156201411].fields[summaryfeatures].name "summaryfeatures" +classes[1156201411].fields[summaryfeatures].type "longstring" +classes[1277791169].id 1277791169 +classes[1277791169].name "notattributesonly2" +classes[1277791169].fields[4] +classes[1277791169].fields[adynamic2].name "adynamic2" +classes[1277791169].fields[adynamic2].type "longstring" +classes[1277791169].fields[c].name "c" +classes[1277791169].fields[c].type "longstring" +classes[1277791169].fields[rankfeatures].name "rankfeatures" +classes[1277791169].fields[rankfeatures].type "longstring" +classes[1277791169].fields[summaryfeatures].name "summaryfeatures" +classes[1277791169].fields[summaryfeatures].type "longstring" +classes[1280967808].id 1280967808 +classes[1280967808].name "attributesonly2" +classes[1280967808].fields[5] +classes[1280967808].fields[anotdynamic].name "anotdynamic" +classes[1280967808].fields[anotdynamic].type "longstring" +classes[1280967808].fields[c].name "c" +classes[1280967808].fields[c].type "longstring" +classes[1280967808].fields[loc_position].name "loc_position" +classes[1280967808].fields[loc_position].type "int64" +classes[1280967808].fields[rankfeatures].name "rankfeatures" +classes[1280967808].fields[rankfeatures].type "longstring" +classes[1280967808].fields[summaryfeatures].name "summaryfeatures" +classes[1280967808].fields[summaryfeatures].type "longstring" +classes[1334083320].id 1334083320 +classes[1334083320].name "third" +classes[1334083320].fields[9] +classes[1334083320].fields[a].name "a" +classes[1334083320].fields[a].type "longstring" +classes[1334083320].fields[adynamic].name "adynamic" +classes[1334083320].fields[adynamic].type "longstring" +classes[1334083320].fields[d].name "d" +classes[1334083320].fields[d].type "longstring" +classes[1334083320].fields[e].name "e" +classes[1334083320].fields[e].type "longstring" +classes[1334083320].fields[f].name "f" +classes[1334083320].fields[f].type "jsonstring" +classes[1334083320].fields[g].name "g" +classes[1334083320].fields[g].type "jsonstring" +classes[1334083320].fields[h].name "h" +classes[1334083320].fields[h].type "jsonstring" +classes[1334083320].fields[rankfeatures].name "rankfeatures" +classes[1334083320].fields[rankfeatures].type "longstring" +classes[1334083320].fields[summaryfeatures].name "summaryfeatures" +classes[1334083320].fields[summaryfeatures].type "longstring" +classes[1439192258].id 1439192258 +classes[1439192258].name "second" +classes[1439192258].fields[6] +classes[1439192258].fields[a].name "a" +classes[1439192258].fields[a].type "longstring" +classes[1439192258].fields[adynamic].name "adynamic" +classes[1439192258].fields[adynamic].type "longstring" +classes[1439192258].fields[c].name "c" +classes[1439192258].fields[c].type "longstring" +classes[1439192258].fields[f].name "f" +classes[1439192258].fields[f].type "jsonstring" +classes[1439192258].fields[rankfeatures].name "rankfeatures" +classes[1439192258].fields[rankfeatures].type "longstring" +classes[1439192258].fields[summaryfeatures].name "summaryfeatures" +classes[1439192258].fields[summaryfeatures].type "longstring" +classes[1653275739].id 1653275739 +classes[1653275739].name "attributesonly3" +classes[1653275739].fields[5] +classes[1653275739].fields[a].name "a" +classes[1653275739].fields[a].type "longstring" +classes[1653275739].fields[anotbolded].name "anotbolded" +classes[1653275739].fields[anotbolded].type "longstring" +classes[1653275739].fields[loc_position].name "loc_position" +classes[1653275739].fields[loc_position].type "int64" +classes[1653275739].fields[rankfeatures].name "rankfeatures" +classes[1653275739].fields[rankfeatures].type "longstring" +classes[1653275739].fields[summaryfeatures].name "summaryfeatures" +classes[1653275739].fields[summaryfeatures].type "longstring" +classes[182001096].id 182001096 +classes[182001096].name "notattributesonly1" +classes[182001096].fields[4] +classes[182001096].fields[adynamic].name "adynamic" +classes[182001096].fields[adynamic].type "longstring" +classes[182001096].fields[c].name "c" +classes[182001096].fields[c].type "longstring" +classes[182001096].fields[rankfeatures].name "rankfeatures" +classes[182001096].fields[rankfeatures].type "longstring" +classes[182001096].fields[summaryfeatures].name "summaryfeatures" +classes[182001096].fields[summaryfeatures].type "longstring" +classes[1881063334].id 1881063334 +classes[1881063334].name "notattributesonly4" +classes[1881063334].fields[4] +classes[1881063334].fields[abolded2].name "abolded2" +classes[1881063334].fields[abolded2].type "longstring" +classes[1881063334].fields[c].name "c" +classes[1881063334].fields[c].type "longstring" +classes[1881063334].fields[rankfeatures].name "rankfeatures" +classes[1881063334].fields[rankfeatures].type "longstring" +classes[1881063334].fields[summaryfeatures].name "summaryfeatures" +classes[1881063334].fields[summaryfeatures].type "longstring" +classes[1988966242].id 1988966242 +classes[1988966242].name "attributesonly1" +classes[1988966242].fields[4] +classes[1988966242].fields[a].name "a" +classes[1988966242].fields[a].type "longstring" +classes[1988966242].fields[c].name "c" +classes[1988966242].fields[c].type "longstring" +classes[1988966242].fields[rankfeatures].name "rankfeatures" +classes[1988966242].fields[rankfeatures].type "longstring" +classes[1988966242].fields[summaryfeatures].name "summaryfeatures" +classes[1988966242].fields[summaryfeatures].type "longstring" +classes[235127765].id 235127765 +classes[235127765].name "multiplesummaries" +classes[235127765].fields[20] +classes[235127765].fields[a].name "a" +classes[235127765].fields[a].type "longstring" +classes[235127765].fields[abolded].name "abolded" +classes[235127765].fields[abolded].type "longstring" +classes[235127765].fields[abolded2].name "abolded2" +classes[235127765].fields[abolded2].type "longstring" +classes[235127765].fields[aboldeddynamic].name "aboldeddynamic" +classes[235127765].fields[aboldeddynamic].type "longstring" +classes[235127765].fields[adynamic].name "adynamic" +classes[235127765].fields[adynamic].type "longstring" +classes[235127765].fields[adynamic2].name "adynamic2" +classes[235127765].fields[adynamic2].type "longstring" +classes[235127765].fields[b].name "b" +classes[235127765].fields[b].type "longstring" +classes[235127765].fields[c].name "c" +classes[235127765].fields[c].type "longstring" +classes[235127765].fields[d].name "d" +classes[235127765].fields[d].type "longstring" +classes[235127765].fields[documentid].name "documentid" +classes[235127765].fields[documentid].type "longstring" +classes[235127765].fields[dynamice].name "dynamice" +classes[235127765].fields[dynamice].type "longstring" +classes[235127765].fields[e].name "e" +classes[235127765].fields[e].type "longstring" +classes[235127765].fields[f].name "f" +classes[235127765].fields[f].type "jsonstring" +classes[235127765].fields[g].name "g" +classes[235127765].fields[g].type "jsonstring" +classes[235127765].fields[h].name "h" +classes[235127765].fields[h].type "jsonstring" +classes[235127765].fields[loc_pos.distance].name "loc_pos.distance" +classes[235127765].fields[loc_pos.distance].type "integer" +classes[235127765].fields[loc_pos.position].name "loc_pos.position" +classes[235127765].fields[loc_pos.position].type "xmlstring" +classes[235127765].fields[loc_position].name "loc_position" +classes[235127765].fields[loc_position].type "int64" +classes[235127765].fields[rankfeatures].name "rankfeatures" +classes[235127765].fields[rankfeatures].type "longstring" +classes[235127765].fields[summaryfeatures].name "summaryfeatures" +classes[235127765].fields[summaryfeatures].type "longstring" +classes[803323247].id 803323247 +classes[803323247].name "notattributesonly3" +classes[803323247].fields[4] +classes[803323247].fields[a].name "a" +classes[803323247].fields[a].type "longstring" +classes[803323247].fields[d].name "d" +classes[803323247].fields[d].type "longstring" +classes[803323247].fields[rankfeatures].name "rankfeatures" +classes[803323247].fields[rankfeatures].type "longstring" +classes[803323247].fields[summaryfeatures].name "summaryfeatures" +classes[803323247].fields[summaryfeatures].type "longstring" +classes[937467944].id 937467944 +classes[937467944].name "notattributesonly5" +classes[937467944].fields[4] +classes[937467944].fields[aboldeddynamic].name "aboldeddynamic" +classes[937467944].fields[aboldeddynamic].type "longstring" +classes[937467944].fields[c].name "c" +classes[937467944].fields[c].type "longstring" +classes[937467944].fields[rankfeatures].name "rankfeatures" +classes[937467944].fields[rankfeatures].type "longstring" +classes[937467944].fields[summaryfeatures].name "summaryfeatures" +classes[937467944].fields[summaryfeatures].type "longstring" diff --git a/config-model/src/test/derived/multiplesummaries/summarymap.cfg b/config-model/src/test/derived/multiplesummaries/summarymap.cfg new file mode 100644 index 00000000000..430715062c8 --- /dev/null +++ b/config-model/src/test/derived/multiplesummaries/summarymap.cfg @@ -0,0 +1,50 @@ +defaultoutputclass -1 +override[16] +override[a].arguments "a" +override[a].command "attribute" +override[a].field "a" +override[abolded].arguments "abolded" +override[abolded].command "dynamicteaser" +override[abolded].field "abolded" +override[abolded2].arguments "abolded2" +override[abolded2].command "dynamicteaser" +override[abolded2].field "abolded2" +override[aboldeddynamic].arguments "aboldeddynamic" +override[aboldeddynamic].command "dynamicteaser" +override[aboldeddynamic].field "aboldeddynamic" +override[adynamic].arguments "adynamic" +override[adynamic].command "dynamicteaser" +override[adynamic].field "adynamic" +override[adynamic2].arguments "adynamic2" +override[adynamic2].command "dynamicteaser" +override[adynamic2].field "adynamic2" +override[anotbolded].arguments "a" +override[anotbolded].command "attribute" +override[anotbolded].field "anotbolded" +override[anotdynamic].arguments "adynamic" +override[anotdynamic].command "attribute" +override[anotdynamic].field "anotdynamic" +override[c].arguments "c" +override[c].command "attribute" +override[c].field "c" +override[d].arguments "d" +override[d].command "dynamicteaser" +override[d].field "d" +override[dynamice].arguments "dynamice" +override[dynamice].command "dynamicteaser" +override[dynamice].field "dynamice" +override[loc_pos.distance].arguments "loc_pos_zcurve" +override[loc_pos.distance].command "absdist" +override[loc_pos.distance].field "loc_pos.distance" +override[loc_pos.position].arguments "loc_pos_zcurve" +override[loc_pos.position].command "positions" +override[loc_pos.position].field "loc_pos.position" +override[loc_pos_zcurve].arguments "loc_pos_zcurve" +override[loc_pos_zcurve].command "attribute" +override[loc_pos_zcurve].field "loc_pos_zcurve" +override[rankfeatures].arguments "" +override[rankfeatures].command "rankfeatures" +override[rankfeatures].field "rankfeatures" +override[summaryfeatures].arguments "" +override[summaryfeatures].command "summaryfeatures" +override[summaryfeatures].field "summaryfeatures" diff --git a/config-model/src/test/derived/music/attributes.cfg b/config-model/src/test/derived/music/attributes.cfg new file mode 100644 index 00000000000..5ded3dc494d --- /dev/null +++ b/config-model/src/test/derived/music/attributes.cfg @@ -0,0 +1,209 @@ +attribute[0].name "sales" +attribute[0].datatype INT32 +attribute[0].collectiontype SINGLE +attribute[0].removeifzero false +attribute[0].createifnonexistent false +attribute[0].fastsearch false +attribute[0].huge false +attribute[0].sortascending true +attribute[0].sortfunction UCA +attribute[0].sortstrength PRIMARY +attribute[0].sortlocale "" +attribute[0].enablebitvectors false +attribute[0].enableonlybitvector false +attribute[0].fastaccess false +attribute[0].arity 8 +attribute[0].lowerbound -9223372036854775808 +attribute[0].upperbound 9223372036854775807 +attribute[0].densepostinglistthreshold 0.4 +attribute[0].tensortype "" +attribute[1].name "pto" +attribute[1].datatype INT32 +attribute[1].collectiontype SINGLE +attribute[1].removeifzero false +attribute[1].createifnonexistent false +attribute[1].fastsearch false +attribute[1].huge false +attribute[1].sortascending true +attribute[1].sortfunction UCA +attribute[1].sortstrength PRIMARY +attribute[1].sortlocale "" +attribute[1].enablebitvectors false +attribute[1].enableonlybitvector false +attribute[1].fastaccess false +attribute[1].arity 8 +attribute[1].lowerbound -9223372036854775808 +attribute[1].upperbound 9223372036854775807 +attribute[1].densepostinglistthreshold 0.4 +attribute[1].tensortype "" +attribute[2].name "mid" +attribute[2].datatype INT32 +attribute[2].collectiontype SINGLE +attribute[2].removeifzero false +attribute[2].createifnonexistent false +attribute[2].fastsearch false +attribute[2].huge false +attribute[2].sortascending true +attribute[2].sortfunction UCA +attribute[2].sortstrength PRIMARY +attribute[2].sortlocale "" +attribute[2].enablebitvectors false +attribute[2].enableonlybitvector false +attribute[2].fastaccess false +attribute[2].arity 8 +attribute[2].lowerbound -9223372036854775808 +attribute[2].upperbound 9223372036854775807 +attribute[2].densepostinglistthreshold 0.4 +attribute[2].tensortype "" +attribute[3].name "weight" +attribute[3].datatype FLOAT +attribute[3].collectiontype SINGLE +attribute[3].removeifzero false +attribute[3].createifnonexistent false +attribute[3].fastsearch false +attribute[3].huge false +attribute[3].sortascending true +attribute[3].sortfunction UCA +attribute[3].sortstrength PRIMARY +attribute[3].sortlocale "" +attribute[3].enablebitvectors false +attribute[3].enableonlybitvector false +attribute[3].fastaccess false +attribute[3].arity 8 +attribute[3].lowerbound -9223372036854775808 +attribute[3].upperbound 9223372036854775807 +attribute[3].densepostinglistthreshold 0.4 +attribute[3].tensortype "" +attribute[4].name "bgnpfrom" +attribute[4].datatype FLOAT +attribute[4].collectiontype SINGLE +attribute[4].removeifzero false +attribute[4].createifnonexistent false +attribute[4].fastsearch false +attribute[4].huge false +attribute[4].sortascending true +attribute[4].sortfunction UCA +attribute[4].sortstrength PRIMARY +attribute[4].sortlocale "" +attribute[4].enablebitvectors false +attribute[4].enableonlybitvector false +attribute[4].fastaccess false +attribute[4].arity 8 +attribute[4].lowerbound -9223372036854775808 +attribute[4].upperbound 9223372036854775807 +attribute[4].densepostinglistthreshold 0.4 +attribute[4].tensortype "" +attribute[5].name "newestedition" +attribute[5].datatype INT32 +attribute[5].collectiontype SINGLE +attribute[5].removeifzero false +attribute[5].createifnonexistent false +attribute[5].fastsearch false +attribute[5].huge false +attribute[5].sortascending true +attribute[5].sortfunction UCA +attribute[5].sortstrength PRIMARY +attribute[5].sortlocale "" +attribute[5].enablebitvectors false +attribute[5].enableonlybitvector false +attribute[5].fastaccess false +attribute[5].arity 8 +attribute[5].lowerbound -9223372036854775808 +attribute[5].upperbound 9223372036854775807 +attribute[5].densepostinglistthreshold 0.4 +attribute[5].tensortype "" +attribute[6].name "year" +attribute[6].datatype INT32 +attribute[6].collectiontype SINGLE +attribute[6].removeifzero false +attribute[6].createifnonexistent false +attribute[6].fastsearch false +attribute[6].huge false +attribute[6].sortascending true +attribute[6].sortfunction UCA +attribute[6].sortstrength PRIMARY +attribute[6].sortlocale "" +attribute[6].enablebitvectors false +attribute[6].enableonlybitvector false +attribute[6].fastaccess false +attribute[6].arity 8 +attribute[6].lowerbound -9223372036854775808 +attribute[6].upperbound 9223372036854775807 +attribute[6].densepostinglistthreshold 0.4 +attribute[6].tensortype "" +attribute[7].name "did" +attribute[7].datatype INT32 +attribute[7].collectiontype SINGLE +attribute[7].removeifzero false +attribute[7].createifnonexistent false +attribute[7].fastsearch false +attribute[7].huge false +attribute[7].sortascending true +attribute[7].sortfunction UCA +attribute[7].sortstrength PRIMARY +attribute[7].sortlocale "" +attribute[7].enablebitvectors false +attribute[7].enableonlybitvector false +attribute[7].fastaccess false +attribute[7].arity 8 +attribute[7].lowerbound -9223372036854775808 +attribute[7].upperbound 9223372036854775807 +attribute[7].densepostinglistthreshold 0.4 +attribute[7].tensortype "" +attribute[8].name "cbid" +attribute[8].datatype INT32 +attribute[8].collectiontype SINGLE +attribute[8].removeifzero false +attribute[8].createifnonexistent false +attribute[8].fastsearch false +attribute[8].huge false +attribute[8].sortascending true +attribute[8].sortfunction UCA +attribute[8].sortstrength PRIMARY +attribute[8].sortlocale "" +attribute[8].enablebitvectors false +attribute[8].enableonlybitvector false +attribute[8].fastaccess false +attribute[8].arity 8 +attribute[8].lowerbound -9223372036854775808 +attribute[8].upperbound 9223372036854775807 +attribute[8].densepostinglistthreshold 0.4 +attribute[8].tensortype "" +attribute[9].name "hiphopvalue_arr" +attribute[9].datatype STRING +attribute[9].collectiontype ARRAY +attribute[9].removeifzero false +attribute[9].createifnonexistent false +attribute[9].fastsearch false +attribute[9].huge false +attribute[9].sortascending true +attribute[9].sortfunction UCA +attribute[9].sortstrength PRIMARY +attribute[9].sortlocale "" +attribute[9].enablebitvectors false +attribute[9].enableonlybitvector false +attribute[9].fastaccess false +attribute[9].arity 8 +attribute[9].lowerbound -9223372036854775808 +attribute[9].upperbound 9223372036854775807 +attribute[9].densepostinglistthreshold 0.4 +attribute[9].tensortype "" +attribute[10].name "metalvalue_arr" +attribute[10].datatype STRING +attribute[10].collectiontype ARRAY +attribute[10].removeifzero false +attribute[10].createifnonexistent false +attribute[10].fastsearch false +attribute[10].huge false +attribute[10].sortascending true +attribute[10].sortfunction UCA +attribute[10].sortstrength PRIMARY +attribute[10].sortlocale "" +attribute[10].enablebitvectors false +attribute[10].enableonlybitvector false +attribute[10].fastaccess false +attribute[10].arity 8 +attribute[10].lowerbound -9223372036854775808 +attribute[10].upperbound 9223372036854775807 +attribute[10].densepostinglistthreshold 0.4 +attribute[10].tensortype ""
\ No newline at end of file diff --git a/config-model/src/test/derived/music/defs/attributes.def b/config-model/src/test/derived/music/defs/attributes.def new file mode 100644 index 00000000000..bb3a0df6299 --- /dev/null +++ b/config-model/src/test/derived/music/defs/attributes.def @@ -0,0 +1,7 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search +attribute[].name string +attribute[].datatype string +attribute[].multivalue bool default=false +attribute[].sortsigned bool default=true +attribute[].disableprep bool default=false diff --git a/config-model/src/test/derived/music/defs/documentmanager.def b/config-model/src/test/derived/music/defs/documentmanager.def new file mode 100644 index 00000000000..a310e9f13c8 --- /dev/null +++ b/config-model/src/test/derived/music/defs/documentmanager.def @@ -0,0 +1,12 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=document.config +datatype[].id int +datatype[].arraytype[].datatype int +documenttype[].name string +documenttype[].version int +documenttype[].inherits[].name string +documenttype[].inherits[].version int +documenttype[].field[].name string +documenttype[].field[].id int +documenttype[].field[].header bool +documenttype[].field[].datatype int diff --git a/config-model/src/test/derived/music/defs/extra.def b/config-model/src/test/derived/music/defs/extra.def new file mode 100644 index 00000000000..cc03f1b39d3 --- /dev/null +++ b/config-model/src/test/derived/music/defs/extra.def @@ -0,0 +1,4 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=test +file[].name string +file[].content string diff --git a/config-model/src/test/derived/music/defs/ilscripts.def b/config-model/src/test/derived/music/defs/ilscripts.def new file mode 100644 index 00000000000..d999742fa3c --- /dev/null +++ b/config-model/src/test/derived/music/defs/ilscripts.def @@ -0,0 +1,5 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.configdefinition +ilscript[].name string +ilscript[].doctype string +ilscript[].content[] string diff --git a/config-model/src/test/derived/music/defs/rank-profiles.def b/config-model/src/test/derived/music/defs/rank-profiles.def new file mode 100644 index 00000000000..0d7cf27ff06 --- /dev/null +++ b/config-model/src/test/derived/music/defs/rank-profiles.def @@ -0,0 +1,344 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search +## name of this rank profile. maps to table index for internal use. +rankprofile[].name string + +## the name of a generic property available to the feature execution framework and feature plugins +rankprofile[].fef.property[].name string + +## the value of a generic property available to feature plugins +rankprofile[].fef.property[].value string + +## the catalog name overrides apply to +rankprofile[].catalog[].name string + +## Boost value for AND queries in this catalog. +rankprofile[].catalog[].andboost int default=0 + +## Boost value for OR queries in this catalog. +rankprofile[].catalog[].orboost int default=0 + +## Boost value for ANY queries in this catalog. +rankprofile[].catalog[].anyboost int default=0 + +## Boost value for NEAR queries in catalog. +rankprofile[].catalog[].nearboost int default=0 + +## Boost value for ORDEREDNEAR queries in this catalog. +rankprofile[].catalog[].orderednearboost int default=0 + +## Boost value for phrase queries in this catalog. +rankprofile[].catalog[].phraseboost int default=0 + +## Boost value for all queries in catalog. +rankprofile[].catalog[].rankboost int default=0 + +## If true, the context boost is the max value of +## the individual contextboosts. +## When false, the context boost when a term is in +## several contexts is the sum of the individual contextboosts. +rankprofile[].catalog[].bestcontextboostonly bool default=false + + +## If true, then use extnumoccboost only when calculating rank values. +## Also, do not normalize the extnumoccboost value with +## global term frequency. Default value is false. +rankprofile[].catalog[].extnumoccboostonly bool default=false + +## If yes, then use extnumoccboost only when calculating rank values. +## Also, do not normalize the extnumoccboost value with +## global term frequency. Default value is no. +rankprofile[].catalog[].numoccandextnumoccboostonly bool default=false + +## If yes, then use bitvectors when possible. +## Default value is false. +rankprofile[].catalog[].preferbitvector bool default=false + +## Load extnumoccboost for this catalog from the named file. +## extnumoccboost specifies boost values due to the number of +## occurences of a term that are external to the document. If +## "NULL" is given as file name, then all extnumoccboost values +## will be set to 0. +rankprofile[].catalog[].extnumoccboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## Load numoccboost for this catalog from the named file. +## numoccboost specifies boost values due to the number of occurences in +## a document. If "NULL" is given as file name, then all numoccboost +## values will be set to 0. +rankprofile[].catalog[].numoccboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## Load firstoccboost for catalog from the file named. +## firstoccboost specifies boost values due to the position of the +## first occurence in a document. If "NULL" is given as file name, +## then all firstoccboost values will be set to 0. +rankprofile[].catalog[].firstoccboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + + +## Load firstoccproximityboost for this catalog from the file named. +## firstoccproximity boost specifies boost values due to the correlation between +## positions of the first occurence in a document for two and two words. +## +## If "NULL" is given as file name, then all +## firstoccproximityboost values will be set to 0. If otherwise set, +## should be the name of a file to load into the table. The file +## should have 256 lines each containing a single integer. +## +## There are 256 elements in the table, handling forward distances from 1. +## The corresponding firstoccrevproximityboost table is used +## to handle closeness in reverse order. +## +## The last array index specifies the proximity table set. During +## evaluation, the bigram proximity weight supplied by the query segmenter +## specifies which proximity table set to use, with a fallback to set 0 +## when no information is available. +rankprofile[].catalog[].firstoccproximityboost[].table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## Load firstoccrevproximityboost table for this catalog from the named file. +## Specifies boost values due to the correlation between positions +## of the first occurence in a document for two and two words when +## the second word in the query comes first in the document. +## See also firstoccproximityboost above. +rankprofile[].catalog[].firstoccrevproximityboost[].table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## Load proximityboost for this catalog from the named file. +## proximity boost specifies boost values due to the correlation between +## positions of the occurences in a document for two and two words. +## See also firstoccproximityboost above. +rankprofile[].catalog[].proximityboost[].table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## Load revproximityboost for this catalog from the named file. +## revproximity boost specifies boost values due to the correlation between +## positions of the occurences in a document for two and two words. +## See also firstoccproximityboost above. +rankprofile[].catalog[].revproximityboost[].table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## Load divtable for this catalog from the named file. +## Rank values for a query term are divided by the entry +## in divtable indexed by log2 of term frequence. +## The file should contain ?? lines each with a single integer. +rankprofile[].catalog[].divtable string default="" + +## The name of a context in this catalog to specify boosts for. +rankprofile[].catalog[].context[].name string + +## Boost occurrences in this context with the given value. +## XXX -1 uses default (???) from somewhere(TM). +rankprofile[].catalog[].context[].contextboost int default=0 + +## Boost pair of occurrences in this context with +## the given value when evaluating 2 words from same catalog in +## parallell. +## XXX -1 uses default (???) from somewhere(TM). +rankprofile[].catalog[].context[].commoncontextboost.pair int default=0 + +## Boost triple of occurrences in this context with +## the given value when evaluating 3 words from same catalog in +## parallell. +## XXX -1 uses default (???) from somewhere(TM). +rankprofile[].catalog[].context[].commoncontextboost.triple int default=0 + +## Boost quad of occurrences in this context with +## the given value when evaluating 4 words from same catalog in +## parallell. +## XXX -1 uses default (???) from somewhere(TM). +rankprofile[].catalog[].context[].commoncontextboost.quad int default=0 + + +## The name of the attribute +rankprofile[].attribute[].name string + +## Boost value for queries that hit in this attribute +rankprofile[].attribute[].attributecontextboost int default=0 + +## Load weightboost for this attribute from the named file. +## weightboost specifies boost values due to the weight (weighted set) +## or number of occurences (single, array) in an attribute. +## If "NULL" is given as file name, then all weightboost values will be set to 0. +rankprofile[].attribute[].weightboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + + +## Load static rank values from the given staticrank docattr vector. +## Must be specified in index.cf as a staticrankfile. +rankprofile[].staticrankfile string default="" + +## Multiply static rank values with given value when calculating total +## rank value. +rankprofile[].staticcoefficient int default=1 + +## If false then use only static ranking when sorting result hits. +## Default is true. +rankprofile[].dynamicranking bool default=true + +## If dynamic ranking is turned off, then ascending will sort the +## result hits with lowest static rank values first, while +## descending will sort with highest static rank values +## first. Default is descending. This keyword has no effect if +## dynamic ranking is on. +rankprofile[].staticranksortorder string default="descending" + +## Load static rank mapping from the file named table. The static +## rank mapping maps each 8-bit static rank value into a 32-bit static +## rank value. This option may only be used with 8-bit static rank files. +rankprofile[].staticrankmap string default="" + +## If set to "true", total rank will be reduced when dynamic rank is less than +## 25% of static rank, to suppress irrelevant hits from popular sites. +## If set to "false", total rank is not reduced. +rankprofile[].clampstaticrank bool default=false + +## Load document datetime values used for freshness boost calculation from +## this file. The values must be coded as minutes since +## 1900-01-01T00:00Z. The value 0 has the special meaning +## "no datetime value exists". +rankprofile[].freshnessboost.file string default="" + +## Load freshnessboost lookup-table values from the file named +## table instead of using built-in default values. The file must +## contain 32 white-space separated non-negative integers. +rankprofile[].freshnessboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## When calculating the freshness boost value multiply difference between +## current datetime and document datetime with timeoffset before taking +## the base-2 logarithm. Default value is 1. Max value is 31. +rankprofile[].freshnessboost.timeoffset int default=1 + +## If a document has datetime value 0, then use defaultboostvalue +## as freshness boost value instead of doing table lookup. The default +## default value is 0 (no boost). +rankprofile[].freshnessboost.defaultboostvalue int default=0 + +## Multiply freshness boost value with coefficient when calculating +## total freshness boost value. If coefficient 0 is used, no freshness +## boost value will be computed or added. Default value is 0. +rankprofile[].freshnessboost.coefficient int default=0 + +## boost table files for distance ranking, 1 dimension. +## The tables have 465 elements each, where slots 0..15 represents +## distances 0..15 while the remaining slots represents distance +## (16 + (slot & 15)) << ((slot >> 4) - 1). Linear interpolation is +## used for distances "between" table slots. +## +## If "NULL" is given as the file name then all 1D distance boost values +## for that table will be set to 0. +rankprofile[].distance1dboosttable[].table string + +## boost table files for distance ranking, 2 dimensions. +## The tables have 977 elements each, where slots 0..15 represents +## square of distance being 0..15 while the remaining slots represents +## square of distance distance being +## (16 + (slot & 15)) << ((slot >> 4) - 1). Linear interpolation is +## used for distances "between" table slots. +## +## If "NULL" is given as the file name then all 2D distance boost values +## for that table will be set to 0. +rankprofile[].distance2dboosttable[].table string + +## The lowest possible size of a ranked result. This is the lower ramp +## of the percentage specified in the binsize variable. The default is +## specified in fsearchrc. +rankprofile[].binlow int default=-1 + +## The high limit of the ranked result bin. If the percentage of the +## resultset specified in binsize is higher than this limit, this will be +## the max size. The default is specified in fsearchrc. +rankprofile[].binhigh int default=-1 + +## The size of the ranked results as a percentage of the total result +## set size. The percentage can be ramped off with the binlow and binhigh +## variables. The default is specified in fsearchrc. +rankprofile[].binsize double default=-1 + +## Minimum value for maximum value of number of 'posocc' entries for a word. +## The default is specified in fsearchrc. +rankprofile[].posbinlow int default=-1 + +## Maximum value for maximum value of number of 'posocc' entries for a word. +## The default is specified in fsearchrc. +rankprofile[].posbinhigh int default=-1 + +## The maximum value for number of 'posocc' entries for a word, specified +## as a percentage of the number of documents in the index. If more +## entries are needed for evaluation, posocc entries are not used for that +## word and evaluation will be performed without full proximity support. +## The percentage can be ramped off with the posbinlow and posbinhigh +## variables. The default is specified in fsearchrc. +rankprofile[].posbinsize int default=-1 + +## Boost value that is added to the relevance score of hits from superior +## searches (searches where recall is sacrificed for better +## precision). The rank cutoff feature will not be affected by this +## feature (rank cutoff is applied before the superior boost). +rankprofile[].superiorboost int default=0 + +## Name of rank profile to be used when running superior searches +## (searches where recall is sacrificed for better precision). If not +## set, the current ranking profile will be used. +## +## If a profile for a superior search has this set then a superior^2 +## search exist (with more recall sacrificed than for superior searches) +## and search behavior is slightly changed: +## +## If the search node has been asked to perform a superior search then an +## internal double fallthrough with (superior, superior^2) search is +## performed. If the search node has been asked to perform an internal +## double fallthrough then a triple fallthrough with (normal, superior, +## superior^2) is performed. +rankprofile[].superiorname string default="" + +## After all other rank calculations, the rank value is tuned according +## to the tunefactor and tunebias values. The rank value is modified +## as follows: new_rank = old_rank * tunefactor + tunebias. +rankprofile[].tunefactor double default=1.0 + +## After all other rank calculations, the rank value is tuned according +## to the tunefactor and tunebias values. The rank value is modified +## as follows: new_rank = old_rank * tunefactor + tunebias. +rankprofile[].tunebias int default=0 + +## A lower limit for the rankvalue of the results returned from the +## search node. If rankcutoff.advanced is set to "true", determines +## the constant value used in the internal advanced rank cutoff +## calculations. This roughly reflects the expected rank contribution +## of one good term. +## The rankcutoff.val value and the rankcutoff.advanced parameter +## may be used if you only want hits with a minimum relevancy to show +## up in the resultset. +## A value below zero means no rankcutoff is done. +rankprofile[].rankcutoff.val int default=-1 + +## When rankcutoff.val is in use, this flag controls whether to use +## an internal calculation is used for determining the rank cutoff +## value. If "false", use rankcutoff.val as a direct lower limit. +rankprofile[].rankcutoff.advanced bool default=false + +## If set to "ON", use of posocc files is enabled, except when +## "forceemptyposoccs" is set in fsearchrc or posocc files doesn't exist. +## If set to "OFF", use of posocc files is disabled. +## If "NOTSET" the fsearchrc "proximity" parameter is used instead. +rankprofile[].proximity.full.enable enum { OFF, ON, NOTSET } default=NOTSET + +## If set to "ON", use of firstoccproximity is enabled. +## If set to "OFF", use of firstoccproximity is disabled. +## When NOTSET use the firstoccproximity value in fsearchrc configuration. +rankprofile[].proximity.firstocc.enable enum { OFF, ON, NOTSET } default=NOTSET + +## If set to "ON", use of proximity (cf. proximity and firstoccproximity) +## will affect phrases in addition to single words. +## If set to "OFF", proximity is never used for phrases. +## When NOTSET use the phraseproximity value in fsearchrc configuration. +rankprofile[].proximity.phrase.enable enum { OFF, ON, NOTSET } default=NOTSET + +## Selects behavior when proximity can be used for two words but not three +## words while firstoccproximity can be used for three words. +## If set to "ON", then use proximity for two words. +## If set to "OFF", then use firstoccproximity for three words. +## When NOTSET use the proximitypairbeforefirstoccproximitytriple value +## in fsearchrc configuration. +rankprofile[].proximity.pairbeforefirstocctriple.enable enum { OFF, ON, NOTSET } default=NOTSET + +## Selects behavior when proximity can be used for three words but not four +## words while firstoccproximity can be used for four words. +## If set to "ON", then use proximity for three words. +## If set to "OFF", then use firstoccproximity for four words. +## When NOTSET use the proximitytriplebeforefirstoccproximityquad value +rankprofile[].proximity.triplebeforefirstoccquad.enable enum { OFF, ON, NOTSET } default=NOTSET diff --git a/config-model/src/test/derived/music/defs/summarymap.def b/config-model/src/test/derived/music/defs/summarymap.def new file mode 100644 index 00000000000..7bb5e7df849 --- /dev/null +++ b/config-model/src/test/derived/music/defs/summarymap.def @@ -0,0 +1,15 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search + +## The default output summary class id, -1 to use the stored summary class id +defaultoutputclass int default=-1 + +## The name of the summary field which is overridden with a dynamic value +override[].field string + +## The overriding command, one of: +## staticrank, dynamicteaser, dynamicteasermetric, label, ranklog, empty, copy +override[].command string + +## Space-seaparated arguments, dedendent on the given command +override[].arguments string default="" diff --git a/config-model/src/test/derived/music/ilscripts.cfg b/config-model/src/test/derived/music/ilscripts.cfg new file mode 100644 index 00000000000..ca2c35ffcba --- /dev/null +++ b/config-model/src/test/derived/music/ilscripts.cfg @@ -0,0 +1,76 @@ +maxtermoccurrences 100 +ilscript[0].doctype "music" +ilscript[0].docfield[0] "bgndata" +ilscript[0].docfield[1] "sales" +ilscript[0].docfield[2] "pto" +ilscript[0].docfield[3] "keys" +ilscript[0].docfield[4] "mid" +ilscript[0].docfield[5] "ew" +ilscript[0].docfield[6] "surl" +ilscript[0].docfield[7] "userrate" +ilscript[0].docfield[8] "pid" +ilscript[0].docfield[9] "weight" +ilscript[0].docfield[10] "url" +ilscript[0].docfield[11] "isbn" +ilscript[0].docfield[12] "fmt" +ilscript[0].docfield[13] "albumid" +ilscript[0].docfield[14] "disp_song" +ilscript[0].docfield[15] "song" +ilscript[0].docfield[16] "pfrom" +ilscript[0].docfield[17] "bgnpfrom" +ilscript[0].docfield[18] "categories" +ilscript[0].docfield[19] "data" +ilscript[0].docfield[20] "numreview" +ilscript[0].docfield[21] "bgnsellers" +ilscript[0].docfield[22] "image" +ilscript[0].docfield[23] "artist" +ilscript[0].docfield[24] "artistspid" +ilscript[0].docfield[25] "title" +ilscript[0].docfield[26] "newestedition" +ilscript[0].docfield[27] "bgnpto" +ilscript[0].docfield[28] "year" +ilscript[0].docfield[29] "did" +ilscript[0].docfield[30] "scorekey" +ilscript[0].docfield[31] "cbid" +ilscript[0].docfield[32] "metalvalue" +ilscript[0].docfield[33] "hiphopvalue" +ilscript[0].docfield[34] "powermetalvalue" +ilscript[0].docfield[35] "progvalue" +ilscript[0].content[0] "clear_state | guard { input hiphopvalue | split \";\" | attribute hiphopvalue_arr; }" +ilscript[0].content[1] "clear_state | guard { input metalvalue | split \";\" | attribute metalvalue_arr; }" +ilscript[0].content[2] "clear_state | guard { input bgndata | tokenize normalize stem:\"SHORTEST\" | summary bgndata; }" +ilscript[0].content[3] "clear_state | guard { input sales | summary sales | attribute sales; }" +ilscript[0].content[4] "clear_state | guard { input pto | summary pto | attribute pto; }" +ilscript[0].content[5] "clear_state | guard { input keys | tokenize normalize stem:\"SHORTEST\" | index keys; }" +ilscript[0].content[6] "clear_state | guard { input mid | summary mid | attribute mid; }" +ilscript[0].content[7] "clear_state | guard { input ew | tokenize normalize stem:\"SHORTEST\" | summary ew | index ew; }" +ilscript[0].content[8] "clear_state | guard { input surl | summary surl; }" +ilscript[0].content[9] "clear_state | guard { input userrate | summary userrate; }" +ilscript[0].content[10] "clear_state | guard { input pid | summary pid; }" +ilscript[0].content[11] "clear_state | guard { input weight | summary weight | attribute weight; }" +ilscript[0].content[12] "clear_state | guard { input url | summary url; }" +ilscript[0].content[13] "clear_state | guard { input isbn | summary isbn; }" +ilscript[0].content[14] "clear_state | guard { input fmt | tokenize normalize stem:\"SHORTEST\" | summary fmt | index fmt; }" +ilscript[0].content[15] "clear_state | guard { input albumid | summary albumid; }" +ilscript[0].content[16] "clear_state | guard { input disp_song | summary disp_song; }" +ilscript[0].content[17] "clear_state | guard { input song | tokenize normalize stem:\"SHORTEST\" | summary song | index song; }" +ilscript[0].content[18] "clear_state | guard { input pfrom | summary pfrom; }" +ilscript[0].content[19] "clear_state | guard { input bgnpfrom | summary bgnpfrom | attribute bgnpfrom; }" +ilscript[0].content[20] "clear_state | guard { input categories | tokenize normalize stem:\"SHORTEST\" | summary categories | index categories; }" +ilscript[0].content[21] "clear_state | guard { input data | summary data; }" +ilscript[0].content[22] "clear_state | guard { input numreview | summary numreview; }" +ilscript[0].content[23] "clear_state | guard { input bgnsellers | summary bgnsellers; }" +ilscript[0].content[24] "clear_state | guard { input image | summary image; }" +ilscript[0].content[25] "clear_state | guard { input artist | tokenize normalize stem:\"SHORTEST\" | summary artist | index artist; }" +ilscript[0].content[26] "clear_state | guard { input artistspid | summary artistspid; }" +ilscript[0].content[27] "clear_state | guard { input title | tokenize normalize stem:\"SHORTEST\" | summary title | index title; }" +ilscript[0].content[28] "clear_state | guard { input newestedition | summary newestedition | attribute newestedition; }" +ilscript[0].content[29] "clear_state | guard { input bgnpto | tokenize normalize stem:\"SHORTEST\" | summary bgnpto; }" +ilscript[0].content[30] "clear_state | guard { input year | summary year | attribute year; }" +ilscript[0].content[31] "clear_state | guard { input did | summary did | attribute did; }" +ilscript[0].content[32] "clear_state | guard { input scorekey | summary scorekey; }" +ilscript[0].content[33] "clear_state | guard { input cbid | summary cbid | attribute cbid; }" +ilscript[0].content[34] "clear_state | guard { input metalvalue | summary metalvalue; }" +ilscript[0].content[35] "clear_state | guard { input hiphopvalue | summary hiphopvalue; }" +ilscript[0].content[36] "clear_state | guard { input powermetalvalue | tokenize normalize stem:\"SHORTEST\" | index powermetalvalue | summary powermetalvalue; }" +ilscript[0].content[37] "clear_state | guard { input progvalue | tokenize normalize stem:\"SHORTEST\" | index progvalue | summary progvalue; }"
\ 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 new file mode 100644 index 00000000000..f7faae11ca8 --- /dev/null +++ b/config-model/src/test/derived/music/index-info.cfg @@ -0,0 +1,215 @@ +indexinfo[0].name "music" +indexinfo[0].command[0].indexname "sddocname" +indexinfo[0].command[0].command "index" +indexinfo[0].command[1].indexname "sddocname" +indexinfo[0].command[1].command "word" +indexinfo[0].command[2].indexname "bgndata" +indexinfo[0].command[2].command "index" +indexinfo[0].command[3].indexname "sales" +indexinfo[0].command[3].command "index" +indexinfo[0].command[4].indexname "sales" +indexinfo[0].command[4].command "attribute" +indexinfo[0].command[5].indexname "sales" +indexinfo[0].command[5].command "numerical" +indexinfo[0].command[6].indexname "pto" +indexinfo[0].command[6].command "index" +indexinfo[0].command[7].indexname "pto" +indexinfo[0].command[7].command "attribute" +indexinfo[0].command[8].indexname "pto" +indexinfo[0].command[8].command "numerical" +indexinfo[0].command[9].indexname "keys" +indexinfo[0].command[9].command "index" +indexinfo[0].command[10].indexname "default" +indexinfo[0].command[10].command "index" +indexinfo[0].command[11].indexname "keys" +indexinfo[0].command[11].command "lowercase" +indexinfo[0].command[12].indexname "default" +indexinfo[0].command[12].command "lowercase" +indexinfo[0].command[13].indexname "keys" +indexinfo[0].command[13].command "stem:SHORTEST" +indexinfo[0].command[14].indexname "default" +indexinfo[0].command[14].command "stem:SHORTEST" +indexinfo[0].command[15].indexname "keys" +indexinfo[0].command[15].command "normalize" +indexinfo[0].command[16].indexname "default" +indexinfo[0].command[16].command "normalize" +indexinfo[0].command[17].indexname "mid" +indexinfo[0].command[17].command "index" +indexinfo[0].command[18].indexname "mid" +indexinfo[0].command[18].command "attribute" +indexinfo[0].command[19].indexname "mid" +indexinfo[0].command[19].command "numerical" +indexinfo[0].command[20].indexname "surl" +indexinfo[0].command[20].command "index" +indexinfo[0].command[21].indexname "userrate" +indexinfo[0].command[21].command "index" +indexinfo[0].command[22].indexname "userrate" +indexinfo[0].command[22].command "numerical" +indexinfo[0].command[23].indexname "pid" +indexinfo[0].command[23].command "index" +indexinfo[0].command[24].indexname "weight" +indexinfo[0].command[24].command "index" +indexinfo[0].command[25].indexname "weight" +indexinfo[0].command[25].command "attribute" +indexinfo[0].command[26].indexname "weight" +indexinfo[0].command[26].command "numerical" +indexinfo[0].command[27].indexname "url" +indexinfo[0].command[27].command "index" +indexinfo[0].command[28].indexname "isbn" +indexinfo[0].command[28].command "index" +indexinfo[0].command[29].indexname "fmt" +indexinfo[0].command[29].command "index" +indexinfo[0].command[30].indexname "fmt" +indexinfo[0].command[30].command "lowercase" +indexinfo[0].command[31].indexname "fmt" +indexinfo[0].command[31].command "stem:SHORTEST" +indexinfo[0].command[32].indexname "fmt" +indexinfo[0].command[32].command "normalize" +indexinfo[0].command[33].indexname "albumid" +indexinfo[0].command[33].command "index" +indexinfo[0].command[34].indexname "disp_song" +indexinfo[0].command[34].command "index" +indexinfo[0].command[35].indexname "song" +indexinfo[0].command[35].command "index" +indexinfo[0].command[36].indexname "song" +indexinfo[0].command[36].command "lowercase" +indexinfo[0].command[37].indexname "song" +indexinfo[0].command[37].command "stem:SHORTEST" +indexinfo[0].command[38].indexname "song" +indexinfo[0].command[38].command "normalize" +indexinfo[0].command[39].indexname "pfrom" +indexinfo[0].command[39].command "index" +indexinfo[0].command[40].indexname "pfrom" +indexinfo[0].command[40].command "numerical" +indexinfo[0].command[41].indexname "bgnpfrom" +indexinfo[0].command[41].command "index" +indexinfo[0].command[42].indexname "bgnpfrom" +indexinfo[0].command[42].command "attribute" +indexinfo[0].command[43].indexname "bgnpfrom" +indexinfo[0].command[43].command "numerical" +indexinfo[0].command[44].indexname "categories" +indexinfo[0].command[44].command "index" +indexinfo[0].command[45].indexname "categories" +indexinfo[0].command[45].command "lowercase" +indexinfo[0].command[46].indexname "categories" +indexinfo[0].command[46].command "stem:SHORTEST" +indexinfo[0].command[47].indexname "categories" +indexinfo[0].command[47].command "normalize" +indexinfo[0].command[48].indexname "data" +indexinfo[0].command[48].command "index" +indexinfo[0].command[49].indexname "numreview" +indexinfo[0].command[49].command "index" +indexinfo[0].command[50].indexname "numreview" +indexinfo[0].command[50].command "numerical" +indexinfo[0].command[51].indexname "bgnsellers" +indexinfo[0].command[51].command "index" +indexinfo[0].command[52].indexname "bgnsellers" +indexinfo[0].command[52].command "numerical" +indexinfo[0].command[53].indexname "image" +indexinfo[0].command[53].command "index" +indexinfo[0].command[54].indexname "artist" +indexinfo[0].command[54].command "index" +indexinfo[0].command[55].indexname "artist" +indexinfo[0].command[55].command "lowercase" +indexinfo[0].command[56].indexname "artist" +indexinfo[0].command[56].command "stem:SHORTEST" +indexinfo[0].command[57].indexname "artist" +indexinfo[0].command[57].command "normalize" +indexinfo[0].command[58].indexname "artistspid" +indexinfo[0].command[58].command "index" +indexinfo[0].command[59].indexname "title" +indexinfo[0].command[59].command "index" +indexinfo[0].command[60].indexname "title" +indexinfo[0].command[60].command "lowercase" +indexinfo[0].command[61].indexname "title" +indexinfo[0].command[61].command "stem:SHORTEST" +indexinfo[0].command[62].indexname "title" +indexinfo[0].command[62].command "normalize" +indexinfo[0].command[63].indexname "newestedition" +indexinfo[0].command[63].command "index" +indexinfo[0].command[64].indexname "newestedition" +indexinfo[0].command[64].command "attribute" +indexinfo[0].command[65].indexname "newestedition" +indexinfo[0].command[65].command "numerical" +indexinfo[0].command[66].indexname "bgnpto" +indexinfo[0].command[66].command "index" +indexinfo[0].command[67].indexname "year" +indexinfo[0].command[67].command "index" +indexinfo[0].command[68].indexname "year" +indexinfo[0].command[68].command "attribute" +indexinfo[0].command[69].indexname "year" +indexinfo[0].command[69].command "numerical" +indexinfo[0].command[70].indexname "did" +indexinfo[0].command[70].command "index" +indexinfo[0].command[71].indexname "did" +indexinfo[0].command[71].command "attribute" +indexinfo[0].command[72].indexname "did" +indexinfo[0].command[72].command "numerical" +indexinfo[0].command[73].indexname "scorekey" +indexinfo[0].command[73].command "index" +indexinfo[0].command[74].indexname "scorekey" +indexinfo[0].command[74].command "numerical" +indexinfo[0].command[75].indexname "cbid" +indexinfo[0].command[75].command "index" +indexinfo[0].command[76].indexname "cbid" +indexinfo[0].command[76].command "attribute" +indexinfo[0].command[77].indexname "cbid" +indexinfo[0].command[77].command "numerical" +indexinfo[0].command[78].indexname "metalvalue" +indexinfo[0].command[78].command "index" +indexinfo[0].command[79].indexname "hiphopvalue" +indexinfo[0].command[79].command "index" +indexinfo[0].command[80].indexname "powermetalvalue" +indexinfo[0].command[80].command "index" +indexinfo[0].command[81].indexname "powermetalvalue" +indexinfo[0].command[81].command "lowercase" +indexinfo[0].command[82].indexname "powermetalvalue" +indexinfo[0].command[82].command "stem:SHORTEST" +indexinfo[0].command[83].indexname "powermetalvalue" +indexinfo[0].command[83].command "normalize" +indexinfo[0].command[84].indexname "progvalue" +indexinfo[0].command[84].command "index" +indexinfo[0].command[85].indexname "progvalue" +indexinfo[0].command[85].command "lowercase" +indexinfo[0].command[86].indexname "progvalue" +indexinfo[0].command[86].command "stem:SHORTEST" +indexinfo[0].command[87].indexname "progvalue" +indexinfo[0].command[87].command "normalize" +indexinfo[0].command[88].indexname "hiphopvalue_arr" +indexinfo[0].command[88].command "index" +indexinfo[0].command[89].indexname "hiphopvalue_arr" +indexinfo[0].command[89].command "multivalue" +indexinfo[0].command[90].indexname "hiphopvalue_arr" +indexinfo[0].command[90].command "attribute" +indexinfo[0].command[91].indexname "hiphopvalue_arr" +indexinfo[0].command[91].command "word" +indexinfo[0].command[92].indexname "metalvalue_arr" +indexinfo[0].command[92].command "index" +indexinfo[0].command[93].indexname "metalvalue_arr" +indexinfo[0].command[93].command "multivalue" +indexinfo[0].command[94].indexname "metalvalue_arr" +indexinfo[0].command[94].command "attribute" +indexinfo[0].command[95].indexname "metalvalue_arr" +indexinfo[0].command[95].command "word" +indexinfo[0].command[96].indexname "rankfeatures" +indexinfo[0].command[96].command "index" +indexinfo[0].command[97].indexname "summaryfeatures" +indexinfo[0].command[97].command "index" +indexinfo[0].command[98].indexname "bgndata" +indexinfo[0].command[98].command "dynteaser" +indexinfo[0].command[29].indexname "ew" +indexinfo[0].command[29].command "index" +indexinfo[0].command[30].indexname "ew" +indexinfo[0].command[30].command "lowercase" +indexinfo[0].command[31].indexname "ew" +indexinfo[0].command[31].command "stem:SHORTEST" +indexinfo[0].command[32].indexname "ew" +indexinfo[0].command[102].indexname "ew" +indexinfo[0].command[102].command "highlight" +indexinfo[0].command[32].command "normalize" +indexinfo[0].command[100].indexname "song" +indexinfo[0].command[100].command "dynteaser" +indexinfo[0].command[101].indexname "bgnpto" +indexinfo[0].command[101].command "dynteaser" +indexinfo[0].command[102].indexname "bgnpto" +indexinfo[0].command[102].command "highlight"
\ No newline at end of file diff --git a/config-model/src/test/derived/music/juniperrc.cfg b/config-model/src/test/derived/music/juniperrc.cfg new file mode 100755 index 00000000000..b5d7438e081 --- /dev/null +++ b/config-model/src/test/derived/music/juniperrc.cfg @@ -0,0 +1,21 @@ +length 256 +max_matches 3 +min_length 128 +prefix true +surround_max 128 +winsize 200 +winsize_fallback_multiplier 10.0 +max_match_candidates 1000 +stem_min_length 5 +stem_max_extend 3 +override[0].fieldname "ew" +override[0].length 65536 +override[0].max_matches 1 +override[0].min_length 8192 +override[0].prefix true +override[0].surround_max 65536 +override[0].winsize 200 +override[0].winsize_fallback_multiplier 10.0 +override[0].max_match_candidates 1000 +override[0].stem_min_length 5 +override[0].stem_max_extend 3
\ No newline at end of file diff --git a/config-model/src/test/derived/music/music.sd b/config-model/src/test/derived/music/music.sd new file mode 100644 index 00000000000..b1a2bfc385d --- /dev/null +++ b/config-model/src/test/derived/music/music.sd @@ -0,0 +1,176 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search music { + + document music { + + field bgndata type string { + indexing: summary + summary: dynamic + } + + field sales type int { + indexing: summary | attribute + } + + field pto type int { + indexing: summary | attribute + } + + field keys type string { + indexing: index + } + + field mid type int { + indexing: summary | attribute + } + + field ew type string { + indexing: summary | index + bolding: on + } + + field surl type string { + indexing: summary + } + + field userrate type int { + indexing: summary + } + + field pid type string { + indexing: summary + } + + field weight type float { + indexing: summary | attribute + } + + field url type string { + indexing: summary + } + + field isbn type string { + indexing: summary + } + + field fmt type string { + indexing: summary | index + } + + field albumid type string { + indexing: summary + } + + field disp_song type string { + indexing: summary + } + + field song type string { + indexing: summary | index + summary: dynamic + } + + field pfrom type int { + indexing: summary + } + + field bgnpfrom type float { + indexing: summary | attribute + } + + field categories type string { + indexing: summary | index + } + + field data type string { + indexing: summary + } + + field numreview type int { + indexing: summary + } + + field bgnsellers type int { + indexing: summary + } + + field image type string { + indexing: summary + } + + field artist type string { + indexing: summary | index + } + + field artistspid type string { + indexing: summary + } + + field title type string { + indexing: summary | index + } + + field newestedition type int { + indexing: summary | attribute + } + + field bgnpto type string { + indexing: summary + summary: dynamic + bolding: on + } + + field year type int { + indexing: summary | attribute + } + + field did type int { + indexing: summary | attribute + } + + field scorekey type int { + indexing: summary + } + + field cbid type int { + indexing: summary | attribute + } + + field metalvalue type string { + indexing: summary + } + + field hiphopvalue type string { + indexing: summary + match { + token + } + } + + field powermetalvalue type string { + indexing: index | summary + rank: filter + } + + field progvalue type string { + indexing: index | summary + rank { + filter + } + } + } + + field metalvalue_arr type array<string> { + indexing: input metalvalue | split ";" | attribute + } + + field hiphopvalue_arr type array<string> { + indexing: input hiphopvalue | split ";" | attribute + } + + fieldset default { + fields: keys, ew, artist, song, title + } + +} + diff --git a/config-model/src/test/derived/music/rank-profiles.cfg b/config-model/src/test/derived/music/rank-profiles.cfg new file mode 100644 index 00000000000..e2452a670a0 --- /dev/null +++ b/config-model/src/test/derived/music/rank-profiles.cfg @@ -0,0 +1,34 @@ +rankprofile[0].name "default" +rankprofile[0].fef.property[0].name "nativeFieldMatch.firstOccurrenceTable.powermetalvalue" +rankprofile[0].fef.property[0].value "linear(0,0)" +rankprofile[0].fef.property[1].name "nativeFieldMatch.occurrenceCountTable.powermetalvalue" +rankprofile[0].fef.property[1].value "linear(0,0)" +rankprofile[0].fef.property[2].name "nativeProximity.proximityTable.powermetalvalue" +rankprofile[0].fef.property[2].value "linear(0,0)" +rankprofile[0].fef.property[3].name "nativeProximity.reverseProximityTable.powermetalvalue" +rankprofile[0].fef.property[3].value "linear(0,0)" +rankprofile[0].fef.property[4].name "nativeFieldMatch.firstOccurrenceTable.progvalue" +rankprofile[0].fef.property[4].value "linear(0,0)" +rankprofile[0].fef.property[5].name "nativeFieldMatch.occurrenceCountTable.progvalue" +rankprofile[0].fef.property[5].value "linear(0,0)" +rankprofile[0].fef.property[6].name "nativeProximity.proximityTable.progvalue" +rankprofile[0].fef.property[6].value "linear(0,0)" +rankprofile[0].fef.property[7].name "nativeProximity.reverseProximityTable.progvalue" +rankprofile[0].fef.property[7].value "linear(0,0)" +rankprofile[0].fef.property[9].name "vespa.isfilterfield.progvalue" +rankprofile[0].fef.property[9].value "true" +rankprofile[0].fef.property[10].name "vespa.isfilterfield.powermetalvalue" +rankprofile[0].fef.property[10].value "true" +rankprofile[1].name "unranked" +rankprofile[1].fef.property[0].name "vespa.rank.firstphase" +rankprofile[1].fef.property[0].value "value(0)" +rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize" +rankprofile[1].fef.property[1].value "0" +rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize" +rankprofile[1].fef.property[2].value "0" +rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures" +rankprofile[1].fef.property[3].value "true" +rankprofile[1].fef.property[5].name "vespa.isfilterfield.progvalue" +rankprofile[1].fef.property[5].value "true" +rankprofile[1].fef.property[6].name "vespa.isfilterfield.powermetalvalue" +rankprofile[1].fef.property[6].value "true"
\ No newline at end of file diff --git a/config-model/src/test/derived/music/summary.cfg b/config-model/src/test/derived/music/summary.cfg new file mode 100644 index 00000000000..0ddb8940482 --- /dev/null +++ b/config-model/src/test/derived/music/summary.cfg @@ -0,0 +1,103 @@ +defaultsummaryid 2086497905 +classes[0].id 2086497905 +classes[0].name "default" +classes[0].fields[0].name "bgndata" +classes[0].fields[0].type "longstring" +classes[0].fields[1].name "sales" +classes[0].fields[1].type "integer" +classes[0].fields[2].name "pto" +classes[0].fields[2].type "integer" +classes[0].fields[3].name "mid" +classes[0].fields[3].type "integer" +classes[0].fields[4].name "ew" +classes[0].fields[4].type "longstring" +classes[0].fields[5].name "surl" +classes[0].fields[5].type "longstring" +classes[0].fields[6].name "userrate" +classes[0].fields[6].type "integer" +classes[0].fields[7].name "pid" +classes[0].fields[7].type "longstring" +classes[0].fields[8].name "weight" +classes[0].fields[8].type "float" +classes[0].fields[9].name "url" +classes[0].fields[9].type "longstring" +classes[0].fields[10].name "isbn" +classes[0].fields[10].type "longstring" +classes[0].fields[11].name "fmt" +classes[0].fields[11].type "longstring" +classes[0].fields[12].name "albumid" +classes[0].fields[12].type "longstring" +classes[0].fields[13].name "disp_song" +classes[0].fields[13].type "longstring" +classes[0].fields[14].name "song" +classes[0].fields[14].type "longstring" +classes[0].fields[15].name "pfrom" +classes[0].fields[15].type "integer" +classes[0].fields[16].name "bgnpfrom" +classes[0].fields[16].type "float" +classes[0].fields[17].name "categories" +classes[0].fields[17].type "longstring" +classes[0].fields[18].name "data" +classes[0].fields[18].type "longstring" +classes[0].fields[19].name "numreview" +classes[0].fields[19].type "integer" +classes[0].fields[20].name "bgnsellers" +classes[0].fields[20].type "integer" +classes[0].fields[21].name "image" +classes[0].fields[21].type "longstring" +classes[0].fields[22].name "artist" +classes[0].fields[22].type "longstring" +classes[0].fields[23].name "artistspid" +classes[0].fields[23].type "longstring" +classes[0].fields[24].name "title" +classes[0].fields[24].type "longstring" +classes[0].fields[25].name "newestedition" +classes[0].fields[25].type "integer" +classes[0].fields[26].name "bgnpto" +classes[0].fields[26].type "longstring" +classes[0].fields[27].name "year" +classes[0].fields[27].type "integer" +classes[0].fields[28].name "did" +classes[0].fields[28].type "integer" +classes[0].fields[29].name "scorekey" +classes[0].fields[29].type "integer" +classes[0].fields[30].name "cbid" +classes[0].fields[30].type "integer" +classes[0].fields[31].name "metalvalue" +classes[0].fields[31].type "longstring" +classes[0].fields[32].name "hiphopvalue" +classes[0].fields[32].type "longstring" +classes[0].fields[33].name "powermetalvalue" +classes[0].fields[33].type "longstring" +classes[0].fields[34].name "progvalue" +classes[0].fields[34].type "longstring" +classes[0].fields[35].name "rankfeatures" +classes[0].fields[35].type "featuredata" +classes[0].fields[36].name "summaryfeatures" +classes[0].fields[36].type "featuredata" +classes[0].fields[37].name "documentid" +classes[0].fields[37].type "longstring" +classes[1].id 2060710706 +classes[1].name "attributeprefetch" +classes[1].fields[0].name "sales" +classes[1].fields[0].type "integer" +classes[1].fields[1].name "pto" +classes[1].fields[1].type "integer" +classes[1].fields[2].name "mid" +classes[1].fields[2].type "integer" +classes[1].fields[3].name "weight" +classes[1].fields[3].type "float" +classes[1].fields[4].name "bgnpfrom" +classes[1].fields[4].type "float" +classes[1].fields[5].name "newestedition" +classes[1].fields[5].type "integer" +classes[1].fields[6].name "year" +classes[1].fields[6].type "integer" +classes[1].fields[7].name "did" +classes[1].fields[7].type "integer" +classes[1].fields[8].name "cbid" +classes[1].fields[8].type "integer" +classes[1].fields[9].name "rankfeatures" +classes[1].fields[9].type "featuredata" +classes[1].fields[10].name "summaryfeatures" +classes[1].fields[10].type "featuredata"
\ No newline at end of file diff --git a/config-model/src/test/derived/music/summarymap.cfg b/config-model/src/test/derived/music/summarymap.cfg new file mode 100644 index 00000000000..f86dd8ec98f --- /dev/null +++ b/config-model/src/test/derived/music/summarymap.cfg @@ -0,0 +1,46 @@ +defaultoutputclass -1 +override[0].field "bgndata" +override[0].command "dynamicteaser" +override[0].arguments "bgndata" +override[1].field "sales" +override[1].command "attribute" +override[1].arguments "sales" +override[2].field "pto" +override[2].command "attribute" +override[2].arguments "pto" +override[3].field "mid" +override[3].command "attribute" +override[3].arguments "mid" +override[4].field "ew" +override[4].command "dynamicteaser" +override[4].arguments "ew" +override[5].field "weight" +override[5].command "attribute" +override[5].arguments "weight" +override[6].field "song" +override[6].command "dynamicteaser" +override[6].arguments "song" +override[7].field "bgnpfrom" +override[7].command "attribute" +override[7].arguments "bgnpfrom" +override[8].field "newestedition" +override[8].command "attribute" +override[8].arguments "newestedition" +override[9].field "bgnpto" +override[9].command "dynamicteaser" +override[9].arguments "bgnpto" +override[10].field "year" +override[10].command "attribute" +override[10].arguments "year" +override[11].field "did" +override[11].command "attribute" +override[11].arguments "did" +override[12].field "cbid" +override[12].command "attribute" +override[12].arguments "cbid" +override[13].field "rankfeatures" +override[13].command "rankfeatures" +override[13].arguments "" +override[14].field "summaryfeatures" +override[14].command "summaryfeatures" +override[14].arguments ""
\ No newline at end of file diff --git a/config-model/src/test/derived/music3/music3.sd b/config-model/src/test/derived/music3/music3.sd new file mode 100644 index 00000000000..e1c78406234 --- /dev/null +++ b/config-model/src/test/derived/music3/music3.sd @@ -0,0 +1,70 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search music3 { + + document music3 { + + field title type string { + indexing: summary | index + # index-to: title, default + rank-type: about + + header + } + + field artist type string { + indexing: summary | attribute | index + # index-to: artist, default + rank-type:about + + header + } + + field year type int { + indexing: summary | attribute + + header + } + + # Increase rank score of popular documents regardless of query + field popularity type int { + indexing: summary | attribute + + header + } + + field url type uri { + indexing: summary | index + + header + } + + } + + rank-profile other { + + first-phase { + expression: nativeRank + } + + second-phase { + expression: 0.5 * 0.5 * (0.1 * attribute(popularity) + fieldMatch(artist)) + 0.3 * fieldMatch(title) + rerank-count:200 + } + } + + rank-profile default { + + first-phase { + expression: nativeRank + } + + second-phase { + expression { + 0.5 * 0.5 * (0.1 * attribute(popularity) + fieldMatch(artist)) + + 0.3 * fieldMatch(title) + } + rerank-count:200 + } + } + +} diff --git a/config-model/src/test/derived/newrank/attributes.cfg b/config-model/src/test/derived/newrank/attributes.cfg new file mode 100644 index 00000000000..536e07ac13c --- /dev/null +++ b/config-model/src/test/derived/newrank/attributes.cfg @@ -0,0 +1,190 @@ +attribute[0].name "sales" +attribute[0].datatype INT32 +attribute[0].collectiontype SINGLE +attribute[0].removeifzero false +attribute[0].createifnonexistent false +attribute[0].fastsearch false +attribute[0].huge false +attribute[0].sortascending true +attribute[0].sortfunction UCA +attribute[0].sortstrength PRIMARY +attribute[0].sortlocale "" +attribute[0].enablebitvectors false +attribute[0].enableonlybitvector false +attribute[0].fastaccess false +attribute[0].arity 8 +attribute[0].lowerbound -9223372036854775808 +attribute[0].upperbound 9223372036854775807 +attribute[0].densepostinglistthreshold 0.4 +attribute[0].tensortype "" +attribute[1].name "pto" +attribute[1].datatype INT32 +attribute[1].collectiontype SINGLE +attribute[1].removeifzero false +attribute[1].createifnonexistent false +attribute[1].fastsearch false +attribute[1].huge false +attribute[1].sortascending true +attribute[1].sortfunction UCA +attribute[1].sortstrength PRIMARY +attribute[1].sortlocale "" +attribute[1].enablebitvectors false +attribute[1].enableonlybitvector false +attribute[1].fastaccess false +attribute[1].arity 8 +attribute[1].lowerbound -9223372036854775808 +attribute[1].upperbound 9223372036854775807 +attribute[1].densepostinglistthreshold 0.4 +attribute[1].tensortype "" +attribute[2].name "mid" +attribute[2].datatype INT32 +attribute[2].collectiontype SINGLE +attribute[2].removeifzero false +attribute[2].createifnonexistent false +attribute[2].fastsearch false +attribute[2].huge false +attribute[2].sortascending true +attribute[2].sortfunction UCA +attribute[2].sortstrength PRIMARY +attribute[2].sortlocale "" +attribute[2].enablebitvectors false +attribute[2].enableonlybitvector false +attribute[2].fastaccess false +attribute[2].arity 8 +attribute[2].lowerbound -9223372036854775808 +attribute[2].upperbound 9223372036854775807 +attribute[2].densepostinglistthreshold 0.4 +attribute[2].tensortype "" +attribute[3].name "weight" +attribute[3].datatype FLOAT +attribute[3].collectiontype SINGLE +attribute[3].removeifzero false +attribute[3].createifnonexistent false +attribute[3].fastsearch false +attribute[3].huge false +attribute[3].sortascending true +attribute[3].sortfunction UCA +attribute[3].sortstrength PRIMARY +attribute[3].sortlocale "" +attribute[3].enablebitvectors false +attribute[3].enableonlybitvector false +attribute[3].fastaccess false +attribute[3].arity 8 +attribute[3].lowerbound -9223372036854775808 +attribute[3].upperbound 9223372036854775807 +attribute[3].densepostinglistthreshold 0.4 +attribute[3].tensortype "" +attribute[4].name "bgnpfrom" +attribute[4].datatype FLOAT +attribute[4].collectiontype SINGLE +attribute[4].removeifzero false +attribute[4].createifnonexistent false +attribute[4].fastsearch false +attribute[4].huge false +attribute[4].sortascending true +attribute[4].sortfunction UCA +attribute[4].sortstrength PRIMARY +attribute[4].sortlocale "" +attribute[4].enablebitvectors false +attribute[4].enableonlybitvector false +attribute[4].fastaccess false +attribute[4].arity 8 +attribute[4].lowerbound -9223372036854775808 +attribute[4].upperbound 9223372036854775807 +attribute[4].densepostinglistthreshold 0.4 +attribute[4].tensortype "" +attribute[5].name "newestedition" +attribute[5].datatype INT32 +attribute[5].collectiontype SINGLE +attribute[5].removeifzero false +attribute[5].createifnonexistent false +attribute[5].fastsearch false +attribute[5].huge false +attribute[5].sortascending true +attribute[5].sortfunction UCA +attribute[5].sortstrength PRIMARY +attribute[5].sortlocale "" +attribute[5].enablebitvectors false +attribute[5].enableonlybitvector false +attribute[5].fastaccess false +attribute[5].arity 8 +attribute[5].lowerbound -9223372036854775808 +attribute[5].upperbound 9223372036854775807 +attribute[5].densepostinglistthreshold 0.4 +attribute[5].tensortype "" +attribute[6].name "year" +attribute[6].datatype INT32 +attribute[6].collectiontype SINGLE +attribute[6].removeifzero false +attribute[6].createifnonexistent false +attribute[6].fastsearch false +attribute[6].huge false +attribute[6].sortascending true +attribute[6].sortfunction UCA +attribute[6].sortstrength PRIMARY +attribute[6].sortlocale "" +attribute[6].enablebitvectors false +attribute[6].enableonlybitvector false +attribute[6].fastaccess false +attribute[6].arity 8 +attribute[6].lowerbound -9223372036854775808 +attribute[6].upperbound 9223372036854775807 +attribute[6].densepostinglistthreshold 0.4 +attribute[6].tensortype "" +attribute[7].name "did" +attribute[7].datatype INT32 +attribute[7].collectiontype SINGLE +attribute[7].removeifzero false +attribute[7].createifnonexistent false +attribute[7].fastsearch false +attribute[7].huge false +attribute[7].sortascending true +attribute[7].sortfunction UCA +attribute[7].sortstrength PRIMARY +attribute[7].sortlocale "" +attribute[7].enablebitvectors false +attribute[7].enableonlybitvector false +attribute[7].fastaccess false +attribute[7].arity 8 +attribute[7].lowerbound -9223372036854775808 +attribute[7].upperbound 9223372036854775807 +attribute[7].densepostinglistthreshold 0.4 +attribute[7].tensortype "" +attribute[8].name "scorekey" +attribute[8].datatype INT32 +attribute[8].collectiontype SINGLE +attribute[8].removeifzero false +attribute[8].createifnonexistent false +attribute[8].fastsearch false +attribute[8].huge false +attribute[8].sortascending true +attribute[8].sortfunction UCA +attribute[8].sortstrength PRIMARY +attribute[8].sortlocale "" +attribute[8].enablebitvectors false +attribute[8].enableonlybitvector false +attribute[8].fastaccess false +attribute[8].arity 8 +attribute[8].lowerbound -9223372036854775808 +attribute[8].upperbound 9223372036854775807 +attribute[8].densepostinglistthreshold 0.4 +attribute[8].tensortype "" +attribute[9].name "cbid" +attribute[9].datatype INT32 +attribute[9].collectiontype SINGLE +attribute[9].removeifzero false +attribute[9].createifnonexistent false +attribute[9].fastsearch false +attribute[9].huge false +attribute[9].sortascending true +attribute[9].sortfunction UCA +attribute[9].sortstrength PRIMARY +attribute[9].sortlocale "" +attribute[9].enablebitvectors false +attribute[9].enableonlybitvector false +attribute[9].fastaccess false +attribute[9].arity 8 +attribute[9].lowerbound -9223372036854775808 +attribute[9].upperbound 9223372036854775807 +attribute[9].densepostinglistthreshold 0.4 +attribute[9].tensortype ""
\ No newline at end of file diff --git a/config-model/src/test/derived/newrank/defs/attributes.def b/config-model/src/test/derived/newrank/defs/attributes.def new file mode 100644 index 00000000000..bb3a0df6299 --- /dev/null +++ b/config-model/src/test/derived/newrank/defs/attributes.def @@ -0,0 +1,7 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search +attribute[].name string +attribute[].datatype string +attribute[].multivalue bool default=false +attribute[].sortsigned bool default=true +attribute[].disableprep bool default=false diff --git a/config-model/src/test/derived/newrank/defs/documentmanager.def b/config-model/src/test/derived/newrank/defs/documentmanager.def new file mode 100644 index 00000000000..a310e9f13c8 --- /dev/null +++ b/config-model/src/test/derived/newrank/defs/documentmanager.def @@ -0,0 +1,12 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=document.config +datatype[].id int +datatype[].arraytype[].datatype int +documenttype[].name string +documenttype[].version int +documenttype[].inherits[].name string +documenttype[].inherits[].version int +documenttype[].field[].name string +documenttype[].field[].id int +documenttype[].field[].header bool +documenttype[].field[].datatype int diff --git a/config-model/src/test/derived/newrank/defs/extra.def b/config-model/src/test/derived/newrank/defs/extra.def new file mode 100644 index 00000000000..cc03f1b39d3 --- /dev/null +++ b/config-model/src/test/derived/newrank/defs/extra.def @@ -0,0 +1,4 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=test +file[].name string +file[].content string diff --git a/config-model/src/test/derived/newrank/defs/ilscripts.def b/config-model/src/test/derived/newrank/defs/ilscripts.def new file mode 100644 index 00000000000..d999742fa3c --- /dev/null +++ b/config-model/src/test/derived/newrank/defs/ilscripts.def @@ -0,0 +1,5 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.configdefinition +ilscript[].name string +ilscript[].doctype string +ilscript[].content[] string diff --git a/config-model/src/test/derived/newrank/defs/rank-profiles.def b/config-model/src/test/derived/newrank/defs/rank-profiles.def new file mode 100644 index 00000000000..0d7cf27ff06 --- /dev/null +++ b/config-model/src/test/derived/newrank/defs/rank-profiles.def @@ -0,0 +1,344 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search +## name of this rank profile. maps to table index for internal use. +rankprofile[].name string + +## the name of a generic property available to the feature execution framework and feature plugins +rankprofile[].fef.property[].name string + +## the value of a generic property available to feature plugins +rankprofile[].fef.property[].value string + +## the catalog name overrides apply to +rankprofile[].catalog[].name string + +## Boost value for AND queries in this catalog. +rankprofile[].catalog[].andboost int default=0 + +## Boost value for OR queries in this catalog. +rankprofile[].catalog[].orboost int default=0 + +## Boost value for ANY queries in this catalog. +rankprofile[].catalog[].anyboost int default=0 + +## Boost value for NEAR queries in catalog. +rankprofile[].catalog[].nearboost int default=0 + +## Boost value for ORDEREDNEAR queries in this catalog. +rankprofile[].catalog[].orderednearboost int default=0 + +## Boost value for phrase queries in this catalog. +rankprofile[].catalog[].phraseboost int default=0 + +## Boost value for all queries in catalog. +rankprofile[].catalog[].rankboost int default=0 + +## If true, the context boost is the max value of +## the individual contextboosts. +## When false, the context boost when a term is in +## several contexts is the sum of the individual contextboosts. +rankprofile[].catalog[].bestcontextboostonly bool default=false + + +## If true, then use extnumoccboost only when calculating rank values. +## Also, do not normalize the extnumoccboost value with +## global term frequency. Default value is false. +rankprofile[].catalog[].extnumoccboostonly bool default=false + +## If yes, then use extnumoccboost only when calculating rank values. +## Also, do not normalize the extnumoccboost value with +## global term frequency. Default value is no. +rankprofile[].catalog[].numoccandextnumoccboostonly bool default=false + +## If yes, then use bitvectors when possible. +## Default value is false. +rankprofile[].catalog[].preferbitvector bool default=false + +## Load extnumoccboost for this catalog from the named file. +## extnumoccboost specifies boost values due to the number of +## occurences of a term that are external to the document. If +## "NULL" is given as file name, then all extnumoccboost values +## will be set to 0. +rankprofile[].catalog[].extnumoccboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## Load numoccboost for this catalog from the named file. +## numoccboost specifies boost values due to the number of occurences in +## a document. If "NULL" is given as file name, then all numoccboost +## values will be set to 0. +rankprofile[].catalog[].numoccboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## Load firstoccboost for catalog from the file named. +## firstoccboost specifies boost values due to the position of the +## first occurence in a document. If "NULL" is given as file name, +## then all firstoccboost values will be set to 0. +rankprofile[].catalog[].firstoccboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + + +## Load firstoccproximityboost for this catalog from the file named. +## firstoccproximity boost specifies boost values due to the correlation between +## positions of the first occurence in a document for two and two words. +## +## If "NULL" is given as file name, then all +## firstoccproximityboost values will be set to 0. If otherwise set, +## should be the name of a file to load into the table. The file +## should have 256 lines each containing a single integer. +## +## There are 256 elements in the table, handling forward distances from 1. +## The corresponding firstoccrevproximityboost table is used +## to handle closeness in reverse order. +## +## The last array index specifies the proximity table set. During +## evaluation, the bigram proximity weight supplied by the query segmenter +## specifies which proximity table set to use, with a fallback to set 0 +## when no information is available. +rankprofile[].catalog[].firstoccproximityboost[].table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## Load firstoccrevproximityboost table for this catalog from the named file. +## Specifies boost values due to the correlation between positions +## of the first occurence in a document for two and two words when +## the second word in the query comes first in the document. +## See also firstoccproximityboost above. +rankprofile[].catalog[].firstoccrevproximityboost[].table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## Load proximityboost for this catalog from the named file. +## proximity boost specifies boost values due to the correlation between +## positions of the occurences in a document for two and two words. +## See also firstoccproximityboost above. +rankprofile[].catalog[].proximityboost[].table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## Load revproximityboost for this catalog from the named file. +## revproximity boost specifies boost values due to the correlation between +## positions of the occurences in a document for two and two words. +## See also firstoccproximityboost above. +rankprofile[].catalog[].revproximityboost[].table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## Load divtable for this catalog from the named file. +## Rank values for a query term are divided by the entry +## in divtable indexed by log2 of term frequence. +## The file should contain ?? lines each with a single integer. +rankprofile[].catalog[].divtable string default="" + +## The name of a context in this catalog to specify boosts for. +rankprofile[].catalog[].context[].name string + +## Boost occurrences in this context with the given value. +## XXX -1 uses default (???) from somewhere(TM). +rankprofile[].catalog[].context[].contextboost int default=0 + +## Boost pair of occurrences in this context with +## the given value when evaluating 2 words from same catalog in +## parallell. +## XXX -1 uses default (???) from somewhere(TM). +rankprofile[].catalog[].context[].commoncontextboost.pair int default=0 + +## Boost triple of occurrences in this context with +## the given value when evaluating 3 words from same catalog in +## parallell. +## XXX -1 uses default (???) from somewhere(TM). +rankprofile[].catalog[].context[].commoncontextboost.triple int default=0 + +## Boost quad of occurrences in this context with +## the given value when evaluating 4 words from same catalog in +## parallell. +## XXX -1 uses default (???) from somewhere(TM). +rankprofile[].catalog[].context[].commoncontextboost.quad int default=0 + + +## The name of the attribute +rankprofile[].attribute[].name string + +## Boost value for queries that hit in this attribute +rankprofile[].attribute[].attributecontextboost int default=0 + +## Load weightboost for this attribute from the named file. +## weightboost specifies boost values due to the weight (weighted set) +## or number of occurences (single, array) in an attribute. +## If "NULL" is given as file name, then all weightboost values will be set to 0. +rankprofile[].attribute[].weightboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + + +## Load static rank values from the given staticrank docattr vector. +## Must be specified in index.cf as a staticrankfile. +rankprofile[].staticrankfile string default="" + +## Multiply static rank values with given value when calculating total +## rank value. +rankprofile[].staticcoefficient int default=1 + +## If false then use only static ranking when sorting result hits. +## Default is true. +rankprofile[].dynamicranking bool default=true + +## If dynamic ranking is turned off, then ascending will sort the +## result hits with lowest static rank values first, while +## descending will sort with highest static rank values +## first. Default is descending. This keyword has no effect if +## dynamic ranking is on. +rankprofile[].staticranksortorder string default="descending" + +## Load static rank mapping from the file named table. The static +## rank mapping maps each 8-bit static rank value into a 32-bit static +## rank value. This option may only be used with 8-bit static rank files. +rankprofile[].staticrankmap string default="" + +## If set to "true", total rank will be reduced when dynamic rank is less than +## 25% of static rank, to suppress irrelevant hits from popular sites. +## If set to "false", total rank is not reduced. +rankprofile[].clampstaticrank bool default=false + +## Load document datetime values used for freshness boost calculation from +## this file. The values must be coded as minutes since +## 1900-01-01T00:00Z. The value 0 has the special meaning +## "no datetime value exists". +rankprofile[].freshnessboost.file string default="" + +## Load freshnessboost lookup-table values from the file named +## table instead of using built-in default values. The file must +## contain 32 white-space separated non-negative integers. +rankprofile[].freshnessboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## When calculating the freshness boost value multiply difference between +## current datetime and document datetime with timeoffset before taking +## the base-2 logarithm. Default value is 1. Max value is 31. +rankprofile[].freshnessboost.timeoffset int default=1 + +## If a document has datetime value 0, then use defaultboostvalue +## as freshness boost value instead of doing table lookup. The default +## default value is 0 (no boost). +rankprofile[].freshnessboost.defaultboostvalue int default=0 + +## Multiply freshness boost value with coefficient when calculating +## total freshness boost value. If coefficient 0 is used, no freshness +## boost value will be computed or added. Default value is 0. +rankprofile[].freshnessboost.coefficient int default=0 + +## boost table files for distance ranking, 1 dimension. +## The tables have 465 elements each, where slots 0..15 represents +## distances 0..15 while the remaining slots represents distance +## (16 + (slot & 15)) << ((slot >> 4) - 1). Linear interpolation is +## used for distances "between" table slots. +## +## If "NULL" is given as the file name then all 1D distance boost values +## for that table will be set to 0. +rankprofile[].distance1dboosttable[].table string + +## boost table files for distance ranking, 2 dimensions. +## The tables have 977 elements each, where slots 0..15 represents +## square of distance being 0..15 while the remaining slots represents +## square of distance distance being +## (16 + (slot & 15)) << ((slot >> 4) - 1). Linear interpolation is +## used for distances "between" table slots. +## +## If "NULL" is given as the file name then all 2D distance boost values +## for that table will be set to 0. +rankprofile[].distance2dboosttable[].table string + +## The lowest possible size of a ranked result. This is the lower ramp +## of the percentage specified in the binsize variable. The default is +## specified in fsearchrc. +rankprofile[].binlow int default=-1 + +## The high limit of the ranked result bin. If the percentage of the +## resultset specified in binsize is higher than this limit, this will be +## the max size. The default is specified in fsearchrc. +rankprofile[].binhigh int default=-1 + +## The size of the ranked results as a percentage of the total result +## set size. The percentage can be ramped off with the binlow and binhigh +## variables. The default is specified in fsearchrc. +rankprofile[].binsize double default=-1 + +## Minimum value for maximum value of number of 'posocc' entries for a word. +## The default is specified in fsearchrc. +rankprofile[].posbinlow int default=-1 + +## Maximum value for maximum value of number of 'posocc' entries for a word. +## The default is specified in fsearchrc. +rankprofile[].posbinhigh int default=-1 + +## The maximum value for number of 'posocc' entries for a word, specified +## as a percentage of the number of documents in the index. If more +## entries are needed for evaluation, posocc entries are not used for that +## word and evaluation will be performed without full proximity support. +## The percentage can be ramped off with the posbinlow and posbinhigh +## variables. The default is specified in fsearchrc. +rankprofile[].posbinsize int default=-1 + +## Boost value that is added to the relevance score of hits from superior +## searches (searches where recall is sacrificed for better +## precision). The rank cutoff feature will not be affected by this +## feature (rank cutoff is applied before the superior boost). +rankprofile[].superiorboost int default=0 + +## Name of rank profile to be used when running superior searches +## (searches where recall is sacrificed for better precision). If not +## set, the current ranking profile will be used. +## +## If a profile for a superior search has this set then a superior^2 +## search exist (with more recall sacrificed than for superior searches) +## and search behavior is slightly changed: +## +## If the search node has been asked to perform a superior search then an +## internal double fallthrough with (superior, superior^2) search is +## performed. If the search node has been asked to perform an internal +## double fallthrough then a triple fallthrough with (normal, superior, +## superior^2) is performed. +rankprofile[].superiorname string default="" + +## After all other rank calculations, the rank value is tuned according +## to the tunefactor and tunebias values. The rank value is modified +## as follows: new_rank = old_rank * tunefactor + tunebias. +rankprofile[].tunefactor double default=1.0 + +## After all other rank calculations, the rank value is tuned according +## to the tunefactor and tunebias values. The rank value is modified +## as follows: new_rank = old_rank * tunefactor + tunebias. +rankprofile[].tunebias int default=0 + +## A lower limit for the rankvalue of the results returned from the +## search node. If rankcutoff.advanced is set to "true", determines +## the constant value used in the internal advanced rank cutoff +## calculations. This roughly reflects the expected rank contribution +## of one good term. +## The rankcutoff.val value and the rankcutoff.advanced parameter +## may be used if you only want hits with a minimum relevancy to show +## up in the resultset. +## A value below zero means no rankcutoff is done. +rankprofile[].rankcutoff.val int default=-1 + +## When rankcutoff.val is in use, this flag controls whether to use +## an internal calculation is used for determining the rank cutoff +## value. If "false", use rankcutoff.val as a direct lower limit. +rankprofile[].rankcutoff.advanced bool default=false + +## If set to "ON", use of posocc files is enabled, except when +## "forceemptyposoccs" is set in fsearchrc or posocc files doesn't exist. +## If set to "OFF", use of posocc files is disabled. +## If "NOTSET" the fsearchrc "proximity" parameter is used instead. +rankprofile[].proximity.full.enable enum { OFF, ON, NOTSET } default=NOTSET + +## If set to "ON", use of firstoccproximity is enabled. +## If set to "OFF", use of firstoccproximity is disabled. +## When NOTSET use the firstoccproximity value in fsearchrc configuration. +rankprofile[].proximity.firstocc.enable enum { OFF, ON, NOTSET } default=NOTSET + +## If set to "ON", use of proximity (cf. proximity and firstoccproximity) +## will affect phrases in addition to single words. +## If set to "OFF", proximity is never used for phrases. +## When NOTSET use the phraseproximity value in fsearchrc configuration. +rankprofile[].proximity.phrase.enable enum { OFF, ON, NOTSET } default=NOTSET + +## Selects behavior when proximity can be used for two words but not three +## words while firstoccproximity can be used for three words. +## If set to "ON", then use proximity for two words. +## If set to "OFF", then use firstoccproximity for three words. +## When NOTSET use the proximitypairbeforefirstoccproximitytriple value +## in fsearchrc configuration. +rankprofile[].proximity.pairbeforefirstocctriple.enable enum { OFF, ON, NOTSET } default=NOTSET + +## Selects behavior when proximity can be used for three words but not four +## words while firstoccproximity can be used for four words. +## If set to "ON", then use proximity for three words. +## If set to "OFF", then use firstoccproximity for four words. +## When NOTSET use the proximitytriplebeforefirstoccproximityquad value +rankprofile[].proximity.triplebeforefirstoccquad.enable enum { OFF, ON, NOTSET } default=NOTSET diff --git a/config-model/src/test/derived/newrank/defs/summarymap.def b/config-model/src/test/derived/newrank/defs/summarymap.def new file mode 100644 index 00000000000..31b8fc44b66 --- /dev/null +++ b/config-model/src/test/derived/newrank/defs/summarymap.def @@ -0,0 +1,14 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search +## The default output summary class id, -1 to use the stored summary class id +defaultoutputclass int default=-1 + +## The name of the summary field which is overridden with a dynamic value +override[].field string + +## The overriding command, one of: +## staticrank, dynamicteaser, dynamicteasermetric, label, ranklog, empty, copy +override[].command string + +## Space-seaparated arguments, dedendent on the given command +override[].arguments string default="" diff --git a/config-model/src/test/derived/newrank/ilscripts.cfg b/config-model/src/test/derived/newrank/ilscripts.cfg new file mode 100644 index 00000000000..8a252be4dd0 --- /dev/null +++ b/config-model/src/test/derived/newrank/ilscripts.cfg @@ -0,0 +1,66 @@ +maxtermoccurrences 100 +ilscript[0].doctype "newrank" +ilscript[0].docfield[0] "bgndata" +ilscript[0].docfield[1] "sales" +ilscript[0].docfield[2] "pto" +ilscript[0].docfield[3] "keys" +ilscript[0].docfield[4] "mid" +ilscript[0].docfield[5] "ew" +ilscript[0].docfield[6] "surl" +ilscript[0].docfield[7] "userrate" +ilscript[0].docfield[8] "pid" +ilscript[0].docfield[9] "weight" +ilscript[0].docfield[10] "url" +ilscript[0].docfield[11] "isbn" +ilscript[0].docfield[12] "fmt" +ilscript[0].docfield[13] "albumid" +ilscript[0].docfield[14] "disp_song" +ilscript[0].docfield[15] "song" +ilscript[0].docfield[16] "pfrom" +ilscript[0].docfield[17] "bgnpfrom" +ilscript[0].docfield[18] "categories" +ilscript[0].docfield[19] "data" +ilscript[0].docfield[20] "numreview" +ilscript[0].docfield[21] "bgnsellers" +ilscript[0].docfield[22] "image" +ilscript[0].docfield[23] "artist" +ilscript[0].docfield[24] "artistspid" +ilscript[0].docfield[25] "title" +ilscript[0].docfield[26] "newestedition" +ilscript[0].docfield[27] "bgnpto" +ilscript[0].docfield[28] "year" +ilscript[0].docfield[29] "did" +ilscript[0].docfield[30] "scorekey" +ilscript[0].docfield[31] "cbid" +ilscript[0].content[0] "clear_state | guard { input bgndata | tokenize normalize stem:\"SHORTEST\" | summary bgndata; }" +ilscript[0].content[1] "clear_state | guard { input sales | summary sales | attribute sales; }" +ilscript[0].content[2] "clear_state | guard { input pto | summary pto | attribute pto; }" +ilscript[0].content[3] "clear_state | guard { input keys | tokenize normalize stem:\"SHORTEST\" | index keys; }" +ilscript[0].content[4] "clear_state | guard { input mid | summary mid | attribute mid; }" +ilscript[0].content[5] "clear_state | guard { input ew | tokenize normalize stem:\"SHORTEST\" | summary ew | index ew; }" +ilscript[0].content[6] "clear_state | guard { input surl | summary surl; }" +ilscript[0].content[7] "clear_state | guard { input userrate | summary userrate; }" +ilscript[0].content[8] "clear_state | guard { input pid | summary pid; }" +ilscript[0].content[9] "clear_state | guard { input weight | summary weight | attribute weight; }" +ilscript[0].content[10] "clear_state | guard { input url | summary url; }" +ilscript[0].content[11] "clear_state | guard { input isbn | summary isbn; }" +ilscript[0].content[12] "clear_state | guard { input fmt | tokenize normalize stem:\"SHORTEST\" | summary fmt | index fmt; }" +ilscript[0].content[13] "clear_state | guard { input albumid | summary albumid; }" +ilscript[0].content[14] "clear_state | guard { input disp_song | summary disp_song; }" +ilscript[0].content[15] "clear_state | guard { input song | tokenize normalize stem:\"SHORTEST\" | summary song | index song; }" +ilscript[0].content[16] "clear_state | guard { input pfrom | summary pfrom; }" +ilscript[0].content[17] "clear_state | guard { input bgnpfrom | summary bgnpfrom | attribute bgnpfrom; }" +ilscript[0].content[18] "clear_state | guard { input categories | tokenize normalize stem:\"SHORTEST\" | summary categories | index categories; }" +ilscript[0].content[19] "clear_state | guard { input data | summary data; }" +ilscript[0].content[20] "clear_state | guard { input numreview | summary numreview; }" +ilscript[0].content[21] "clear_state | guard { input bgnsellers | summary bgnsellers; }" +ilscript[0].content[22] "clear_state | guard { input image | summary image; }" +ilscript[0].content[23] "clear_state | guard { input artist | tokenize normalize stem:\"SHORTEST\" | summary artist | index artist; }" +ilscript[0].content[24] "clear_state | guard { input artistspid | summary artistspid; }" +ilscript[0].content[25] "clear_state | guard { input title | tokenize normalize stem:\"SHORTEST\" | summary title | index title; }" +ilscript[0].content[26] "clear_state | guard { input newestedition | summary newestedition | attribute newestedition; }" +ilscript[0].content[27] "clear_state | guard { input bgnpto | tokenize normalize stem:\"SHORTEST\" | summary bgnpto; }" +ilscript[0].content[28] "clear_state | guard { input year | summary year | attribute year; }" +ilscript[0].content[29] "clear_state | guard { input did | summary did | attribute did; }" +ilscript[0].content[30] "clear_state | guard { input scorekey | summary scorekey | attribute scorekey; }" +ilscript[0].content[31] "clear_state | guard { input cbid | summary cbid | attribute cbid; }"
\ No newline at end of file diff --git a/config-model/src/test/derived/newrank/index-info.cfg b/config-model/src/test/derived/newrank/index-info.cfg new file mode 100644 index 00000000000..a74a7a3de08 --- /dev/null +++ b/config-model/src/test/derived/newrank/index-info.cfg @@ -0,0 +1,181 @@ +indexinfo[0].name "newrank" +indexinfo[0].command[0].indexname "sddocname" +indexinfo[0].command[0].command "index" +indexinfo[0].command[1].indexname "sddocname" +indexinfo[0].command[1].command "word" +indexinfo[0].command[2].indexname "bgndata" +indexinfo[0].command[2].command "index" +indexinfo[0].command[3].indexname "sales" +indexinfo[0].command[3].command "index" +indexinfo[0].command[4].indexname "sales" +indexinfo[0].command[4].command "attribute" +indexinfo[0].command[5].indexname "sales" +indexinfo[0].command[5].command "numerical" +indexinfo[0].command[6].indexname "pto" +indexinfo[0].command[6].command "index" +indexinfo[0].command[7].indexname "pto" +indexinfo[0].command[7].command "attribute" +indexinfo[0].command[8].indexname "pto" +indexinfo[0].command[8].command "numerical" +indexinfo[0].command[9].indexname "keys" +indexinfo[0].command[9].command "index" +indexinfo[0].command[10].indexname "default" +indexinfo[0].command[10].command "index" +indexinfo[0].command[11].indexname "keys" +indexinfo[0].command[11].command "lowercase" +indexinfo[0].command[12].indexname "default" +indexinfo[0].command[12].command "lowercase" +indexinfo[0].command[13].indexname "keys" +indexinfo[0].command[13].command "stem:SHORTEST" +indexinfo[0].command[14].indexname "default" +indexinfo[0].command[14].command "stem:SHORTEST" +indexinfo[0].command[15].indexname "keys" +indexinfo[0].command[15].command "normalize" +indexinfo[0].command[16].indexname "default" +indexinfo[0].command[16].command "normalize" +indexinfo[0].command[17].indexname "mid" +indexinfo[0].command[17].command "index" +indexinfo[0].command[18].indexname "mid" +indexinfo[0].command[18].command "attribute" +indexinfo[0].command[19].indexname "mid" +indexinfo[0].command[19].command "numerical" +indexinfo[0].command[20].indexname "surl" +indexinfo[0].command[20].command "index" +indexinfo[0].command[21].indexname "userrate" +indexinfo[0].command[21].command "index" +indexinfo[0].command[22].indexname "userrate" +indexinfo[0].command[22].command "numerical" +indexinfo[0].command[23].indexname "pid" +indexinfo[0].command[23].command "index" +indexinfo[0].command[24].indexname "weight" +indexinfo[0].command[24].command "index" +indexinfo[0].command[25].indexname "weight" +indexinfo[0].command[25].command "attribute" +indexinfo[0].command[26].indexname "weight" +indexinfo[0].command[26].command "numerical" +indexinfo[0].command[27].indexname "url" +indexinfo[0].command[27].command "index" +indexinfo[0].command[28].indexname "isbn" +indexinfo[0].command[28].command "index" +indexinfo[0].command[29].indexname "fmt" +indexinfo[0].command[29].command "index" +indexinfo[0].command[30].indexname "fmt" +indexinfo[0].command[30].command "lowercase" +indexinfo[0].command[31].indexname "fmt" +indexinfo[0].command[31].command "stem:SHORTEST" +indexinfo[0].command[32].indexname "fmt" +indexinfo[0].command[32].command "normalize" +indexinfo[0].command[33].indexname "albumid" +indexinfo[0].command[33].command "index" +indexinfo[0].command[34].indexname "disp_song" +indexinfo[0].command[34].command "index" +indexinfo[0].command[35].indexname "song" +indexinfo[0].command[35].command "index" +indexinfo[0].command[36].indexname "song" +indexinfo[0].command[36].command "lowercase" +indexinfo[0].command[37].indexname "song" +indexinfo[0].command[37].command "stem:SHORTEST" +indexinfo[0].command[38].indexname "song" +indexinfo[0].command[38].command "normalize" +indexinfo[0].command[39].indexname "pfrom" +indexinfo[0].command[39].command "index" +indexinfo[0].command[40].indexname "pfrom" +indexinfo[0].command[40].command "numerical" +indexinfo[0].command[41].indexname "bgnpfrom" +indexinfo[0].command[41].command "index" +indexinfo[0].command[42].indexname "bgnpfrom" +indexinfo[0].command[42].command "attribute" +indexinfo[0].command[43].indexname "bgnpfrom" +indexinfo[0].command[43].command "numerical" +indexinfo[0].command[44].indexname "categories" +indexinfo[0].command[44].command "index" +indexinfo[0].command[45].indexname "categories" +indexinfo[0].command[45].command "lowercase" +indexinfo[0].command[46].indexname "categories" +indexinfo[0].command[46].command "stem:SHORTEST" +indexinfo[0].command[47].indexname "categories" +indexinfo[0].command[47].command "normalize" +indexinfo[0].command[48].indexname "data" +indexinfo[0].command[48].command "index" +indexinfo[0].command[49].indexname "numreview" +indexinfo[0].command[49].command "index" +indexinfo[0].command[50].indexname "numreview" +indexinfo[0].command[50].command "numerical" +indexinfo[0].command[51].indexname "bgnsellers" +indexinfo[0].command[51].command "index" +indexinfo[0].command[52].indexname "bgnsellers" +indexinfo[0].command[52].command "numerical" +indexinfo[0].command[53].indexname "image" +indexinfo[0].command[53].command "index" +indexinfo[0].command[54].indexname "artist" +indexinfo[0].command[54].command "index" +indexinfo[0].command[55].indexname "artist" +indexinfo[0].command[55].command "lowercase" +indexinfo[0].command[56].indexname "artist" +indexinfo[0].command[56].command "stem:SHORTEST" +indexinfo[0].command[57].indexname "artist" +indexinfo[0].command[57].command "normalize" +indexinfo[0].command[58].indexname "artistspid" +indexinfo[0].command[58].command "index" +indexinfo[0].command[59].indexname "title" +indexinfo[0].command[59].command "index" +indexinfo[0].command[60].indexname "title" +indexinfo[0].command[60].command "lowercase" +indexinfo[0].command[61].indexname "title" +indexinfo[0].command[61].command "stem:SHORTEST" +indexinfo[0].command[62].indexname "title" +indexinfo[0].command[62].command "normalize" +indexinfo[0].command[63].indexname "newestedition" +indexinfo[0].command[63].command "index" +indexinfo[0].command[64].indexname "newestedition" +indexinfo[0].command[64].command "attribute" +indexinfo[0].command[65].indexname "newestedition" +indexinfo[0].command[65].command "numerical" +indexinfo[0].command[66].indexname "bgnpto" +indexinfo[0].command[66].command "index" +indexinfo[0].command[67].indexname "year" +indexinfo[0].command[67].command "index" +indexinfo[0].command[68].indexname "year" +indexinfo[0].command[68].command "attribute" +indexinfo[0].command[69].indexname "year" +indexinfo[0].command[69].command "numerical" +indexinfo[0].command[70].indexname "did" +indexinfo[0].command[70].command "index" +indexinfo[0].command[71].indexname "did" +indexinfo[0].command[71].command "attribute" +indexinfo[0].command[72].indexname "did" +indexinfo[0].command[72].command "numerical" +indexinfo[0].command[73].indexname "scorekey" +indexinfo[0].command[73].command "index" +indexinfo[0].command[74].indexname "scorekey" +indexinfo[0].command[74].command "attribute" +indexinfo[0].command[75].indexname "scorekey" +indexinfo[0].command[75].command "numerical" +indexinfo[0].command[76].indexname "cbid" +indexinfo[0].command[76].command "index" +indexinfo[0].command[77].indexname "cbid" +indexinfo[0].command[77].command "attribute" +indexinfo[0].command[78].indexname "cbid" +indexinfo[0].command[78].command "numerical" +indexinfo[0].command[79].indexname "rankfeatures" +indexinfo[0].command[79].command "index" +indexinfo[0].command[80].indexname "summaryfeatures" +indexinfo[0].command[80].command "index" +indexinfo[0].command[81].indexname "bgndata" +indexinfo[0].command[81].command "dynteaser" +indexinfo[0].command[82].indexname "ew" +indexinfo[0].command[82].command "highlight" +indexinfo[0].command[83].indexname "song" +indexinfo[0].command[83].command "dynteaser" +indexinfo[0].command[84].indexname "bgnpto" +indexinfo[0].command[84].command "dynteaser" +indexinfo[0].command[85].indexname "bgnpto" +indexinfo[0].command[85].command "highlight" +indexinfo[0].command[9].indexname "ew" +indexinfo[0].command[9].command "index" +indexinfo[0].command[11].indexname "ew" +indexinfo[0].command[11].command "lowercase" +indexinfo[0].command[13].indexname "ew" +indexinfo[0].command[13].command "stem:SHORTEST" +indexinfo[0].command[15].indexname "ew" +indexinfo[0].command[15].command "normalize" diff --git a/config-model/src/test/derived/newrank/juniperrc.cfg b/config-model/src/test/derived/newrank/juniperrc.cfg new file mode 100755 index 00000000000..b5d7438e081 --- /dev/null +++ b/config-model/src/test/derived/newrank/juniperrc.cfg @@ -0,0 +1,21 @@ +length 256 +max_matches 3 +min_length 128 +prefix true +surround_max 128 +winsize 200 +winsize_fallback_multiplier 10.0 +max_match_candidates 1000 +stem_min_length 5 +stem_max_extend 3 +override[0].fieldname "ew" +override[0].length 65536 +override[0].max_matches 1 +override[0].min_length 8192 +override[0].prefix true +override[0].surround_max 65536 +override[0].winsize 200 +override[0].winsize_fallback_multiplier 10.0 +override[0].max_match_candidates 1000 +override[0].stem_min_length 5 +override[0].stem_max_extend 3
\ No newline at end of file diff --git a/config-model/src/test/derived/newrank/newrank.sd b/config-model/src/test/derived/newrank/newrank.sd new file mode 100644 index 00000000000..2a64c7cb07b --- /dev/null +++ b/config-model/src/test/derived/newrank/newrank.sd @@ -0,0 +1,146 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search newrank{ + document newrank{ + + field bgndata type string { + indexing: summary + summary: dynamic + } + + field sales type int { + indexing: summary | attribute | index + } + + field pto type int { + indexing: summary | attribute | index + } + + field keys type string { + indexing: index + } + + field mid type int { + indexing: summary | attribute | index + } + + field ew type string { + indexing: summary | index + bolding: on + } + + field surl type string { + indexing: summary + } + + field userrate type int { + indexing: summary + } + + field pid type string { + indexing: summary + } + + field weight type float { + indexing: summary | attribute + } + + field url type string { + indexing: summary + } + + field isbn type string { + indexing: summary + } + + field fmt type string { + indexing: summary | index + } + + field albumid type string { + indexing: summary + } + + field disp_song type string { + indexing: summary + } + + field song type string { + indexing: summary | index + summary: dynamic + } + + field pfrom type int { + indexing: summary + } + + field bgnpfrom type float { + indexing: summary | attribute + } + + field categories type string { + indexing: summary | index + } + + field data type string { + indexing: summary + } + + field numreview type int { + indexing: summary + } + + field bgnsellers type int { + indexing: summary + } + + field image type string { + indexing: summary + } + + field artist type string { + indexing: summary | index + # index-to: artist, default + } + + field artistspid type string { + indexing: summary + } + + field title type string { + indexing: summary | index + } + + field newestedition type int { + indexing: summary | attribute | index + } + + field bgnpto type string { + indexing: summary + summary: dynamic + bolding: on + } + + field year type int { + indexing: summary | attribute | index + } + + field did type int { + indexing: summary | attribute | index + } + + field scorekey type int { + indexing: summary | index + } + + field cbid type int { + indexing: summary | attribute | index + } + + } + + fieldset default { + fields: keys, ew, song, title + } + +} + diff --git a/config-model/src/test/derived/newrank/rank-profiles.cfg b/config-model/src/test/derived/newrank/rank-profiles.cfg new file mode 100644 index 00000000000..caca83a9a91 --- /dev/null +++ b/config-model/src/test/derived/newrank/rank-profiles.cfg @@ -0,0 +1,10 @@ +rankprofile[0].name "default" +rankprofile[1].name "unranked" +rankprofile[1].fef.property[0].name "vespa.rank.firstphase" +rankprofile[1].fef.property[0].value "value(0)" +rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize" +rankprofile[1].fef.property[1].value "0" +rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize" +rankprofile[1].fef.property[2].value "0" +rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures" +rankprofile[1].fef.property[3].value "true"
\ No newline at end of file diff --git a/config-model/src/test/derived/newrank/summary.cfg b/config-model/src/test/derived/newrank/summary.cfg new file mode 100644 index 00000000000..7cb5a695a5d --- /dev/null +++ b/config-model/src/test/derived/newrank/summary.cfg @@ -0,0 +1,97 @@ +defaultsummaryid 912980235 +classes[0].id 912980235 +classes[0].name "default" +classes[0].fields[0].name "bgndata" +classes[0].fields[0].type "longstring" +classes[0].fields[1].name "sales" +classes[0].fields[1].type "integer" +classes[0].fields[2].name "pto" +classes[0].fields[2].type "integer" +classes[0].fields[3].name "mid" +classes[0].fields[3].type "integer" +classes[0].fields[4].name "ew" +classes[0].fields[4].type "longstring" +classes[0].fields[5].name "surl" +classes[0].fields[5].type "longstring" +classes[0].fields[6].name "userrate" +classes[0].fields[6].type "integer" +classes[0].fields[7].name "pid" +classes[0].fields[7].type "longstring" +classes[0].fields[8].name "weight" +classes[0].fields[8].type "float" +classes[0].fields[9].name "url" +classes[0].fields[9].type "longstring" +classes[0].fields[10].name "isbn" +classes[0].fields[10].type "longstring" +classes[0].fields[11].name "fmt" +classes[0].fields[11].type "longstring" +classes[0].fields[12].name "albumid" +classes[0].fields[12].type "longstring" +classes[0].fields[13].name "disp_song" +classes[0].fields[13].type "longstring" +classes[0].fields[14].name "song" +classes[0].fields[14].type "longstring" +classes[0].fields[15].name "pfrom" +classes[0].fields[15].type "integer" +classes[0].fields[16].name "bgnpfrom" +classes[0].fields[16].type "float" +classes[0].fields[17].name "categories" +classes[0].fields[17].type "longstring" +classes[0].fields[18].name "data" +classes[0].fields[18].type "longstring" +classes[0].fields[19].name "numreview" +classes[0].fields[19].type "integer" +classes[0].fields[20].name "bgnsellers" +classes[0].fields[20].type "integer" +classes[0].fields[21].name "image" +classes[0].fields[21].type "longstring" +classes[0].fields[22].name "artist" +classes[0].fields[22].type "longstring" +classes[0].fields[23].name "artistspid" +classes[0].fields[23].type "longstring" +classes[0].fields[24].name "title" +classes[0].fields[24].type "longstring" +classes[0].fields[25].name "newestedition" +classes[0].fields[25].type "integer" +classes[0].fields[26].name "bgnpto" +classes[0].fields[26].type "longstring" +classes[0].fields[27].name "year" +classes[0].fields[27].type "integer" +classes[0].fields[28].name "did" +classes[0].fields[28].type "integer" +classes[0].fields[29].name "scorekey" +classes[0].fields[29].type "integer" +classes[0].fields[30].name "cbid" +classes[0].fields[30].type "integer" +classes[0].fields[31].name "rankfeatures" +classes[0].fields[31].type "featuredata" +classes[0].fields[32].name "summaryfeatures" +classes[0].fields[32].type "featuredata" +classes[0].fields[33].name "documentid" +classes[0].fields[33].type "longstring" +classes[1].id 1606815285 +classes[1].name "attributeprefetch" +classes[1].fields[0].name "sales" +classes[1].fields[0].type "integer" +classes[1].fields[1].name "pto" +classes[1].fields[1].type "integer" +classes[1].fields[2].name "mid" +classes[1].fields[2].type "integer" +classes[1].fields[3].name "weight" +classes[1].fields[3].type "float" +classes[1].fields[4].name "bgnpfrom" +classes[1].fields[4].type "float" +classes[1].fields[5].name "newestedition" +classes[1].fields[5].type "integer" +classes[1].fields[6].name "year" +classes[1].fields[6].type "integer" +classes[1].fields[7].name "did" +classes[1].fields[7].type "integer" +classes[1].fields[8].name "scorekey" +classes[1].fields[8].type "integer" +classes[1].fields[9].name "cbid" +classes[1].fields[9].type "integer" +classes[1].fields[10].name "rankfeatures" +classes[1].fields[10].type "featuredata" +classes[1].fields[11].name "summaryfeatures" +classes[1].fields[11].type "featuredata"
\ No newline at end of file diff --git a/config-model/src/test/derived/newrank/summarymap.cfg b/config-model/src/test/derived/newrank/summarymap.cfg new file mode 100644 index 00000000000..1ba02ac9060 --- /dev/null +++ b/config-model/src/test/derived/newrank/summarymap.cfg @@ -0,0 +1,49 @@ +defaultoutputclass -1 +override[0].field "bgndata" +override[0].command "dynamicteaser" +override[0].arguments "bgndata" +override[1].field "sales" +override[1].command "attribute" +override[1].arguments "sales" +override[2].field "pto" +override[2].command "attribute" +override[2].arguments "pto" +override[3].field "mid" +override[3].command "attribute" +override[3].arguments "mid" +override[4].field "ew" +override[4].command "dynamicteaser" +override[4].arguments "ew" +override[5].field "weight" +override[5].command "attribute" +override[5].arguments "weight" +override[6].field "song" +override[6].command "dynamicteaser" +override[6].arguments "song" +override[7].field "bgnpfrom" +override[7].command "attribute" +override[7].arguments "bgnpfrom" +override[8].field "newestedition" +override[8].command "attribute" +override[8].arguments "newestedition" +override[9].field "bgnpto" +override[9].command "dynamicteaser" +override[9].arguments "bgnpto" +override[10].field "year" +override[10].command "attribute" +override[10].arguments "year" +override[11].field "did" +override[11].command "attribute" +override[11].arguments "did" +override[12].field "scorekey" +override[12].command "attribute" +override[12].arguments "scorekey" +override[13].field "cbid" +override[13].command "attribute" +override[13].arguments "cbid" +override[14].field "rankfeatures" +override[14].command "rankfeatures" +override[14].arguments "" +override[15].field "summaryfeatures" +override[15].command "summaryfeatures" +override[15].arguments ""
\ No newline at end of file diff --git a/config-model/src/test/derived/orderilscripts/ilscripts.cfg b/config-model/src/test/derived/orderilscripts/ilscripts.cfg new file mode 100755 index 00000000000..656381d68a8 --- /dev/null +++ b/config-model/src/test/derived/orderilscripts/ilscripts.cfg @@ -0,0 +1,5 @@ +maxtermoccurrences 100 +ilscript[0].doctype "orderilscripts" +ilscript[0].docfield[0] "foo" +ilscript[0].content[0] "clear_state | guard { input foo | summary bar; }" +ilscript[0].content[1] "clear_state | guard { input foo | tokenize normalize stem:\"SHORTEST\" | summary foo | index foo; }"
\ No newline at end of file diff --git a/config-model/src/test/derived/orderilscripts/orderilscripts.sd b/config-model/src/test/derived/orderilscripts/orderilscripts.sd new file mode 100755 index 00000000000..d1de519d200 --- /dev/null +++ b/config-model/src/test/derived/orderilscripts/orderilscripts.sd @@ -0,0 +1,13 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search orderilscripts { + + document orderilscripts { + field foo type string { + indexing: summary | index + } + } + + field bar type string { + indexing: input foo | summary + } +} diff --git a/config-model/src/test/derived/position_array/ilscripts.cfg b/config-model/src/test/derived/position_array/ilscripts.cfg new file mode 100644 index 00000000000..dfe3827a1d5 --- /dev/null +++ b/config-model/src/test/derived/position_array/ilscripts.cfg @@ -0,0 +1,4 @@ +maxtermoccurrences 100 +ilscript[0].doctype "position_array" +ilscript[0].docfield[0] "pos" +ilscript[0].content[0] "clear_state | guard { input pos | for_each { zcurve } | attribute pos_zcurve; }"
\ No newline at end of file diff --git a/config-model/src/test/derived/position_array/index-info.cfg b/config-model/src/test/derived/position_array/index-info.cfg new file mode 100644 index 00000000000..8ae074d337f --- /dev/null +++ b/config-model/src/test/derived/position_array/index-info.cfg @@ -0,0 +1,39 @@ +indexinfo[0].name "position_array" +indexinfo[0].command[0].indexname "sddocname" +indexinfo[0].command[0].command "index" +indexinfo[0].command[1].indexname "sddocname" +indexinfo[0].command[1].command "word" +indexinfo[0].command[2].indexname "pos.x" +indexinfo[0].command[2].command "index" +indexinfo[0].command[3].indexname "pos.x" +indexinfo[0].command[3].command "numerical" +indexinfo[0].command[4].indexname "pos.y" +indexinfo[0].command[4].command "index" +indexinfo[0].command[5].indexname "pos.y" +indexinfo[0].command[5].command "numerical" +indexinfo[0].command[6].indexname "pos" +indexinfo[0].command[6].command "default-position" +indexinfo[0].command[7].indexname "pos" +indexinfo[0].command[7].command "index" +indexinfo[0].command[8].indexname "pos" +indexinfo[0].command[8].command "multivalue" +indexinfo[0].command[9].indexname "pos.distance" +indexinfo[0].command[9].command "index" +indexinfo[0].command[10].indexname "pos.distance" +indexinfo[0].command[10].command "numerical" +indexinfo[0].command[11].indexname "pos.position" +indexinfo[0].command[11].command "index" +indexinfo[0].command[12].indexname "pos.position" +indexinfo[0].command[12].command "multivalue" +indexinfo[0].command[13].indexname "pos_zcurve" +indexinfo[0].command[13].command "index" +indexinfo[0].command[14].indexname "pos_zcurve" +indexinfo[0].command[14].command "multivalue" +indexinfo[0].command[15].indexname "pos_zcurve" +indexinfo[0].command[15].command "attribute" +indexinfo[0].command[16].indexname "pos_zcurve" +indexinfo[0].command[16].command "fast-search" +indexinfo[0].command[17].indexname "rankfeatures" +indexinfo[0].command[17].command "index" +indexinfo[0].command[18].indexname "summaryfeatures" +indexinfo[0].command[18].command "index"
\ No newline at end of file diff --git a/config-model/src/test/derived/position_array/position_array.sd b/config-model/src/test/derived/position_array/position_array.sd new file mode 100644 index 00000000000..e5042354ade --- /dev/null +++ b/config-model/src/test/derived/position_array/position_array.sd @@ -0,0 +1,8 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search position_array { + document position_array { + field pos type array<position> { + indexing: attribute + } + } +} diff --git a/config-model/src/test/derived/position_attribute/ilscripts.cfg b/config-model/src/test/derived/position_attribute/ilscripts.cfg new file mode 100644 index 00000000000..ea6d6c4080b --- /dev/null +++ b/config-model/src/test/derived/position_attribute/ilscripts.cfg @@ -0,0 +1,4 @@ +maxtermoccurrences 100 +ilscript[0].doctype "position_attribute" +ilscript[0].docfield[0] "pos" +ilscript[0].content[0] "clear_state | guard { input pos | zcurve | attribute pos_zcurve; }"
\ No newline at end of file diff --git a/config-model/src/test/derived/position_attribute/index-info.cfg b/config-model/src/test/derived/position_attribute/index-info.cfg new file mode 100644 index 00000000000..99d2c621722 --- /dev/null +++ b/config-model/src/test/derived/position_attribute/index-info.cfg @@ -0,0 +1,37 @@ +indexinfo[0].name "position_attribute" +indexinfo[0].command[0].indexname "sddocname" +indexinfo[0].command[0].command "index" +indexinfo[0].command[1].indexname "sddocname" +indexinfo[0].command[1].command "word" +indexinfo[0].command[2].indexname "pos.x" +indexinfo[0].command[2].command "index" +indexinfo[0].command[3].indexname "pos.x" +indexinfo[0].command[3].command "numerical" +indexinfo[0].command[4].indexname "pos.y" +indexinfo[0].command[4].command "index" +indexinfo[0].command[5].indexname "pos.y" +indexinfo[0].command[5].command "numerical" +indexinfo[0].command[6].indexname "pos" +indexinfo[0].command[6].command "default-position" +indexinfo[0].command[7].indexname "pos" +indexinfo[0].command[7].command "index" +indexinfo[0].command[8].indexname "pos.distance" +indexinfo[0].command[8].command "index" +indexinfo[0].command[9].indexname "pos.distance" +indexinfo[0].command[9].command "numerical" +indexinfo[0].command[10].indexname "pos.position" +indexinfo[0].command[10].command "index" +indexinfo[0].command[11].indexname "pos.position" +indexinfo[0].command[11].command "multivalue" +indexinfo[0].command[12].indexname "pos_zcurve" +indexinfo[0].command[12].command "index" +indexinfo[0].command[13].indexname "pos_zcurve" +indexinfo[0].command[13].command "attribute" +indexinfo[0].command[14].indexname "pos_zcurve" +indexinfo[0].command[14].command "fast-search" +indexinfo[0].command[15].indexname "pos_zcurve" +indexinfo[0].command[15].command "numerical" +indexinfo[0].command[16].indexname "rankfeatures" +indexinfo[0].command[16].command "index" +indexinfo[0].command[17].indexname "summaryfeatures" +indexinfo[0].command[17].command "index"
\ No newline at end of file diff --git a/config-model/src/test/derived/position_attribute/position_attribute.sd b/config-model/src/test/derived/position_attribute/position_attribute.sd new file mode 100644 index 00000000000..6841c7847e0 --- /dev/null +++ b/config-model/src/test/derived/position_attribute/position_attribute.sd @@ -0,0 +1,8 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search position_attribute { + document position_attribute { + field pos type position { + indexing: attribute + } + } +} diff --git a/config-model/src/test/derived/position_extra/ilscripts.cfg b/config-model/src/test/derived/position_extra/ilscripts.cfg new file mode 100644 index 00000000000..33d61e55465 --- /dev/null +++ b/config-model/src/test/derived/position_extra/ilscripts.cfg @@ -0,0 +1,4 @@ +maxtermoccurrences 100 +ilscript[0].doctype "position_extra" +ilscript[0].docfield[0] "pos_str" +ilscript[0].content[0] "clear_state | guard { input pos_str | to_pos | zcurve | attribute pos_ext_zcurve; }"
\ No newline at end of file diff --git a/config-model/src/test/derived/position_extra/index-info.cfg b/config-model/src/test/derived/position_extra/index-info.cfg new file mode 100644 index 00000000000..649dacc24e0 --- /dev/null +++ b/config-model/src/test/derived/position_extra/index-info.cfg @@ -0,0 +1,31 @@ +indexinfo[0].name "position_extra" +indexinfo[0].command[0].indexname "sddocname" +indexinfo[0].command[0].command "index" +indexinfo[0].command[1].indexname "sddocname" +indexinfo[0].command[1].command "word" +indexinfo[0].command[2].indexname "pos_str" +indexinfo[0].command[2].command "index" +indexinfo[0].command[3].indexname "pos_ext" +indexinfo[0].command[3].command "default-position" +indexinfo[0].command[4].indexname "pos_ext" +indexinfo[0].command[4].command "index" +indexinfo[0].command[5].indexname "pos_ext.distance" +indexinfo[0].command[5].command "index" +indexinfo[0].command[6].indexname "pos_ext.distance" +indexinfo[0].command[6].command "numerical" +indexinfo[0].command[7].indexname "pos_ext.position" +indexinfo[0].command[7].command "index" +indexinfo[0].command[8].indexname "pos_ext.position" +indexinfo[0].command[8].command "multivalue" +indexinfo[0].command[9].indexname "pos_ext_zcurve" +indexinfo[0].command[9].command "index" +indexinfo[0].command[10].indexname "pos_ext_zcurve" +indexinfo[0].command[10].command "attribute" +indexinfo[0].command[11].indexname "pos_ext_zcurve" +indexinfo[0].command[11].command "fast-search" +indexinfo[0].command[12].indexname "pos_ext_zcurve" +indexinfo[0].command[12].command "numerical" +indexinfo[0].command[13].indexname "rankfeatures" +indexinfo[0].command[13].command "index" +indexinfo[0].command[14].indexname "summaryfeatures" +indexinfo[0].command[14].command "index"
\ No newline at end of file diff --git a/config-model/src/test/derived/position_extra/position_extra.sd b/config-model/src/test/derived/position_extra/position_extra.sd new file mode 100644 index 00000000000..0254b4ed31d --- /dev/null +++ b/config-model/src/test/derived/position_extra/position_extra.sd @@ -0,0 +1,11 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search position_extra { + document position_extra { + field pos_str type string { + + } + } + field pos_ext type position { + indexing: input pos_str | to_pos | attribute + } +} diff --git a/config-model/src/test/derived/position_nosummary/position_nosummary.sd b/config-model/src/test/derived/position_nosummary/position_nosummary.sd new file mode 100644 index 00000000000..9b902b4d608 --- /dev/null +++ b/config-model/src/test/derived/position_nosummary/position_nosummary.sd @@ -0,0 +1,8 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search position_nosummary { + document position_nosummary { + field pos type position { + indexing: attribute + } + } +} diff --git a/config-model/src/test/derived/position_nosummary/summary.cfg b/config-model/src/test/derived/position_nosummary/summary.cfg new file mode 100644 index 00000000000..fbf091209b9 --- /dev/null +++ b/config-model/src/test/derived/position_nosummary/summary.cfg @@ -0,0 +1,21 @@ +defaultsummaryid 1727020212 +classes[0].id 1727020212 +classes[0].name "default" +classes[0].fields[0].name "pos.position" +classes[0].fields[0].type "xmlstring" +classes[0].fields[1].name "pos.distance" +classes[0].fields[1].type "integer" +classes[0].fields[2].name "rankfeatures" +classes[0].fields[2].type "featuredata" +classes[0].fields[3].name "summaryfeatures" +classes[0].fields[3].type "featuredata" +classes[0].fields[4].name "documentid" +classes[0].fields[4].type "longstring" +classes[1].id 1530141163 +classes[1].name "attributeprefetch" +classes[1].fields[0].name "pos_zcurve" +classes[1].fields[0].type "int64" +classes[1].fields[1].name "rankfeatures" +classes[1].fields[1].type "featuredata" +classes[1].fields[2].name "summaryfeatures" +classes[1].fields[2].type "featuredata"
\ No newline at end of file diff --git a/config-model/src/test/derived/position_nosummary/summarymap.cfg b/config-model/src/test/derived/position_nosummary/summarymap.cfg new file mode 100644 index 00000000000..2e8ada7daa0 --- /dev/null +++ b/config-model/src/test/derived/position_nosummary/summarymap.cfg @@ -0,0 +1,16 @@ +defaultoutputclass -1 +override[0].field "pos.position" +override[0].command "positions" +override[0].arguments "pos_zcurve" +override[1].field "pos.distance" +override[1].command "absdist" +override[1].arguments "pos_zcurve" +override[2].field "rankfeatures" +override[2].command "rankfeatures" +override[2].arguments "" +override[3].field "summaryfeatures" +override[3].command "summaryfeatures" +override[3].arguments "" +override[4].field "pos_zcurve" +override[4].command "attribute" +override[4].arguments "pos_zcurve"
\ No newline at end of file diff --git a/config-model/src/test/derived/position_summary/position_summary.sd b/config-model/src/test/derived/position_summary/position_summary.sd new file mode 100644 index 00000000000..ccc136f635a --- /dev/null +++ b/config-model/src/test/derived/position_summary/position_summary.sd @@ -0,0 +1,8 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search position_summary { + document position_summary { + field pos type position { + indexing: attribute | summary + } + } +} diff --git a/config-model/src/test/derived/position_summary/summary.cfg b/config-model/src/test/derived/position_summary/summary.cfg new file mode 100644 index 00000000000..708fbe9ca18 --- /dev/null +++ b/config-model/src/test/derived/position_summary/summary.cfg @@ -0,0 +1,23 @@ +defaultsummaryid 230670304 +classes[0].id 230670304 +classes[0].name "default" +classes[0].fields[0].name "pos" +classes[0].fields[0].type "jsonstring" +classes[0].fields[1].name "pos.position" +classes[0].fields[1].type "xmlstring" +classes[0].fields[2].name "pos.distance" +classes[0].fields[2].type "integer" +classes[0].fields[3].name "rankfeatures" +classes[0].fields[3].type "featuredata" +classes[0].fields[4].name "summaryfeatures" +classes[0].fields[4].type "featuredata" +classes[0].fields[5].name "documentid" +classes[0].fields[5].type "longstring" +classes[1].id 1530141163 +classes[1].name "attributeprefetch" +classes[1].fields[0].name "pos_zcurve" +classes[1].fields[0].type "int64" +classes[1].fields[1].name "rankfeatures" +classes[1].fields[1].type "featuredata" +classes[1].fields[2].name "summaryfeatures" +classes[1].fields[2].type "featuredata"
\ No newline at end of file diff --git a/config-model/src/test/derived/position_summary/summarymap.cfg b/config-model/src/test/derived/position_summary/summarymap.cfg new file mode 100644 index 00000000000..caf88368044 --- /dev/null +++ b/config-model/src/test/derived/position_summary/summarymap.cfg @@ -0,0 +1,19 @@ +defaultoutputclass -1 +override[0].field "pos" +override[0].command "geopos" +override[0].arguments "pos_zcurve" +override[1].field "pos.position" +override[1].command "positions" +override[1].arguments "pos_zcurve" +override[2].field "pos.distance" +override[2].command "absdist" +override[2].arguments "pos_zcurve" +override[3].field "rankfeatures" +override[3].command "rankfeatures" +override[3].arguments "" +override[4].field "summaryfeatures" +override[4].command "summaryfeatures" +override[4].arguments "" +override[5].field "pos_zcurve" +override[5].command "attribute" +override[5].arguments "pos_zcurve"
\ No newline at end of file diff --git a/config-model/src/test/derived/position_summary/vsmsummary.cfg b/config-model/src/test/derived/position_summary/vsmsummary.cfg new file mode 100644 index 00000000000..770a228ed52 --- /dev/null +++ b/config-model/src/test/derived/position_summary/vsmsummary.cfg @@ -0,0 +1,14 @@ +outputclass "" +fieldmap[0].summary "pos" +fieldmap[0].document[0].field "pos" +fieldmap[0].command NONE +fieldmap[1].summary "pos.position" +fieldmap[1].document[0].field "pos_zcurve" +fieldmap[1].command NONE +fieldmap[2].summary "pos.distance" +fieldmap[2].document[0].field "pos_zcurve" +fieldmap[2].command NONE +fieldmap[3].summary "rankfeatures" +fieldmap[3].command NONE +fieldmap[4].summary "summaryfeatures" +fieldmap[4].command NONE
\ No newline at end of file diff --git a/config-model/src/test/derived/predicate_attribute/attributes.cfg b/config-model/src/test/derived/predicate_attribute/attributes.cfg new file mode 100644 index 00000000000..49d86516930 --- /dev/null +++ b/config-model/src/test/derived/predicate_attribute/attributes.cfg @@ -0,0 +1,19 @@ +attribute[0].name "some_predicate_field" +attribute[0].datatype PREDICATE +attribute[0].collectiontype SINGLE +attribute[0].removeifzero false +attribute[0].createifnonexistent false +attribute[0].fastsearch false +attribute[0].huge false +attribute[0].sortascending true +attribute[0].sortfunction UCA +attribute[0].sortstrength PRIMARY +attribute[0].sortlocale "" +attribute[0].enablebitvectors false +attribute[0].enableonlybitvector false +attribute[0].fastaccess false +attribute[0].arity 5 +attribute[0].lowerbound 3 +attribute[0].upperbound 200 +attribute[0].densepostinglistthreshold 0.2 +attribute[0].tensortype ""
\ No newline at end of file diff --git a/config-model/src/test/derived/predicate_attribute/index-info.cfg b/config-model/src/test/derived/predicate_attribute/index-info.cfg new file mode 100644 index 00000000000..b2c5f9c4d30 --- /dev/null +++ b/config-model/src/test/derived/predicate_attribute/index-info.cfg @@ -0,0 +1,15 @@ +indexinfo[0].name "predicate_type" +indexinfo[0].command[0].indexname "sddocname" +indexinfo[0].command[0].command "index" +indexinfo[0].command[1].indexname "sddocname" +indexinfo[0].command[1].command "word" +indexinfo[0].command[2].indexname "some_predicate_field" +indexinfo[0].command[2].command "predicate-bounds [3..200]" +indexinfo[0].command[3].indexname "some_predicate_field" +indexinfo[0].command[3].command "index" +indexinfo[0].command[4].indexname "some_predicate_field" +indexinfo[0].command[4].command "attribute" +indexinfo[0].command[5].indexname "rankfeatures" +indexinfo[0].command[5].command "index" +indexinfo[0].command[6].indexname "summaryfeatures" +indexinfo[0].command[6].command "index"
\ No newline at end of file diff --git a/config-model/src/test/derived/predicate_attribute/predicate_attribute.sd b/config-model/src/test/derived/predicate_attribute/predicate_attribute.sd new file mode 100644 index 00000000000..5b509fc1210 --- /dev/null +++ b/config-model/src/test/derived/predicate_attribute/predicate_attribute.sd @@ -0,0 +1,14 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search predicate_type { + document predicate_type { + field some_predicate_field type predicate { + indexing: attribute | summary + index { + arity: 5 + lower-bound: 3 + upper-bound: 200 + dense-posting-list-threshold: 0.2 + } + } + } +} diff --git a/config-model/src/test/derived/predicate_attribute/summary.cfg b/config-model/src/test/derived/predicate_attribute/summary.cfg new file mode 100644 index 00000000000..e10af36caf5 --- /dev/null +++ b/config-model/src/test/derived/predicate_attribute/summary.cfg @@ -0,0 +1,17 @@ +defaultsummaryid 1391971216 +classes[0].id 1391971216 +classes[0].name "default" +classes[0].fields[0].name "some_predicate_field" +classes[0].fields[0].type "string" +classes[0].fields[1].name "rankfeatures" +classes[0].fields[1].type "featuredata" +classes[0].fields[2].name "summaryfeatures" +classes[0].fields[2].type "featuredata" +classes[0].fields[3].name "documentid" +classes[0].fields[3].type "longstring" +classes[1].id 1274088866 +classes[1].name "attributeprefetch" +classes[1].fields[0].name "rankfeatures" +classes[1].fields[0].type "featuredata" +classes[1].fields[1].name "summaryfeatures" +classes[1].fields[1].type "featuredata"
\ No newline at end of file diff --git a/config-model/src/test/derived/predicate_attribute/summarymap.cfg b/config-model/src/test/derived/predicate_attribute/summarymap.cfg new file mode 100644 index 00000000000..42b6e811ee6 --- /dev/null +++ b/config-model/src/test/derived/predicate_attribute/summarymap.cfg @@ -0,0 +1,7 @@ +defaultoutputclass -1 +override[0].field "rankfeatures" +override[0].command "rankfeatures" +override[0].arguments "" +override[1].field "summaryfeatures" +override[1].command "summaryfeatures" +override[1].arguments ""
\ No newline at end of file diff --git a/config-model/src/test/derived/prefixexactattribute/attributes.cfg b/config-model/src/test/derived/prefixexactattribute/attributes.cfg new file mode 100644 index 00000000000..257ebcdebab --- /dev/null +++ b/config-model/src/test/derived/prefixexactattribute/attributes.cfg @@ -0,0 +1,38 @@ +attribute[0].name "attributefield1" +attribute[0].datatype STRING +attribute[0].collectiontype SINGLE +attribute[0].removeifzero false +attribute[0].createifnonexistent false +attribute[0].fastsearch false +attribute[0].huge false +attribute[0].sortascending true +attribute[0].sortfunction UCA +attribute[0].sortstrength PRIMARY +attribute[0].sortlocale "" +attribute[0].enablebitvectors false +attribute[0].enableonlybitvector false +attribute[0].fastaccess false +attribute[0].arity 8 +attribute[0].lowerbound -9223372036854775808 +attribute[0].upperbound 9223372036854775807 +attribute[0].densepostinglistthreshold 0.4 +attribute[0].tensortype "" +attribute[1].name "attributefield2" +attribute[1].datatype STRING +attribute[1].collectiontype SINGLE +attribute[1].removeifzero false +attribute[1].createifnonexistent false +attribute[1].fastsearch false +attribute[1].huge false +attribute[1].sortascending true +attribute[1].sortfunction UCA +attribute[1].sortstrength PRIMARY +attribute[1].sortlocale "" +attribute[1].enablebitvectors false +attribute[1].enableonlybitvector false +attribute[1].fastaccess false +attribute[1].arity 8 +attribute[1].lowerbound -9223372036854775808 +attribute[1].upperbound 9223372036854775807 +attribute[1].densepostinglistthreshold 0.4 +attribute[1].tensortype ""
\ No newline at end of file diff --git a/config-model/src/test/derived/prefixexactattribute/documentmanager.cfg b/config-model/src/test/derived/prefixexactattribute/documentmanager.cfg new file mode 100644 index 00000000000..1b51178e6d8 --- /dev/null +++ b/config-model/src/test/derived/prefixexactattribute/documentmanager.cfg @@ -0,0 +1,52 @@ +enablecompression false +datatype[0].id 1381038251 +datatype[0].structtype[0].name "position" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[0].structtype[0].field[0].name "x" +datatype[0].structtype[0].field[0].datatype 0 +datatype[0].structtype[0].field[1].name "y" +datatype[0].structtype[0].field[1].datatype 0 +datatype[1].id -739138930 +datatype[1].structtype[0].name "prefixexactattribute.header" +datatype[1].structtype[0].version 0 +datatype[1].structtype[0].compresstype NONE +datatype[1].structtype[0].compresslevel 0 +datatype[1].structtype[0].compressthreshold 95 +datatype[1].structtype[0].compressminsize 800 +datatype[1].structtype[0].field[0].name "indexfield0" +datatype[1].structtype[0].field[0].datatype 2 +datatype[1].structtype[0].field[1].name "attributefield1" +datatype[1].structtype[0].field[1].datatype 2 +datatype[1].structtype[0].field[2].name "attributefield2" +datatype[1].structtype[0].field[2].datatype 2 +datatype[1].structtype[0].field[3].name "indexfield1" +datatype[1].structtype[0].field[3].datatype 2 +datatype[1].structtype[0].field[4].name "indexfield2" +datatype[1].structtype[0].field[4].datatype 2 +datatype[1].structtype[0].field[5].name "rankfeatures" +datatype[1].structtype[0].field[5].datatype 2 +datatype[1].structtype[0].field[6].name "summaryfeatures" +datatype[1].structtype[0].field[6].datatype 2 +datatype[2].id -480519133 +datatype[2].structtype[0].name "prefixexactattribute.body" +datatype[2].structtype[0].version 0 +datatype[2].structtype[0].compresstype NONE +datatype[2].structtype[0].compresslevel 0 +datatype[2].structtype[0].compressthreshold 95 +datatype[2].structtype[0].compressminsize 800 +datatype[3].id -1812793455 +datatype[3].documenttype[0].name "prefixexactattribute" +datatype[3].documenttype[0].version 0 +datatype[3].documenttype[0].inherits[0].name "document" +datatype[3].documenttype[0].inherits[0].version 0 +datatype[3].documenttype[0].headerstruct -739138930 +datatype[3].documenttype[0].bodystruct -480519133 +datatype[3].documenttype[0].fieldsets{[document]}.fields[0] "attributefield1" +datatype[3].documenttype[0].fieldsets{[document]}.fields[1] "attributefield2" +datatype[3].documenttype[0].fieldsets{[document]}.fields[2] "indexfield0" +datatype[3].documenttype[0].fieldsets{[document]}.fields[3] "indexfield1" +datatype[3].documenttype[0].fieldsets{[document]}.fields[4] "indexfield2" diff --git a/config-model/src/test/derived/prefixexactattribute/ilscripts.cfg b/config-model/src/test/derived/prefixexactattribute/ilscripts.cfg new file mode 100644 index 00000000000..76c9bf9abf5 --- /dev/null +++ b/config-model/src/test/derived/prefixexactattribute/ilscripts.cfg @@ -0,0 +1,12 @@ +maxtermoccurrences 100 +ilscript[0].doctype "prefixexactattribute" +ilscript[0].docfield[0] "indexfield0" +ilscript[0].docfield[1] "attributefield1" +ilscript[0].docfield[2] "attributefield2" +ilscript[0].docfield[3] "indexfield1" +ilscript[0].docfield[4] "indexfield2" +ilscript[0].content[0] "clear_state | guard { input indexfield0 | tokenize normalize stem:\"SHORTEST\" | index indexfield0; }" +ilscript[0].content[1] "clear_state | guard { input attributefield1 | attribute attributefield1; }" +ilscript[0].content[2] "clear_state | guard { input attributefield2 | attribute attributefield2; }" +ilscript[0].content[3] "clear_state | guard { input indexfield1 | exact | index indexfield1; }" +ilscript[0].content[4] "clear_state | guard { input indexfield2 | exact | index indexfield2; }"
\ No newline at end of file diff --git a/config-model/src/test/derived/prefixexactattribute/index-info.cfg b/config-model/src/test/derived/prefixexactattribute/index-info.cfg new file mode 100644 index 00000000000..74bf641990c --- /dev/null +++ b/config-model/src/test/derived/prefixexactattribute/index-info.cfg @@ -0,0 +1,41 @@ +indexinfo[0].name "prefixexactattribute" +indexinfo[0].command[0].indexname "sddocname" +indexinfo[0].command[0].command "index" +indexinfo[0].command[1].indexname "sddocname" +indexinfo[0].command[1].command "word" +indexinfo[0].command[2].indexname "indexfield0" +indexinfo[0].command[2].command "index" +indexinfo[0].command[3].indexname "indexfield0" +indexinfo[0].command[3].command "lowercase" +indexinfo[0].command[4].indexname "indexfield0" +indexinfo[0].command[4].command "stem:SHORTEST" +indexinfo[0].command[5].indexname "indexfield0" +indexinfo[0].command[5].command "normalize" +indexinfo[0].command[6].indexname "attributefield1" +indexinfo[0].command[6].command "index" +indexinfo[0].command[7].indexname "attributefield1" +indexinfo[0].command[7].command "attribute" +indexinfo[0].command[8].indexname "attributefield1" +indexinfo[0].command[8].command "exact @" +indexinfo[0].command[9].indexname "attributefield2" +indexinfo[0].command[9].command "index" +indexinfo[0].command[10].indexname "attributefield2" +indexinfo[0].command[10].command "attribute" +indexinfo[0].command[11].indexname "attributefield2" +indexinfo[0].command[11].command "exact @" +indexinfo[0].command[12].indexname "indexfield1" +indexinfo[0].command[12].command "index" +indexinfo[0].command[13].indexname "indexfield1" +indexinfo[0].command[13].command "lowercase" +indexinfo[0].command[14].indexname "indexfield1" +indexinfo[0].command[14].command "exact @" +indexinfo[0].command[15].indexname "indexfield2" +indexinfo[0].command[15].command "index" +indexinfo[0].command[16].indexname "indexfield2" +indexinfo[0].command[16].command "lowercase" +indexinfo[0].command[17].indexname "indexfield2" +indexinfo[0].command[17].command "exact @" +indexinfo[0].command[18].indexname "rankfeatures" +indexinfo[0].command[18].command "index" +indexinfo[0].command[19].indexname "summaryfeatures" +indexinfo[0].command[19].command "index"
\ No newline at end of file diff --git a/config-model/src/test/derived/prefixexactattribute/prefixexactattribute.sd b/config-model/src/test/derived/prefixexactattribute/prefixexactattribute.sd new file mode 100644 index 00000000000..d2835a0e0f2 --- /dev/null +++ b/config-model/src/test/derived/prefixexactattribute/prefixexactattribute.sd @@ -0,0 +1,52 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search prefixexactattribute { + + document prefixexactattribute { + + field indexfield0 type string { + indexing: index + match { + prefix + max-length: 79 + } + } + + field attributefield1 type string { + indexing: attribute + match { + prefix + exact + exact-terminator: "@" + } + } + + field attributefield2 type string { + indexing: attribute + match { + exact + prefix + exact-terminator: "@" + } + } + + field indexfield1 type string { + indexing: index + match { + exact + prefix + exact-terminator: "@" + } + } + + # Old style - deprecated + field indexfield2 type string { + indexing: index + index: prefix + match { + exact + exact-terminator: "@" + } + } + + } +} diff --git a/config-model/src/test/derived/prefixexactattribute/vsmfields.cfg b/config-model/src/test/derived/prefixexactattribute/vsmfields.cfg new file mode 100644 index 00000000000..598dfc0b6b1 --- /dev/null +++ b/config-model/src/test/derived/prefixexactattribute/vsmfields.cfg @@ -0,0 +1,38 @@ +documentverificationlevel 0 +searchall 1 +fieldspec[0].name "indexfield0" +fieldspec[0].searchmethod AUTOUTF8 +fieldspec[0].arg1 "prefix" +fieldspec[0].maxlength 79 +fieldspec[0].fieldtype INDEX +fieldspec[1].name "attributefield1" +fieldspec[1].searchmethod AUTOUTF8 +fieldspec[1].arg1 "exact" +fieldspec[1].maxlength 1048576 +fieldspec[1].fieldtype ATTRIBUTE +fieldspec[2].name "attributefield2" +fieldspec[2].searchmethod AUTOUTF8 +fieldspec[2].arg1 "exact" +fieldspec[2].maxlength 1048576 +fieldspec[2].fieldtype ATTRIBUTE +fieldspec[3].name "indexfield1" +fieldspec[3].searchmethod AUTOUTF8 +fieldspec[3].arg1 "exact" +fieldspec[3].maxlength 1048576 +fieldspec[3].fieldtype INDEX +fieldspec[4].name "indexfield2" +fieldspec[4].searchmethod AUTOUTF8 +fieldspec[4].arg1 "exact" +fieldspec[4].maxlength 1048576 +fieldspec[4].fieldtype INDEX +documenttype[0].name "prefixexactattribute" +documenttype[0].index[0].name "indexfield0" +documenttype[0].index[0].field[0].name "indexfield0" +documenttype[0].index[1].name "attributefield1" +documenttype[0].index[1].field[0].name "attributefield1" +documenttype[0].index[2].name "attributefield2" +documenttype[0].index[2].field[0].name "attributefield2" +documenttype[0].index[3].name "indexfield1" +documenttype[0].index[3].field[0].name "indexfield1" +documenttype[0].index[4].name "indexfield2" +documenttype[0].index[4].field[0].name "indexfield2"
\ No newline at end of file diff --git a/config-model/src/test/derived/rankexpression/macro.expression b/config-model/src/test/derived/rankexpression/macro.expression new file mode 100644 index 00000000000..054b025b2e7 --- /dev/null +++ b/config-model/src/test/derived/rankexpression/macro.expression @@ -0,0 +1 @@ +703 * fieldMatch(fromfile).completeness
\ No newline at end of file diff --git a/config-model/src/test/derived/rankexpression/overflow.expression b/config-model/src/test/derived/rankexpression/overflow.expression new file mode 100644 index 00000000000..4d3a6faeeb5 --- /dev/null +++ b/config-model/src/test/derived/rankexpression/overflow.expression @@ -0,0 +1,300 @@ +feature1(argument1, argument2, argument3, argument4).output + +feature2(argument1, argument2, argument3, argument4).output + +feature3(argument1, argument2, argument3, argument4).output + +feature4(argument1, argument2, argument3, argument4).output + +feature5(argument1, argument2, argument3, argument4).output + +feature6(argument1, argument2, argument3, argument4).output + +feature7(argument1, argument2, argument3, argument4).output + +feature8(argument1, argument2, argument3, argument4).output + +feature9(argument1, argument2, argument3, argument4).output + +feature10(argument1, argument2, argument3, argument4).output + +feature11(argument1, argument2, argument3, argument4).output + +feature12(argument1, argument2, argument3, argument4).output + +feature13(argument1, argument2, argument3, argument4).output + +feature14(argument1, argument2, argument3, argument4).output + +feature15(argument1, argument2, argument3, argument4).output + +feature16(argument1, argument2, argument3, argument4).output + +feature17(argument1, argument2, argument3, argument4).output + +feature18(argument1, argument2, argument3, argument4).output + +feature19(argument1, argument2, argument3, argument4).output + +feature20(argument1, argument2, argument3, argument4).output + +feature21(argument1, argument2, argument3, argument4).output + +feature22(argument1, argument2, argument3, argument4).output + +feature23(argument1, argument2, argument3, argument4).output + +feature24(argument1, argument2, argument3, argument4).output + +feature25(argument1, argument2, argument3, argument4).output + +feature26(argument1, argument2, argument3, argument4).output + +feature27(argument1, argument2, argument3, argument4).output + +feature28(argument1, argument2, argument3, argument4).output + +feature29(argument1, argument2, argument3, argument4).output + +feature30(argument1, argument2, argument3, argument4).output + +feature31(argument1, argument2, argument3, argument4).output + +feature32(argument1, argument2, argument3, argument4).output + +feature33(argument1, argument2, argument3, argument4).output + +feature34(argument1, argument2, argument3, argument4).output + +feature35(argument1, argument2, argument3, argument4).output + +feature36(argument1, argument2, argument3, argument4).output + +feature37(argument1, argument2, argument3, argument4).output + +feature38(argument1, argument2, argument3, argument4).output + +feature39(argument1, argument2, argument3, argument4).output + +feature40(argument1, argument2, argument3, argument4).output + +feature41(argument1, argument2, argument3, argument4).output + +feature42(argument1, argument2, argument3, argument4).output + +feature43(argument1, argument2, argument3, argument4).output + +feature44(argument1, argument2, argument3, argument4).output + +feature45(argument1, argument2, argument3, argument4).output + +feature46(argument1, argument2, argument3, argument4).output + +feature47(argument1, argument2, argument3, argument4).output + +feature48(argument1, argument2, argument3, argument4).output + +feature49(argument1, argument2, argument3, argument4).output + +feature50(argument1, argument2, argument3, argument4).output + +feature51(argument1, argument2, argument3, argument4).output + +feature52(argument1, argument2, argument3, argument4).output + +feature53(argument1, argument2, argument3, argument4).output + +feature54(argument1, argument2, argument3, argument4).output + +feature55(argument1, argument2, argument3, argument4).output + +feature56(argument1, argument2, argument3, argument4).output + +feature57(argument1, argument2, argument3, argument4).output + +feature58(argument1, argument2, argument3, argument4).output + +feature59(argument1, argument2, argument3, argument4).output + +feature60(argument1, argument2, argument3, argument4).output + +feature61(argument1, argument2, argument3, argument4).output + +feature62(argument1, argument2, argument3, argument4).output + +feature63(argument1, argument2, argument3, argument4).output + +feature64(argument1, argument2, argument3, argument4).output + +feature65(argument1, argument2, argument3, argument4).output + +feature66(argument1, argument2, argument3, argument4).output + +feature67(argument1, argument2, argument3, argument4).output + +feature68(argument1, argument2, argument3, argument4).output + +feature69(argument1, argument2, argument3, argument4).output + +feature70(argument1, argument2, argument3, argument4).output + +feature71(argument1, argument2, argument3, argument4).output + +feature72(argument1, argument2, argument3, argument4).output + +feature73(argument1, argument2, argument3, argument4).output + +feature74(argument1, argument2, argument3, argument4).output + +feature75(argument1, argument2, argument3, argument4).output + +feature76(argument1, argument2, argument3, argument4).output + +feature77(argument1, argument2, argument3, argument4).output + +feature78(argument1, argument2, argument3, argument4).output + +feature79(argument1, argument2, argument3, argument4).output + +feature80(argument1, argument2, argument3, argument4).output + +feature81(argument1, argument2, argument3, argument4).output + +feature82(argument1, argument2, argument3, argument4).output + +feature83(argument1, argument2, argument3, argument4).output + +feature84(argument1, argument2, argument3, argument4).output + +feature85(argument1, argument2, argument3, argument4).output + +feature86(argument1, argument2, argument3, argument4).output + +feature87(argument1, argument2, argument3, argument4).output + +feature88(argument1, argument2, argument3, argument4).output + +feature89(argument1, argument2, argument3, argument4).output + +feature90(argument1, argument2, argument3, argument4).output + +feature91(argument1, argument2, argument3, argument4).output + +feature92(argument1, argument2, argument3, argument4).output + +feature93(argument1, argument2, argument3, argument4).output + +feature94(argument1, argument2, argument3, argument4).output + +feature95(argument1, argument2, argument3, argument4).output + +feature96(argument1, argument2, argument3, argument4).output + +feature97(argument1, argument2, argument3, argument4).output + +feature98(argument1, argument2, argument3, argument4).output + +feature99(argument1, argument2, argument3, argument4).output + +feature100(argument1, argument2, argument3, argument4).output + +feature101(argument1, argument2, argument3, argument4).output + +feature102(argument1, argument2, argument3, argument4).output + +feature103(argument1, argument2, argument3, argument4).output + +feature104(argument1, argument2, argument3, argument4).output + +feature105(argument1, argument2, argument3, argument4).output + +feature106(argument1, argument2, argument3, argument4).output + +feature107(argument1, argument2, argument3, argument4).output + +feature108(argument1, argument2, argument3, argument4).output + +feature109(argument1, argument2, argument3, argument4).output + +feature110(argument1, argument2, argument3, argument4).output + +feature111(argument1, argument2, argument3, argument4).output + +feature112(argument1, argument2, argument3, argument4).output + +feature113(argument1, argument2, argument3, argument4).output + +feature114(argument1, argument2, argument3, argument4).output + +feature115(argument1, argument2, argument3, argument4).output + +feature116(argument1, argument2, argument3, argument4).output + +feature117(argument1, argument2, argument3, argument4).output + +feature118(argument1, argument2, argument3, argument4).output + +feature119(argument1, argument2, argument3, argument4).output + +feature120(argument1, argument2, argument3, argument4).output + +feature121(argument1, argument2, argument3, argument4).output + +feature122(argument1, argument2, argument3, argument4).output + +feature123(argument1, argument2, argument3, argument4).output + +feature124(argument1, argument2, argument3, argument4).output + +feature125(argument1, argument2, argument3, argument4).output + +feature126(argument1, argument2, argument3, argument4).output + +feature127(argument1, argument2, argument3, argument4).output + +feature128(argument1, argument2, argument3, argument4).output + +feature129(argument1, argument2, argument3, argument4).output + +feature130(argument1, argument2, argument3, argument4).output + +feature131(argument1, argument2, argument3, argument4).output + +feature132(argument1, argument2, argument3, argument4).output + +feature133(argument1, argument2, argument3, argument4).output + +feature134(argument1, argument2, argument3, argument4).output + +feature135(argument1, argument2, argument3, argument4).output + +feature136(argument1, argument2, argument3, argument4).output + +feature137(argument1, argument2, argument3, argument4).output + +feature138(argument1, argument2, argument3, argument4).output + +feature139(argument1, argument2, argument3, argument4).output + +feature140(argument1, argument2, argument3, argument4).output + +feature141(argument1, argument2, argument3, argument4).output + +feature142(argument1, argument2, argument3, argument4).output + +feature143(argument1, argument2, argument3, argument4).output + +feature144(argument1, argument2, argument3, argument4).output + +feature145(argument1, argument2, argument3, argument4).output + +feature146(argument1, argument2, argument3, argument4).output + +feature147(argument1, argument2, argument3, argument4).output + +feature148(argument1, argument2, argument3, argument4).output + +feature149(argument1, argument2, argument3, argument4).output + +feature150(argument1, argument2, argument3, argument4).output + +feature151(argument1, argument2, argument3, argument4).output + +feature152(argument1, argument2, argument3, argument4).output + +feature153(argument1, argument2, argument3, argument4).output + +feature154(argument1, argument2, argument3, argument4).output + +feature155(argument1, argument2, argument3, argument4).output + +feature156(argument1, argument2, argument3, argument4).output + +feature157(argument1, argument2, argument3, argument4).output + +feature158(argument1, argument2, argument3, argument4).output + +feature159(argument1, argument2, argument3, argument4).output + +feature160(argument1, argument2, argument3, argument4).output + +feature161(argument1, argument2, argument3, argument4).output + +feature162(argument1, argument2, argument3, argument4).output + +feature163(argument1, argument2, argument3, argument4).output + +feature164(argument1, argument2, argument3, argument4).output + +feature165(argument1, argument2, argument3, argument4).output + +feature166(argument1, argument2, argument3, argument4).output + +feature167(argument1, argument2, argument3, argument4).output + +feature168(argument1, argument2, argument3, argument4).output + +feature169(argument1, argument2, argument3, argument4).output + +feature170(argument1, argument2, argument3, argument4).output + +feature171(argument1, argument2, argument3, argument4).output + +feature172(argument1, argument2, argument3, argument4).output + +feature173(argument1, argument2, argument3, argument4).output + +feature174(argument1, argument2, argument3, argument4).output + +feature175(argument1, argument2, argument3, argument4).output + +feature176(argument1, argument2, argument3, argument4).output + +feature177(argument1, argument2, argument3, argument4).output + +feature178(argument1, argument2, argument3, argument4).output + +feature179(argument1, argument2, argument3, argument4).output + +feature180(argument1, argument2, argument3, argument4).output + +feature181(argument1, argument2, argument3, argument4).output + +feature182(argument1, argument2, argument3, argument4).output + +feature183(argument1, argument2, argument3, argument4).output + +feature184(argument1, argument2, argument3, argument4).output + +feature185(argument1, argument2, argument3, argument4).output + +feature186(argument1, argument2, argument3, argument4).output + +feature187(argument1, argument2, argument3, argument4).output + +feature188(argument1, argument2, argument3, argument4).output + +feature189(argument1, argument2, argument3, argument4).output + +feature190(argument1, argument2, argument3, argument4).output + +feature191(argument1, argument2, argument3, argument4).output + +feature192(argument1, argument2, argument3, argument4).output + +feature193(argument1, argument2, argument3, argument4).output + +feature194(argument1, argument2, argument3, argument4).output + +feature195(argument1, argument2, argument3, argument4).output + +feature196(argument1, argument2, argument3, argument4).output + +feature197(argument1, argument2, argument3, argument4).output + +feature198(argument1, argument2, argument3, argument4).output + +feature199(argument1, argument2, argument3, argument4).output + +feature200(argument1, argument2, argument3, argument4).output + +feature201(argument1, argument2, argument3, argument4).output + +feature202(argument1, argument2, argument3, argument4).output + +feature203(argument1, argument2, argument3, argument4).output + +feature204(argument1, argument2, argument3, argument4).output + +feature205(argument1, argument2, argument3, argument4).output + +feature206(argument1, argument2, argument3, argument4).output + +feature207(argument1, argument2, argument3, argument4).output + +feature208(argument1, argument2, argument3, argument4).output + +feature209(argument1, argument2, argument3, argument4).output + +feature210(argument1, argument2, argument3, argument4).output + +feature211(argument1, argument2, argument3, argument4).output + +feature212(argument1, argument2, argument3, argument4).output + +feature213(argument1, argument2, argument3, argument4).output + +feature214(argument1, argument2, argument3, argument4).output + +feature215(argument1, argument2, argument3, argument4).output + +feature216(argument1, argument2, argument3, argument4).output + +feature217(argument1, argument2, argument3, argument4).output + +feature218(argument1, argument2, argument3, argument4).output + +feature219(argument1, argument2, argument3, argument4).output + +feature220(argument1, argument2, argument3, argument4).output + +feature221(argument1, argument2, argument3, argument4).output + +feature222(argument1, argument2, argument3, argument4).output + +feature223(argument1, argument2, argument3, argument4).output + +feature224(argument1, argument2, argument3, argument4).output + +feature225(argument1, argument2, argument3, argument4).output + +feature226(argument1, argument2, argument3, argument4).output + +feature227(argument1, argument2, argument3, argument4).output + +feature228(argument1, argument2, argument3, argument4).output + +feature229(argument1, argument2, argument3, argument4).output + +feature230(argument1, argument2, argument3, argument4).output + +feature231(argument1, argument2, argument3, argument4).output + +feature232(argument1, argument2, argument3, argument4).output + +feature233(argument1, argument2, argument3, argument4).output + +feature234(argument1, argument2, argument3, argument4).output + +feature235(argument1, argument2, argument3, argument4).output + +feature236(argument1, argument2, argument3, argument4).output + +feature237(argument1, argument2, argument3, argument4).output + +feature238(argument1, argument2, argument3, argument4).output + +feature239(argument1, argument2, argument3, argument4).output + +feature240(argument1, argument2, argument3, argument4).output + +feature241(argument1, argument2, argument3, argument4).output + +feature242(argument1, argument2, argument3, argument4).output + +feature243(argument1, argument2, argument3, argument4).output + +feature244(argument1, argument2, argument3, argument4).output + +feature245(argument1, argument2, argument3, argument4).output + +feature246(argument1, argument2, argument3, argument4).output + +feature247(argument1, argument2, argument3, argument4).output + +feature248(argument1, argument2, argument3, argument4).output + +feature249(argument1, argument2, argument3, argument4).output + +feature250(argument1, argument2, argument3, argument4).output + +feature251(argument1, argument2, argument3, argument4).output + +feature252(argument1, argument2, argument3, argument4).output + +feature253(argument1, argument2, argument3, argument4).output + +feature254(argument1, argument2, argument3, argument4).output + +feature255(argument1, argument2, argument3, argument4).output + +feature256(argument1, argument2, argument3, argument4).output + +feature257(argument1, argument2, argument3, argument4).output + +feature258(argument1, argument2, argument3, argument4).output + +feature259(argument1, argument2, argument3, argument4).output + +feature260(argument1, argument2, argument3, argument4).output + +feature261(argument1, argument2, argument3, argument4).output + +feature262(argument1, argument2, argument3, argument4).output + +feature263(argument1, argument2, argument3, argument4).output + +feature264(argument1, argument2, argument3, argument4).output + +feature265(argument1, argument2, argument3, argument4).output + +feature266(argument1, argument2, argument3, argument4).output + +feature267(argument1, argument2, argument3, argument4).output + +feature268(argument1, argument2, argument3, argument4).output + +feature269(argument1, argument2, argument3, argument4).output + +feature270(argument1, argument2, argument3, argument4).output + +feature271(argument1, argument2, argument3, argument4).output + +feature272(argument1, argument2, argument3, argument4).output + +feature273(argument1, argument2, argument3, argument4).output + +feature274(argument1, argument2, argument3, argument4).output + +feature275(argument1, argument2, argument3, argument4).output + +feature276(argument1, argument2, argument3, argument4).output + +feature277(argument1, argument2, argument3, argument4).output + +feature278(argument1, argument2, argument3, argument4).output + +feature279(argument1, argument2, argument3, argument4).output + +feature280(argument1, argument2, argument3, argument4).output + +feature281(argument1, argument2, argument3, argument4).output + +feature282(argument1, argument2, argument3, argument4).output + +feature283(argument1, argument2, argument3, argument4).output + +feature284(argument1, argument2, argument3, argument4).output + +feature285(argument1, argument2, argument3, argument4).output + +feature286(argument1, argument2, argument3, argument4).output + +feature287(argument1, argument2, argument3, argument4).output + +feature288(argument1, argument2, argument3, argument4).output + +feature289(argument1, argument2, argument3, argument4).output + +feature290(argument1, argument2, argument3, argument4).output + +feature291(argument1, argument2, argument3, argument4).output + +feature292(argument1, argument2, argument3, argument4).output + +feature293(argument1, argument2, argument3, argument4).output + +feature294(argument1, argument2, argument3, argument4).output + +feature295(argument1, argument2, argument3, argument4).output + +feature296(argument1, argument2, argument3, argument4).output + +feature297(argument1, argument2, argument3, argument4).output + +feature298(argument1, argument2, argument3, argument4).output + +feature299(argument1, argument2, argument3, argument4).output + +feature300(argument1, argument2, argument3, argument4).output
\ No newline at end of file diff --git a/config-model/src/test/derived/rankexpression/rank-profiles.cfg b/config-model/src/test/derived/rankexpression/rank-profiles.cfg new file mode 100644 index 00000000000..e890b75770b --- /dev/null +++ b/config-model/src/test/derived/rankexpression/rank-profiles.cfg @@ -0,0 +1,296 @@ +rankprofile[0].name "default" +rankprofile[0].fef.property[0].name "foo" +rankprofile[0].fef.property[0].value "bar, baz" +rankprofile[0].fef.property[1].name "foo" +rankprofile[0].fef.property[1].value "foobar" +rankprofile[0].fef.property[2].name "qux" +rankprofile[0].fef.property[2].value "quux" +rankprofile[0].fef.property[3].name "foo.bar" +rankprofile[0].fef.property[3].value "foo.bar" +rankprofile[0].fef.property[4].name "foo.bar.baz" +rankprofile[0].fef.property[4].value "123" +rankprofile[0].fef.property[5].name "foo(bar).baz.2" +rankprofile[0].fef.property[5].value "123.4" +rankprofile[0].fef.property[6].name "foo(bar).baz.qux" +rankprofile[0].fef.property[6].value "foo(bar)" +rankprofile[0].fef.property[7].name "nud" +rankprofile[0].fef.property[7].value "ity" +rankprofile[0].fef.property[8].name "vespa.rank.firstphase" +rankprofile[0].fef.property[8].value "classicRank" +rankprofile[0].fef.property[9].name "vespa.rank.secondphase" +rankprofile[0].fef.property[9].value "rankingExpression(secondphase)" +rankprofile[0].fef.property[10].name "rankingExpression(secondphase).rankingScript" +rankprofile[0].fef.property[10].value "4" +rankprofile[0].fef.property[11].name "vespa.dump.feature" +rankprofile[0].fef.property[11].value "attribute(foo1).out" +rankprofile[0].fef.property[12].name "vespa.dump.feature" +rankprofile[0].fef.property[12].value "attribute(bar1.out)" +rankprofile[0].fef.property[13].name "vespa.dump.feature" +rankprofile[0].fef.property[13].value "attribute(foo2).out" +rankprofile[0].fef.property[14].name "vespa.dump.feature" +rankprofile[0].fef.property[14].value "attribute(bar2).out" +rankprofile[0].fef.property[15].name "vespa.dump.feature" +rankprofile[0].fef.property[15].value "attribute(foo3).out" +rankprofile[0].fef.property[16].name "vespa.dump.feature" +rankprofile[0].fef.property[16].value "attribute(bar3).out" +rankprofile[0].fef.property[17].name "vespa.dump.feature" +rankprofile[0].fef.property[17].value "attribute(foo4).out" +rankprofile[0].fef.property[18].name "vespa.dump.feature" +rankprofile[0].fef.property[18].value "attribute(bar4).out" +rankprofile[0].fef.property[19].name "vespa.hitcollector.heapsize" +rankprofile[0].fef.property[19].value "10" +rankprofile[0].fef.property[20].name "vespa.hitcollector.arraysize" +rankprofile[0].fef.property[20].value "20" +rankprofile[0].fef.property[21].name "vespa.hitcollector.rankscoredroplimit" +rankprofile[0].fef.property[21].value "-0.5" +rankprofile[0].fef.property[22].name "vespa.dump.ignoredefaultfeatures" +rankprofile[0].fef.property[22].value "true" +rankprofile[1].name "unranked" +rankprofile[1].fef.property[0].name "vespa.rank.firstphase" +rankprofile[1].fef.property[0].value "value(0)" +rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize" +rankprofile[1].fef.property[1].value "0" +rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize" +rankprofile[1].fef.property[2].value "0" +rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures" +rankprofile[1].fef.property[3].value "true" +rankprofile[2].name "static" +rankprofile[2].fef.property[0].name "vespa.rank.firstphase" +rankprofile[2].fef.property[0].value "attribute" +rankprofile[2].fef.property[1].name "vespa.rank.secondphase" +rankprofile[2].fef.property[1].value "rankingExpression(secondphase)" +rankprofile[2].fef.property[2].name "rankingExpression(secondphase).rankingScript" +rankprofile[2].fef.property[2].value "10 + feature(arg1).out.out" +rankprofile[2].fef.property[3].name "vespa.summary.feature" +rankprofile[2].fef.property[3].value "attribute(foo1).out" +rankprofile[2].fef.property[4].name "vespa.summary.feature" +rankprofile[2].fef.property[4].value "attribute(bar1.out)" +rankprofile[2].fef.property[5].name "vespa.summary.feature" +rankprofile[2].fef.property[5].value "attribute(foo2).out" +rankprofile[2].fef.property[6].name "vespa.summary.feature" +rankprofile[2].fef.property[6].value "attribute(bar2).out" +rankprofile[2].fef.property[7].name "vespa.summary.feature" +rankprofile[2].fef.property[7].value "attribute(foo3).out" +rankprofile[2].fef.property[8].name "vespa.summary.feature" +rankprofile[2].fef.property[8].value "attribute(bar3).out" +rankprofile[2].fef.property[9].name "vespa.summary.feature" +rankprofile[2].fef.property[9].value "attribute(foo4).out" +rankprofile[2].fef.property[10].name "vespa.summary.feature" +rankprofile[2].fef.property[10].value "attribute(bar4).out" +rankprofile[3].name "overflow" +rankprofile[3].fef.property[0].name "vespa.rank.firstphase" +rankprofile[3].fef.property[0].value "rankingExpression(firstphase)" +rankprofile[3].fef.property[1].name "rankingExpression(firstphase).rankingScript" +rankprofile[3].fef.property[1].value "feature1(argument1,argument2,argument3,argument4).output + feature2(argument1,argument2,argument3,argument4).output + feature3(argument1,argument2,argument3,argument4).output + feature4(argument1,argument2,argument3,argument4).output + feature5(argument1,argument2,argument3,argument4).output + feature6(argument1,argument2,argument3,argument4).output + feature7(argument1,argument2,argument3,argument4).output + feature8(argument1,argument2,argument3,argument4).output + feature9(argument1,argument2,argument3,argument4).output + feature10(argument1,argument2,argument3,argument4).output + feature11(argument1,argument2,argument3,argument4).output + feature12(argument1,argument2,argument3,argument4).output + feature13(argument1,argument2,argument3,argument4).output + feature14(argument1,argument2,argument3,argument4).output + feature15(argument1,argument2,argument3,argument4).output + feature16(argument1,argument2,argument3,argument4).output + feature17(argument1,argument2,argument3,argument4).output + feature18(argument1,argument2,argument3,argument4).output + feature19(argument1,argument2,argument3,argument4).output + feature20(argument1,argument2,argument3,argument4).output + feature21(argument1,argument2,argument3,argument4).output + feature22(argument1,argument2,argument3,argument4).output + feature23(argument1,argument2,argument3,argument4).output + feature24(argument1,argument2,argument3,argument4).output + feature25(argument1,argument2,argument3,argument4).output + feature26(argument1,argument2,argument3,argument4).output + feature27(argument1,argument2,argument3,argument4).output + feature28(argument1,argument2,argument3,argument4).output + feature29(argument1,argument2,argument3,argument4).output + feature30(argument1,argument2,argument3,argument4).output + feature31(argument1,argument2,argument3,argument4).output + feature32(argument1,argument2,argument3,argument4).output + feature33(argument1,argument2,argument3,argument4).output + feature34(argument1,argument2,argument3,argument4).output + feature35(argument1,argument2,argument3,argument4).output + feature36(argument1,argument2,argument3,argument4).output + feature37(argument1,argument2,argument3,argument4).output + feature38(argument1,argument2,argument3,argument4).output + feature39(argument1,argument2,argument3,argument4).output + feature40(argument1,argument2,argument3,argument4).output + feature41(argument1,argument2,argument3,argument4).output + feature42(argument1,argument2,argument3,argument4).output + feature43(argument1,argument2,argument3,argument4).output + feature44(argument1,argument2,argument3,argument4).output + feature45(argument1,argument2,argument3,argument4).output + feature46(argument1,argument2,argument3,argument4).output + feature47(argument1,argument2,argument3,argument4).output + feature48(argument1,argument2,argument3,argument4).output + feature49(argument1,argument2,argument3,argument4).output + feature50(argument1,argument2,argument3,argument4).output + feature51(argument1,argument2,argument3,argument4).output + feature52(argument1,argument2,argument3,argument4).output + feature53(argument1,argument2,argument3,argument4).output + feature54(argument1,argument2,argument3,argument4).output + feature55(argument1,argument2,argument3,argument4).output + feature56(argument1,argument2,argument3,argument4).output + feature57(argument1,argument2,argument3,argument4).output + feature58(argument1,argument2,argument3,argument4).output + feature59(argument1,argument2,argument3,argument4).output + feature60(argument1,argument2,argument3,argument4).output + feature61(argument1,argument2,argument3,argument4).output + feature62(argument1,argument2,argument3,argument4).output + feature63(argument1,argument2,argument3,argument4).output + feature64(argument1,argument2,argument3,argument4).output + feature65(argument1,argument2,argument3,argument4).output + feature66(argument1,argument2,argument3,argument4).output + feature67(argument1,argument2,argument3,argument4).output + feature68(argument1,argument2,argument3,argument4).output + feature69(argument1,argument2,argument3,argument4).output + feature70(argument1,argument2,argument3,argument4).output + feature71(argument1,argument2,argument3,argument4).output + feature72(argument1,argument2,argument3,argument4).output + feature73(argument1,argument2,argument3,argument4).output + feature74(argument1,argument2,argument3,argument4).output + feature75(argument1,argument2,argument3,argument4).output + feature76(argument1,argument2,argument3,argument4).output + feature77(argument1,argument2,argument3,argument4).output + feature78(argument1,argument2,argument3,argument4).output + feature79(argument1,argument2,argument3,argument4).output + feature80(argument1,argument2,argument3,argument4).output + feature81(argument1,argument2,argument3,argument4).output + feature82(argument1,argument2,argument3,argument4).output + feature83(argument1,argument2,argument3,argument4).output + feature84(argument1,argument2,argument3,argument4).output + feature85(argument1,argument2,argument3,argument4).output + feature86(argument1,argument2,argument3,argument4).output + feature87(argument1,argument2,argument3,argument4).output + feature88(argument1,argument2,argument3,argument4).output + feature89(argument1,argument2,argument3,argument4).output + feature90(argument1,argument2,argument3,argument4).output + feature91(argument1,argument2,argument3,argument4).output + feature92(argument1,argument2,argument3,argument4).output + feature93(argument1,argument2,argument3,argument4).output + feature94(argument1,argument2,argument3,argument4).output + feature95(argument1,argument2,argument3,argument4).output + feature96(argument1,argument2,argument3,argument4).output + feature97(argument1,argument2,argument3,argument4).output + feature98(argument1,argument2,argument3,argument4).output + feature99(argument1,argument2,argument3,argument4).output + feature100(argument1,argument2,argument3,argument4).output + feature101(argument1,argument2,argument3,argument4).output + feature102(argument1,argument2,argument3,argument4).output + feature103(argument1,argument2,argument3,argument4).output + feature104(argument1,argument2,argument3,argument4).output + feature105(argument1,argument2,argument3,argument4).output + feature106(argument1,argument2,argument3,argument4).output + feature107(argument1,argument2,argument3,argument4).output + feature108(argument1,argument2,argument3,argument4).output + feature109(argument1,argument2,argument3,argument4).output + feature110(argument1,argument2,argument3,argument4).output + feature111(argument1,argument2,argument3,argument4).output + feature112(argument1,argument2,argument3,argument4).output + feature113(argument1,argument2,argument3,argument4).output + feature114(argument1,argument2,argument3,argument4).output + feature115(argument1,argument2,argument3,argument4).output + feature116(argument1,argument2,argument3,argument4).output + feature117(argument1,argument2,argument3,argument4).output + feature118(argument1,argument2,argument3,argument4).output + feature119(argument1,argument2,argument3,argument4).output + feature120(argument1,argument2,argument3,argument4).output + feature121(argument1,argument2,argument3,argument4).output + feature122(argument1,argument2,argument3,argument4).output + feature123(argument1,argument2,argument3,argument4).output + feature124(argument1,argument2,argument3,argument4).output + feature125(argument1,argument2,argument3,argument4).output + feature126(argument1,argument2,argument3,argument4).output + feature127(argument1,argument2,argument3,argument4).output + feature128(argument1,argument2,argument3,argument4).output + feature129(argument1,argument2,argument3,argument4).output + feature130(argument1,argument2,argument3,argument4).output + feature131(argument1,argument2,argument3,argument4).output + feature132(argument1,argument2,argument3,argument4).output + feature133(argument1,argument2,argument3,argument4).output + feature134(argument1,argument2,argument3,argument4).output + feature135(argument1,argument2,argument3,argument4).output + feature136(argument1,argument2,argument3,argument4).output + feature137(argument1,argument2,argument3,argument4).output + feature138(argument1,argument2,argument3,argument4).output + feature139(argument1,argument2,argument3,argument4).output + feature140(argument1,argument2,argument3,argument4).output + feature141(argument1,argument2,argument3,argument4).output + feature142(argument1,argument2,argument3,argument4).output + feature143(argument1,argument2,argument3,argument4).output + feature144(argument1,argument2,argument3,argument4).output + feature145(argument1,argument2,argument3,argument4).output + feature146(argument1,argument2,argument3,argument4).output + feature147(argument1,argument2,argument3,argument4).output + feature148(argument1,argument2,argument3,argument4).output + feature149(argument1,argument2,argument3,argument4).output + feature150(argument1,argument2,argument3,argument4).output + feature151(argument1,argument2,argument3,argument4).output + feature152(argument1,argument2,argument3,argument4).output + feature153(argument1,argument2,argument3,argument4).output + feature154(argument1,argument2,argument3,argument4).output + feature155(argument1,argument2,argument3,argument4).output + feature156(argument1,argument2,argument3,argument4).output + feature157(argument1,argument2,argument3,argument4).output + feature158(argument1,argument2,argument3,argument4).output + feature159(argument1,argument2,argument3,argument4).output + feature160(argument1,argument2,argument3,argument4).output + feature161(argument1,argument2,argument3,argument4).output + feature162(argument1,argument2,argument3,argument4).output + feature163(argument1,argument2,argument3,argument4).output + feature164(argument1,argument2,argument3,argument4).output + feature165(argument1,argument2,argument3,argument4).output + feature166(argument1,argument2,argument3,argument4).output + feature167(argument1,argument2,argument3,argument4).output + feature168(argument1,argument2,argument3,argument4).output + feature169(argument1,argument2,argument3,argument4).output + feature170(argument1,argument2,argument3,argument4).output + feature171(argument1,argument2,argument3,argument4).output + feature172(argument1,argument2,argument3,argument4).output + feature173(argument1,argument2,argument3,argument4).output + feature174(argument1,argument2,argument3,argument4).output + feature175(argument1,argument2,argument3,argument4).output + feature176(argument1,argument2,argument3,argument4).output + feature177(argument1,argument2,argument3,argument4).output + feature178(argument1,argument2,argument3,argument4).output + feature179(argument1,argument2,argument3,argument4).output + feature180(argument1,argument2,argument3,argument4).output + feature181(argument1,argument2,argument3,argument4).output + feature182(argument1,argument2,argument3,argument4).output + feature183(argument1,argument2,argument3,argument4).output + feature184(argument1,argument2,argument3,argument4).output + feature185(argument1,argument2,argument3,argument4).output + feature186(argument1,argument2,argument3,argument4).output + feature187(argument1,argument2,argument3,argument4).output + feature188(argument1,argument2,argument3,argument4).output + feature189(argument1,argument2,argument3,argument4).output + feature190(argument1,argument2,argument3,argument4).output + feature191(argument1,argument2,argument3,argument4).output + feature192(argument1,argument2,argument3,argument4).output + feature193(argument1,argument2,argument3,argument4).output + feature194(argument1,argument2,argument3,argument4).output + feature195(argument1,argument2,argument3,argument4).output + feature196(argument1,argument2,argument3,argument4).output + feature197(argument1,argument2,argument3,argument4).output + feature198(argument1,argument2,argument3,argument4).output + feature199(argument1,argument2,argument3,argument4).output + feature200(argument1,argument2,argument3,argument4).output + feature201(argument1,argument2,argument3,argument4).output + feature202(argument1,argument2,argument3,argument4).output + feature203(argument1,argument2,argument3,argument4).output + feature204(argument1,argument2,argument3,argument4).output + feature205(argument1,argument2,argument3,argument4).output + feature206(argument1,argument2,argument3,argument4).output + feature207(argument1,argument2,argument3,argument4).output + feature208(argument1,argument2,argument3,argument4).output + feature209(argument1,argument2,argument3,argument4).output + feature210(argument1,argument2,argument3,argument4).output + feature211(argument1,argument2,argument3,argument4).output + feature212(argument1,argument2,argument3,argument4).output + feature213(argument1,argument2,argument3,argument4).output + feature214(argument1,argument2,argument3,argument4).output + feature215(argument1,argument2,argument3,argument4).output + feature216(argument1,argument2,argument3,argument4).output + feature217(argument1,argument2,argument3,argument4).output + feature218(argument1,argument2,argument3,argument4).output + feature219(argument1,argument2,argument3,argument4).output + feature220(argument1,argument2,argument3,argument4).output + feature221(argument1,argument2,argument3,argument4).output + feature222(argument1,argument2,argument3,argument4).output + feature223(argument1,argument2,argument3,argument4).output + feature224(argument1,argument2,argument3,argument4).output + feature225(argument1,argument2,argument3,argument4).output + feature226(argument1,argument2,argument3,argument4).output + feature227(argument1,argument2,argument3,argument4).output + feature228(argument1,argument2,argument3,argument4).output + feature229(argument1,argument2,argument3,argument4).output + feature230(argument1,argument2,argument3,argument4).output + feature231(argument1,argument2,argument3,argument4).output + feature232(argument1,argument2,argument3,argument4).output + feature233(argument1,argument2,argument3,argument4).output + feature234(argument1,argument2,argument3,argument4).output + feature235(argument1,argument2,argument3,argument4).output + feature236(argument1,argument2,argument3,argument4).output + feature237(argument1,argument2,argument3,argument4).output + feature238(argument1,argument2,argument3,argument4).output + feature239(argument1,argument2,argument3,argument4).output + feature240(argument1,argument2,argument3,argument4).output + feature241(argument1,argument2,argument3,argument4).output + feature242(argument1,argument2,argument3,argument4).output + feature243(argument1,argument2,argument3,argument4).output + feature244(argument1,argument2,argument3,argument4).output + feature245(argument1,argument2,argument3,argument4).output + feature246(argument1,argument2,argument3,argument4).output + feature247(argument1,argument2,argument3,argument4).output + feature248(argument1,argument2,argument3,argument4).output + feature249(argument1,argument2,argument3,argument4).output + feature250(argument1,argument2,argument3,argument4).output + feature251(argument1,argument2,argument3,argument4).output + feature252(argument1,argument2,argument3,argument4).output + feature253(argument1,argument2,argument3,argument4).output + feature254(argument1,argument2,argument3,argument4).output + feature255(argument1,argument2,argument3,argument4).output + feature256(argument1,argument2,argument3,argument4).output + feature257(argument1,argument2,argument3,argument4).output + feature258(argument1,argument2,argument3,argument4).output + feature259(argument1,argument2,argument3,argument4).output + feature260(argument1,argument2,argument3,argument4).output + feature261(argument1,argument2,argument3,argument4).output + feature262(argument1,argument2,argument3,argument4).output + feature263(argument1,argument2,argument3,argument4).output + feature264(argument1,argument2,argument3,argument4).output + feature265(argument1,argument2,argument3,argument4).output + feature266(argument1,argument2,argument3,argument4).output + feature267(argument1,argument2,argument3,argument4).output + feature268(argument1,argument2,argument3,argument4).output + feature269(argument1,argument2,argument3,argument4).output + feature270(argument1,argument2,argument3,argument4).output + feature271(argument1,argument2,argument3,argument4).output + feature272(argument1,argument2,argument3,argument4).output + feature273(argument1,argument2,argument3,argument4).output + feature274(argument1,argument2,argument3,argument4).output + feature275(argument1,argument2,argument3,argument4).output + feature276(argument1,argument2,argument3,argument4).output + feature277(argument1,argument2,argument3,argument4).output + feature278(argument1,argument2,argument3,argument4).output + feature279(argument1,argument2,argument3,argument4).output + feature280(argument1,argument2,argument3,argument4).output + feature281(argument1,argument2,argument3,argument4).output + feature282(argument1,argument2,argument3,argument4).output + feature283(argument1,argument2,argument3,argument4).output + feature284(argument1,argument2,argument3,argument4).output + feature285(argument1,argument2,argument3,argument4).output + feature286(argument1,argument2,argument3,argument4).output + feature287(argument1,argument2,argument3,argument4).output + feature288(argument1,argument2,argument3,argument4).output + feature289(argument1,argument2,argument3,argument4).output + feature290(argument1,argument2,argument3,argument4).output + feature291(argument1,argument2,argument3,argument4).output + feature292(argument1,argument2,argument3,argument4).output + feature293(argument1,argument2,argument3,argument4).output + feature294(argument1,argument2,argument3,argument4).output + feature295(argument1,argument2,argument3,argument4).output + feature296(argument1,argument2,argument3,argument4).output + feature297(argument1,argument2,argument3,argument4).output + feature298(argument1,argument2,argument3,argument4).output + feature299(argument1,argument2,argument3,argument4).output + feature300(argument1,argument2,argument3,argument4).output" +rankprofile[3].fef.property[2].name "vespa.rank.secondphase" +rankprofile[3].fef.property[2].value "rankingExpression(secondphase)" +rankprofile[3].fef.property[3].name "rankingExpression(secondphase).rankingScript" +rankprofile[3].fef.property[3].value "exp(0) + mysum(attribute(foo),\"attribute( bar )\",\"attribute( \\\"baz\\\" )\")" +rankprofile[3].fef.property[4].name "vespa.hitcollector.heapsize" +rankprofile[3].fef.property[4].value "101" +rankprofile[3].fef.property[5].name "vespa.hitcollector.arraysize" +rankprofile[3].fef.property[5].value "201" +rankprofile[3].fef.property[6].name "vespa.hitcollector.rankscoredroplimit" +rankprofile[3].fef.property[6].value "501.5" +rankprofile[4].name "duplicates" +rankprofile[4].fef.property[0].name "fieldMatch(a).proximityLimit" +rankprofile[4].fef.property[0].value "4" +rankprofile[4].fef.property[1].name "fieldMatch(a).proximityTable" +rankprofile[4].fef.property[1].value "0.2" +rankprofile[4].fef.property[2].name "fieldMatch(a).proximityTable" +rankprofile[4].fef.property[2].value "0.4" +rankprofile[4].fef.property[3].name "fieldMatch(a).proximityTable" +rankprofile[4].fef.property[3].value "0.6" +rankprofile[4].fef.property[4].name "fieldMatch(a).proximityTable" +rankprofile[4].fef.property[4].value "0.8" +rankprofile[4].fef.property[5].name "fieldMatch(a).proximityTable" +rankprofile[4].fef.property[5].value "1" +rankprofile[4].fef.property[6].name "fieldMatch(a).proximityTable" +rankprofile[4].fef.property[6].value "0.8" +rankprofile[4].fef.property[7].name "fieldMatch(a).proximityTable" +rankprofile[4].fef.property[7].value "0.6" +rankprofile[4].fef.property[8].name "fieldMatch(a).proximityTable" +rankprofile[4].fef.property[8].value "0.4" +rankprofile[4].fef.property[9].name "fieldMatch(a).proximityTable" +rankprofile[4].fef.property[9].value "0.2" +rankprofile[5].name "whitespace1" +rankprofile[5].fef.property[0].name "vespa.rank.firstphase" +rankprofile[5].fef.property[0].value "rankingExpression(firstphase)" +rankprofile[5].fef.property[1].name "rankingExpression(firstphase).rankingScript" +rankprofile[5].fef.property[1].value "1" +rankprofile[6].name "whitespace2" +rankprofile[6].fef.property[0].name "vespa.rank.firstphase" +rankprofile[6].fef.property[0].value "rankingExpression(firstphase)" +rankprofile[6].fef.property[1].name "rankingExpression(firstphase).rankingScript" +rankprofile[6].fef.property[1].value "1" +rankprofile[7].name "macros" +rankprofile[7].fef.property[0].name "rankingExpression(fourtimessum).rankingScript" +rankprofile[7].fef.property[0].value "4 * (var1 + var2)" +rankprofile[7].fef.property[1].name "rankingExpression(myfeature).rankingScript" +rankprofile[7].fef.property[1].value "70 * fieldMatch(title).completeness * pow(0 - fieldMatch(title).earliness,2) + 30 * pow(0 - fieldMatch(description).earliness,2)" +rankprofile[7].fef.property[2].name "rankingExpression(fourtimessum@5cf279212355b980.67f1e87166cfef86).rankingScript" +rankprofile[7].fef.property[2].value "4 * (match + rankBoost)" +rankprofile[7].fef.property[3].name "vespa.rank.firstphase" +rankprofile[7].fef.property[3].value "rankingExpression(firstphase)" +rankprofile[7].fef.property[4].name "rankingExpression(firstphase).rankingScript" +rankprofile[7].fef.property[4].value "match + fieldMatch(title) + rankingExpression(myfeature)" +rankprofile[7].fef.property[5].name "vespa.rank.secondphase" +rankprofile[7].fef.property[5].value "rankingExpression(fourtimessum@5cf279212355b980.67f1e87166cfef86)" +rankprofile[7].fef.property[6].name "vespa.summary.feature" +rankprofile[7].fef.property[6].value "fieldMatch(title)" +rankprofile[8].name "macros2" +rankprofile[8].fef.property[0].name "foo" +rankprofile[8].fef.property[0].value "some, list" +rankprofile[8].fef.property[1].name "rankingExpression(fourtimessum).rankingScript" +rankprofile[8].fef.property[1].value "4 * (var1 + var2)" +rankprofile[8].fef.property[2].name "rankingExpression(myfeature).rankingScript" +rankprofile[8].fef.property[2].value "70 * fieldMatch(title).completeness * pow(0 - fieldMatch(title).earliness,2) + 30 * pow(0 - fieldMatch(description).earliness,2)" +rankprofile[8].fef.property[3].name "rankingExpression(mysummaryfeature).rankingScript" +rankprofile[8].fef.property[3].value "70 * fieldMatch(title).completeness" +rankprofile[8].fef.property[4].name "rankingExpression(mysummaryfeature2).rankingScript" +rankprofile[8].fef.property[4].value "71 * fieldMatch(title).completeness" +rankprofile[8].fef.property[5].name "rankingExpression(fourtimessum@2b1138e8965e7ff5.67f1e87166cfef86).rankingScript" +rankprofile[8].fef.property[5].value "4 * (match + match)" +rankprofile[8].fef.property[6].name "vespa.rank.firstphase" +rankprofile[8].fef.property[6].value "classicRank" +rankprofile[8].fef.property[7].name "vespa.rank.secondphase" +rankprofile[8].fef.property[7].value "rankingExpression(secondphase)" +rankprofile[8].fef.property[8].name "rankingExpression(secondphase).rankingScript" +rankprofile[8].fef.property[8].value "rankingExpression(fourtimessum@2b1138e8965e7ff5.67f1e87166cfef86) + rankingExpression(mysummaryfeature) + rankingExpression(myfeature)" +rankprofile[8].fef.property[9].name "vespa.summary.feature" +rankprofile[8].fef.property[9].value "rankingExpression(mysummaryfeature2)" +rankprofile[8].fef.property[10].name "vespa.summary.feature" +rankprofile[8].fef.property[10].value "rankingExpression(mysummaryfeature)" +rankprofile[9].name "macros3" +rankprofile[9].fef.property[0].name "rankingExpression(onlyusedinsummaryfeature).rankingScript" +rankprofile[9].fef.property[0].value "5" +rankprofile[9].fef.property[1].name "vespa.summary.feature" +rankprofile[9].fef.property[1].value "rankingExpression(matches(title,rankingExpression(onlyusedinsummaryfeature)))" +rankprofile[10].name "macros3-inherited" +rankprofile[10].fef.property[0].name "rankingExpression(onlyusedinsummaryfeature).rankingScript" +rankprofile[10].fef.property[0].value "5" +rankprofile[10].fef.property[1].name "vespa.summary.feature" +rankprofile[10].fef.property[1].value "rankingExpression(matches(title,rankingExpression(onlyusedinsummaryfeature)))" +rankprofile[11].name "macros-inherited" +rankprofile[11].fef.property[0].name "foo" +rankprofile[11].fef.property[0].value "some, list" +rankprofile[11].fef.property[1].name "rankingExpression(fourtimessum).rankingScript" +rankprofile[11].fef.property[1].value "4 * (var1 + var2)" +rankprofile[11].fef.property[2].name "rankingExpression(myfeature).rankingScript" +rankprofile[11].fef.property[2].value "70 * fieldMatch(title).completeness * pow(0 - fieldMatch(title).earliness,2) + 30 * pow(0 - fieldMatch(description).earliness,2)" +rankprofile[11].fef.property[3].name "rankingExpression(mysummaryfeature).rankingScript" +rankprofile[11].fef.property[3].value "80 * fieldMatch(title).completeness" +rankprofile[11].fef.property[4].name "rankingExpression(mysummaryfeature2).rankingScript" +rankprofile[11].fef.property[4].value "71 * fieldMatch(title).completeness" +rankprofile[11].fef.property[5].name "rankingExpression(fourtimessum@2b1138e8965e7ff5.67f1e87166cfef86).rankingScript" +rankprofile[11].fef.property[5].value "4 * (match + match)" +rankprofile[11].fef.property[6].name "vespa.rank.firstphase" +rankprofile[11].fef.property[6].value "rankingExpression(firstphase)" +rankprofile[11].fef.property[7].name "rankingExpression(firstphase).rankingScript" +rankprofile[11].fef.property[7].value "20000 * rankingExpression(myfeature) + rankingExpression(mysummaryfeature)" +rankprofile[11].fef.property[8].name "vespa.rank.secondphase" +rankprofile[11].fef.property[8].value "rankingExpression(secondphase)" +rankprofile[11].fef.property[9].name "rankingExpression(secondphase).rankingScript" +rankprofile[11].fef.property[9].value "rankingExpression(fourtimessum@2b1138e8965e7ff5.67f1e87166cfef86) + rankingExpression(mysummaryfeature) + rankingExpression(myfeature)" +rankprofile[11].fef.property[10].name "vespa.summary.feature" +rankprofile[11].fef.property[10].value "rankingExpression(mysummaryfeature2)" +rankprofile[11].fef.property[11].name "vespa.summary.feature" +rankprofile[11].fef.property[11].value "rankingExpression(mysummaryfeature)" +rankprofile[12].name "macros-inherited2" +rankprofile[12].fef.property[0].name "foo" +rankprofile[12].fef.property[0].value "some, list" +rankprofile[12].fef.property[1].name "rankingExpression(fourtimessum).rankingScript" +rankprofile[12].fef.property[1].value "4 * (var1 + var2)" +rankprofile[12].fef.property[2].name "rankingExpression(myfeature).rankingScript" +rankprofile[12].fef.property[2].value "70 * fieldMatch(title).completeness * pow(0 - fieldMatch(title).earliness,2) + 30 * pow(0 - fieldMatch(description).earliness,2)" +rankprofile[12].fef.property[3].name "rankingExpression(mysummaryfeature).rankingScript" +rankprofile[12].fef.property[3].value "80 * fieldMatch(title).completeness" +rankprofile[12].fef.property[4].name "rankingExpression(mysummaryfeature2).rankingScript" +rankprofile[12].fef.property[4].value "71 * fieldMatch(title).completeness" +rankprofile[12].fef.property[5].name "rankingExpression(fourtimessum@2b1138e8965e7ff5.67f1e87166cfef86).rankingScript" +rankprofile[12].fef.property[5].value "4 * (match + match)" +rankprofile[12].fef.property[6].name "vespa.rank.firstphase" +rankprofile[12].fef.property[6].value "rankingExpression(firstphase)" +rankprofile[12].fef.property[7].name "rankingExpression(firstphase).rankingScript" +rankprofile[12].fef.property[7].value "30000 * rankingExpression(mysummaryfeature) + rankingExpression(myfeature)" +rankprofile[12].fef.property[8].name "vespa.rank.secondphase" +rankprofile[12].fef.property[8].value "rankingExpression(secondphase)" +rankprofile[12].fef.property[9].name "rankingExpression(secondphase).rankingScript" +rankprofile[12].fef.property[9].value "rankingExpression(fourtimessum@2b1138e8965e7ff5.67f1e87166cfef86) + rankingExpression(mysummaryfeature) + rankingExpression(myfeature)" +rankprofile[12].fef.property[10].name "vespa.summary.feature" +rankprofile[12].fef.property[10].value "rankingExpression(mysummaryfeature2)" +rankprofile[12].fef.property[11].name "vespa.summary.feature" +rankprofile[12].fef.property[11].value "rankingExpression(mysummaryfeature)" +rankprofile[13].name "macros-inherited3" +rankprofile[13].fef.property[0].name "foo" +rankprofile[13].fef.property[0].value "some, list" +rankprofile[13].fef.property[1].name "rankingExpression(fourtimessum).rankingScript" +rankprofile[13].fef.property[1].value "4 * (var1 + var2)" +rankprofile[13].fef.property[2].name "rankingExpression(myfeature).rankingScript" +rankprofile[13].fef.property[2].value "700 * fieldMatch(title).completeness" +rankprofile[13].fef.property[3].name "rankingExpression(mysummaryfeature).rankingScript" +rankprofile[13].fef.property[3].value "80 * fieldMatch(title).completeness" +rankprofile[13].fef.property[4].name "rankingExpression(mysummaryfeature2).rankingScript" +rankprofile[13].fef.property[4].value "71 * fieldMatch(title).completeness" +rankprofile[13].fef.property[5].name "vespa.rank.firstphase" +rankprofile[13].fef.property[5].value "rankingExpression(firstphase)" +rankprofile[13].fef.property[6].name "rankingExpression(firstphase).rankingScript" +rankprofile[13].fef.property[6].value "30000 * rankingExpression(mysummaryfeature) + rankingExpression(myfeature)" +rankprofile[13].fef.property[7].name "vespa.rank.secondphase" +rankprofile[13].fef.property[7].value "rankingExpression(secondphase)" +rankprofile[13].fef.property[8].name "rankingExpression(secondphase).rankingScript" +rankprofile[13].fef.property[8].value "40000 * rankingExpression(mysummaryfeature) + rankingExpression(myfeature)" +rankprofile[13].fef.property[9].name "vespa.summary.feature" +rankprofile[13].fef.property[9].value "rankingExpression(mysummaryfeature2)" +rankprofile[13].fef.property[10].name "vespa.summary.feature" +rankprofile[13].fef.property[10].value "rankingExpression(mysummaryfeature)" +rankprofile[14].name "macros-refering-macros" +rankprofile[14].fef.property[0].name "rankingExpression(m1).rankingScript" +rankprofile[14].fef.property[0].value "700 * fieldMatch(title).completeness" +rankprofile[14].fef.property[1].name "rankingExpression(m2).rankingScript" +rankprofile[14].fef.property[1].value "rankingExpression(m1) * 67" +rankprofile[14].fef.property[2].name "rankingExpression(m4).rankingScript" +rankprofile[14].fef.property[2].value "703 * fieldMatch(fromfile).completeness" +rankprofile[14].fef.property[3].name "vespa.rank.secondphase" +rankprofile[14].fef.property[3].value "rankingExpression(secondphase)" +rankprofile[14].fef.property[4].name "rankingExpression(secondphase).rankingScript" +rankprofile[14].fef.property[4].value "40000 * rankingExpression(m2)" +rankprofile[15].name "macros-refering-macros-inherited" +rankprofile[15].fef.property[0].name "rankingExpression(m1).rankingScript" +rankprofile[15].fef.property[0].value "700 * fieldMatch(title).completeness" +rankprofile[15].fef.property[1].name "rankingExpression(m2).rankingScript" +rankprofile[15].fef.property[1].value "rankingExpression(m1) * 67" +rankprofile[15].fef.property[2].name "rankingExpression(m4).rankingScript" +rankprofile[15].fef.property[2].value "701 * fieldMatch(title).completeness" +rankprofile[15].fef.property[3].name "rankingExpression(m3).rankingScript" +rankprofile[15].fef.property[3].value "if (isNan(attribute(nrtgmp)) == 1, 0.0, rankingExpression(m2))" +rankprofile[15].fef.property[4].name "vespa.rank.secondphase" +rankprofile[15].fef.property[4].value "rankingExpression(secondphase)" +rankprofile[15].fef.property[5].name "rankingExpression(secondphase).rankingScript" +rankprofile[15].fef.property[5].value "3000 * rankingExpression(m2)" +rankprofile[16].name "macros-refering-macros-inherited2" +rankprofile[16].fef.property[0].name "rankingExpression(m1).rankingScript" +rankprofile[16].fef.property[0].value "700 * fieldMatch(title).completeness" +rankprofile[16].fef.property[1].name "rankingExpression(m2).rankingScript" +rankprofile[16].fef.property[1].value "rankingExpression(m1) * 67" +rankprofile[16].fef.property[2].name "rankingExpression(m4).rankingScript" +rankprofile[16].fef.property[2].value "703 * fieldMatch(fromfile).completeness" +rankprofile[16].fef.property[3].name "vespa.rank.secondphase" +rankprofile[16].fef.property[3].value "rankingExpression(secondphase)" +rankprofile[16].fef.property[4].name "rankingExpression(secondphase).rankingScript" +rankprofile[16].fef.property[4].value "3002 * rankingExpression(m2)" +rankprofile[17].name "macros-refering-macros-inherited-two-levels" +rankprofile[17].fef.property[0].name "rankingExpression(m1).rankingScript" +rankprofile[17].fef.property[0].value "700 * fieldMatch(title).completeness" +rankprofile[17].fef.property[1].name "rankingExpression(m2).rankingScript" +rankprofile[17].fef.property[1].value "rankingExpression(m1) * 67" +rankprofile[17].fef.property[2].name "rankingExpression(m4).rankingScript" +rankprofile[17].fef.property[2].value "701 * fieldMatch(title).completeness" +rankprofile[17].fef.property[3].name "rankingExpression(m3).rankingScript" +rankprofile[17].fef.property[3].value "if (isNan(attribute(nrtgmp)) == 1, 0.0, rankingExpression(m2))" +rankprofile[17].fef.property[4].name "rankingExpression(m5).rankingScript" +rankprofile[17].fef.property[4].value "if (isNan(attribute(glmpfw)) == 1, rankingExpression(m1), rankingExpression(m4))" +rankprofile[17].fef.property[5].name "vespa.rank.secondphase" +rankprofile[17].fef.property[5].value "rankingExpression(secondphase)" +rankprofile[17].fef.property[6].name "rankingExpression(secondphase).rankingScript" +rankprofile[17].fef.property[6].value "3000 * rankingExpression(m2)"
\ No newline at end of file diff --git a/config-model/src/test/derived/rankexpression/rankexpression.expression b/config-model/src/test/derived/rankexpression/rankexpression.expression new file mode 100644 index 00000000000..d6cb73c829d --- /dev/null +++ b/config-model/src/test/derived/rankexpression/rankexpression.expression @@ -0,0 +1 @@ +if ( 3 > 2 , 10 , 24 ) + feature ( arg1 ) . out.out diff --git a/config-model/src/test/derived/rankexpression/rankexpression.sd b/config-model/src/test/derived/rankexpression/rankexpression.sd new file mode 100644 index 00000000000..139615bbd01 --- /dev/null +++ b/config-model/src/test/derived/rankexpression/rankexpression.sd @@ -0,0 +1,297 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search rankexpression { + + document rankexpression { + + field artist type string { + indexing: summary | index + # index-to: artist, default + } + + field title type string { + indexing: summary | index + # index-to: title, default + } + + field surl type string { + indexing: summary + } + + field year type int { + indexing: summary | attribute + } + + } + + rank-profile default { + first-phase { + expression: classicRank + keep-rank-count: 20 + rank-score-drop-limit: -0.5 + } + second-phase { + expression: if(3>2,4,2) + rerank-count: 10 + } + rank-features: attribute(foo1).out attribute(bar1.out) + rank-features { attribute(foo2).out attribute(bar2).out } + rank-features { + attribute(foo3).out attribute(bar3).out } + rank-features { + attribute(foo4).out + attribute(bar4).out + } + ignore-default-rank-features + + rank-properties { + foo: "bar, baz" + qux: "quux" + foo: "foobar" + foo.bar: "foo.bar" + foo.bar.baz: 123 + foo ( bar ) . baz.2 : 123.4 + foo(bar).baz.qux: "foo(bar)" + "nud":"ity" + } + + } + + rank-profile static { + first-phase { + expression { attribute } + } + second-phase { + expression { + file:rankexpression + } + } + summary-features: attribute(foo1).out attribute(bar1.out) + summary-features { attribute(foo2).out attribute(bar2).out } + summary-features { + attribute(foo3).out attribute(bar3).out } + summary-features { + attribute(foo4).out + attribute(bar4).out + } + } + + rank-profile overflow { + first-phase { + expression: file:overflow.expression + keep-rank-count: 201 + rank-score-drop-limit: 501.5 + } + second-phase { + expression { + exp(0) + + mysum(attribute(foo), + "attribute( bar )", + "attribute( \"baz\" )") + } + rerank-count: 101 + } + } + + rank-profile duplicates { + rank-properties { + fieldMatch(a).proximityLimit: 4 + fieldMatch(a).proximityTable: 0.2 + fieldMatch(a).proximityTable: 0.4 + fieldMatch(a).proximityTable: 0.6 + fieldMatch(a).proximityTable: 0.8 + fieldMatch(a).proximityTable: 1 + fieldMatch(a).proximityTable: 0.8 + fieldMatch(a).proximityTable: 0.6 + fieldMatch(a).proximityTable: 0.4 + fieldMatch(a).proximityTable: 0.2 + } + } + + rank-profile whitespace1 { + first-phase { + expression + { + + 1 + }}} + + rank-profile whitespace2 { + first-phase + { + expression { 1 } + } + } + + rank-profile macros { + first-phase { + expression: match + fieldMatch(title) + myfeature + } + second-phase { + expression: fourtimessum(match,rankBoost) + } + macro fourtimessum(var1, var2) { + expression: 4*(var1+var2) + } + macro myfeature() { + expression { + 70 * fieldMatch(title).completeness * pow(0 - fieldMatch(title).earliness, 2) + + 30 * pow(0 - fieldMatch(description).earliness, 2) + } + } + summary-features { + fieldMatch(title) + } + } + + rank-profile macros2 { + first-phase { + expression: classicRank + } + rank-properties { + foo: "some, list" + } + + second-phase { + expression: fourtimessum(match,match) + mysummaryfeature + myfeature + } + macro fourtimessum(var1, var2) { + expression: 4*(var1+var2) + } + macro myfeature() { + expression { + 70 * fieldMatch(title).completeness * pow(0 - fieldMatch(title).earliness, 2) + + 30 * pow(0 - fieldMatch(description).earliness, 2) + } + } + macro mysummaryfeature() { + expression { + 70 * fieldMatch(title).completeness + } + } + macro mysummaryfeature2() { + expression { + 71 * fieldMatch(title).completeness + } + } + summary-features { + mysummaryfeature + rankingExpression(mysummaryfeature2) # Required form earlier + } + } + + rank-profile macros3 { + macro onlyusedinsummaryfeature() { + expression: 5 + } + summary-features { + rankingExpression(matches(title,rankingExpression(onlyusedinsummaryfeature))) + } + + } + + rank-profile macros3-inherited inherits macros3 { + summary-features { + rankingExpression(matches(title,rankingExpression(onlyusedinsummaryfeature))) + } + } + + rank-profile macros-inherited inherits macros2 { + macro mysummaryfeature() { + expression { + 80 * fieldMatch(title).completeness + } + } + first-phase { + expression { + 20000 * myfeature + mysummaryfeature + } + } + } + + rank-profile macros-inherited2 inherits macros-inherited { + first-phase { + expression { + 30000 * mysummaryfeature + myfeature + } + } + } + + rank-profile macros-inherited3 inherits macros-inherited2 { + macro myfeature() { + expression { + 700 * fieldMatch(title).completeness + } + } + second-phase { + expression { + 40000 * mysummaryfeature + myfeature + } + } + } + + rank-profile macros-refering-macros { + macro m2() { + expression: m1 * 67 + } + + macro m1() { + expression { + 700 * fieldMatch(title).completeness + } + } + + macro m4() { + expression: file:macro.expression + } + + second-phase { + expression { + 40000 * m2 + } + } + + } + + rank-profile macros-refering-macros-inherited inherits macros-refering-macros { + macro m3() { + expression { + if(isNan(attribute(nrtgmp))==1, + 0.0, + (m2) + ) + } + } + macro m4() { + expression { + 701 * fieldMatch(title).completeness + } + } + second-phase { + expression { + 3000 * m2 + } + } + } + + rank-profile macros-refering-macros-inherited2 inherits macros-refering-macros { + second-phase { + expression { + 3002 * m2 + } + } + } + + rank-profile macros-refering-macros-inherited-two-levels inherits macros-refering-macros-inherited { + macro m5() { + expression { + if(isNan(attribute(glmpfw))==1, + m1, + (m4) + ) + } + } + } + +} + + diff --git a/config-model/src/test/derived/rankexpression/summary.cfg b/config-model/src/test/derived/rankexpression/summary.cfg new file mode 100644 index 00000000000..00df2e87144 --- /dev/null +++ b/config-model/src/test/derived/rankexpression/summary.cfg @@ -0,0 +1,25 @@ +defaultsummaryid 1753207254 +classes[0].id 1753207254 +classes[0].name "default" +classes[0].fields[0].name "artist" +classes[0].fields[0].type "longstring" +classes[0].fields[1].name "title" +classes[0].fields[1].type "longstring" +classes[0].fields[2].name "surl" +classes[0].fields[2].type "longstring" +classes[0].fields[3].name "year" +classes[0].fields[3].type "integer" +classes[0].fields[4].name "rankfeatures" +classes[0].fields[4].type "featuredata" +classes[0].fields[5].name "summaryfeatures" +classes[0].fields[5].type "featuredata" +classes[0].fields[6].name "documentid" +classes[0].fields[6].type "longstring" +classes[1].id 1787488393 +classes[1].name "attributeprefetch" +classes[1].fields[0].name "year" +classes[1].fields[0].type "integer" +classes[1].fields[1].name "rankfeatures" +classes[1].fields[1].type "featuredata" +classes[1].fields[2].name "summaryfeatures" +classes[1].fields[2].type "featuredata"
\ No newline at end of file diff --git a/config-model/src/test/derived/rankexpression/summarymap.cfg b/config-model/src/test/derived/rankexpression/summarymap.cfg new file mode 100644 index 00000000000..c810f7282ba --- /dev/null +++ b/config-model/src/test/derived/rankexpression/summarymap.cfg @@ -0,0 +1,10 @@ +defaultoutputclass -1 +override[0].field "year" +override[0].command "attribute" +override[0].arguments "year" +override[1].field "rankfeatures" +override[1].command "rankfeatures" +override[1].arguments "" +override[2].field "summaryfeatures" +override[2].command "summaryfeatures" +override[2].arguments ""
\ No newline at end of file diff --git a/config-model/src/test/derived/rankprofiles/rank-profiles.cfg b/config-model/src/test/derived/rankprofiles/rank-profiles.cfg new file mode 100644 index 00000000000..da619d62a15 --- /dev/null +++ b/config-model/src/test/derived/rankprofiles/rank-profiles.cfg @@ -0,0 +1,98 @@ +rankprofile[0].name "default" +rankprofile[1].name "unranked" +rankprofile[1].fef.property[0].name "vespa.rank.firstphase" +rankprofile[1].fef.property[0].value "value(0)" +rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize" +rankprofile[1].fef.property[1].value "0" +rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize" +rankprofile[1].fef.property[2].value "0" +rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures" +rankprofile[1].fef.property[3].value "true" +rankprofile[2].name "other1" +rankprofile[2].fef.property[0].name "nativeFieldMatch.firstOccurrenceTable.field1" +rankprofile[2].fef.property[0].value "linear(0,0)" +rankprofile[2].fef.property[1].name "nativeFieldMatch.occurrenceCountTable.field1" +rankprofile[2].fef.property[1].value "linear(0,0)" +rankprofile[2].fef.property[2].name "nativeProximity.proximityTable.field1" +rankprofile[2].fef.property[2].value "linear(0,0)" +rankprofile[2].fef.property[3].name "nativeProximity.reverseProximityTable.field1" +rankprofile[2].fef.property[3].value "linear(0,0)" +rankprofile[2].fef.property[4].name "vespa.isfilterfield.field1" +rankprofile[2].fef.property[4].value "true" +rankprofile[3].name "other2" +rankprofile[3].fef.property[0].name "nativeFieldMatch.firstOccurrenceTable.field1" +rankprofile[3].fef.property[0].value "linear(0,0)" +rankprofile[3].fef.property[1].name "nativeFieldMatch.occurrenceCountTable.field1" +rankprofile[3].fef.property[1].value "linear(0,0)" +rankprofile[3].fef.property[2].name "nativeProximity.proximityTable.field1" +rankprofile[3].fef.property[2].value "linear(0,0)" +rankprofile[3].fef.property[3].name "nativeProximity.reverseProximityTable.field1" +rankprofile[3].fef.property[3].value "linear(0,0)" +rankprofile[3].fef.property[4].name "vespa.isfilterfield.field1" +rankprofile[3].fef.property[4].value "true" +rankprofile[4].name "other3" +rankprofile[5].name "four" +rankprofile[5].fef.property[0].name "vespa.matchphase.degradation.attribute" +rankprofile[5].fef.property[0].value "field2" +rankprofile[5].fef.property[1].name "vespa.matchphase.degradation.ascendingorder" +rankprofile[5].fef.property[1].value "true" +rankprofile[5].fef.property[2].name "vespa.matchphase.degradation.maxhits" +rankprofile[5].fef.property[2].value "12345" +rankprofile[5].fef.property[3].name "vespa.matchphase.degradation.maxfiltercoverage" +rankprofile[5].fef.property[3].value "1.0" +rankprofile[5].fef.property[4].name "vespa.matchphase.degradation.samplepercentage" +rankprofile[5].fef.property[4].value "0.2" +rankprofile[5].fef.property[5].name "vespa.matchphase.degradation.postfiltermultiplier" +rankprofile[5].fef.property[5].value "1.0" +rankprofile[6].name "five" +rankprofile[6].fef.property[0].name "vespa.matchphase.degradation.attribute" +rankprofile[6].fef.property[0].value "field2" +rankprofile[6].fef.property[1].name "vespa.matchphase.degradation.ascendingorder" +rankprofile[6].fef.property[1].value "false" +rankprofile[6].fef.property[2].name "vespa.matchphase.degradation.maxhits" +rankprofile[6].fef.property[2].value "54321" +rankprofile[6].fef.property[3].name "vespa.matchphase.degradation.maxfiltercoverage" +rankprofile[6].fef.property[3].value "1.0" +rankprofile[6].fef.property[4].name "vespa.matchphase.degradation.samplepercentage" +rankprofile[6].fef.property[4].value "0.2" +rankprofile[6].fef.property[5].name "vespa.matchphase.degradation.postfiltermultiplier" +rankprofile[6].fef.property[5].value "1.0" +rankprofile[7].name "six" +rankprofile[7].fef.property[0].name "vespa.matchphase.degradation.attribute" +rankprofile[7].fef.property[0].value "field3" +rankprofile[7].fef.property[1].name "vespa.matchphase.degradation.ascendingorder" +rankprofile[7].fef.property[1].value "false" +rankprofile[7].fef.property[2].name "vespa.matchphase.degradation.maxhits" +rankprofile[7].fef.property[2].value "666" +rankprofile[7].fef.property[3].name "vespa.matchphase.degradation.maxfiltercoverage" +rankprofile[7].fef.property[3].value "1.0" +rankprofile[7].fef.property[4].name "vespa.matchphase.degradation.samplepercentage" +rankprofile[7].fef.property[4].value "0.2" +rankprofile[7].fef.property[5].name "vespa.matchphase.degradation.postfiltermultiplier" +rankprofile[7].fef.property[5].value "1.0" +rankprofile[8].name "seven" +rankprofile[8].fef.property[0].name "vespa.matchphase.degradation.attribute" +rankprofile[8].fef.property[0].value "field3" +rankprofile[8].fef.property[1].name "vespa.matchphase.degradation.ascendingorder" +rankprofile[8].fef.property[1].value "false" +rankprofile[8].fef.property[2].name "vespa.matchphase.degradation.maxhits" +rankprofile[8].fef.property[2].value "800" +rankprofile[8].fef.property[3].name "vespa.matchphase.degradation.maxfiltercoverage" +rankprofile[8].fef.property[3].value "1.0" +rankprofile[8].fef.property[4].name "vespa.matchphase.degradation.samplepercentage" +rankprofile[8].fef.property[4].value "0.7" +rankprofile[8].fef.property[5].name "vespa.matchphase.degradation.postfiltermultiplier" +rankprofile[8].fef.property[5].value "3.4" +rankprofile[9].name "eight" +rankprofile[9].fef.property[0].name "vespa.matchphase.degradation.attribute" +rankprofile[9].fef.property[0].value "field3" +rankprofile[9].fef.property[1].name "vespa.matchphase.degradation.ascendingorder" +rankprofile[9].fef.property[1].value "false" +rankprofile[9].fef.property[2].name "vespa.matchphase.degradation.maxhits" +rankprofile[9].fef.property[2].value "800" +rankprofile[9].fef.property[3].name "vespa.matchphase.degradation.maxfiltercoverage" +rankprofile[9].fef.property[3].value "1.0" +rankprofile[9].fef.property[4].name "vespa.matchphase.degradation.samplepercentage" +rankprofile[9].fef.property[4].value "0.7" +rankprofile[9].fef.property[5].name "vespa.matchphase.degradation.postfiltermultiplier" +rankprofile[9].fef.property[5].value "3.4"
\ No newline at end of file diff --git a/config-model/src/test/derived/rankprofiles/rankprofiles.sd b/config-model/src/test/derived/rankprofiles/rankprofiles.sd new file mode 100644 index 00000000000..ea3be070344 --- /dev/null +++ b/config-model/src/test/derived/rankprofiles/rankprofiles.sd @@ -0,0 +1,72 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search rankprofiles { + + document rankprofiles { + + field field1 type string { + indexing: index + } + + field field2 type int { + indexing: attribute + attribute: fast-search + } + + field field3 type int { + indexing: attribute + attribute: fast-search + } + + } + + rank-profile default { + } + + rank-profile other1 inherits default { + rank field1: filter + rank none: filter + } + + rank-profile other2 inherits other1 { + } + + rank-profile other3 { + } + + rank-profile four { + match-phase { + attribute: field2 + order: ascending + max-hits: 12345 + } + } + + rank-profile five { + match-phase { + attribute: field2 + order: descending + max-hits: 54321 + } + } + + rank-profile six { + match-phase { + attribute: field3 + max-hits: 666 + } + } + + rank-profile seven { + match-phase { + attribute: field3 + max-hits:800 + evaluation-point:0.7 + pre-post-filter-tipping-point:3.4 + } + } + + rank-profile eight inherits seven { + + } + +} diff --git a/config-model/src/test/derived/rankproperties/rank-profiles.cfg b/config-model/src/test/derived/rankproperties/rank-profiles.cfg new file mode 100644 index 00000000000..147153c2f62 --- /dev/null +++ b/config-model/src/test/derived/rankproperties/rank-profiles.cfg @@ -0,0 +1,48 @@ +rankprofile[0].name "default" +rankprofile[0].fef.property[0].name "$test" +rankprofile[0].fef.property[0].value "foo" +rankprofile[0].fef.property[1].name "vespa.rank.firstphase" +rankprofile[0].fef.property[1].value "nativeFieldMatch" +rankprofile[0].fef.property[2].name "vespa.rank.secondphase" +rankprofile[0].fef.property[2].value "match" +rankprofile[0].fef.property[3].name "vespa.fieldweight.tag" +rankprofile[0].fef.property[3].value "33" +rankprofile[0].fef.property[4].name "vespa.fieldweight.title" +rankprofile[0].fef.property[4].value "50" +rankprofile[0].fef.property[5].name "vespa.fieldweight.description" +rankprofile[0].fef.property[5].value "10" +rankprofile[1].name "unranked" +rankprofile[1].fef.property[0].name "vespa.rank.firstphase" +rankprofile[1].fef.property[0].value "value(0)" +rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize" +rankprofile[1].fef.property[1].value "0" +rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize" +rankprofile[1].fef.property[2].value "0" +rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures" +rankprofile[1].fef.property[3].value "true" +rankprofile[2].name "child" +rankprofile[2].fef.property[0].name "$test" +rankprofile[2].fef.property[0].value "foo" +rankprofile[2].fef.property[1].name "vespa.rank.firstphase" +rankprofile[2].fef.property[1].value "nativeFieldMatch" +rankprofile[2].fef.property[2].name "vespa.rank.secondphase" +rankprofile[2].fef.property[2].value "match" +rankprofile[2].fef.property[3].name "vespa.fieldweight.title" +rankprofile[2].fef.property[3].value "15" +rankprofile[2].fef.property[4].name "vespa.fieldweight.tag" +rankprofile[2].fef.property[4].value "33" +rankprofile[2].fef.property[5].name "vespa.fieldweight.description" +rankprofile[2].fef.property[5].value "10" +rankprofile[3].name "standalone" +rankprofile[3].fef.property[0].name "vespa.rank.firstphase" +rankprofile[3].fef.property[0].value "rankingExpression(firstphase)" +rankprofile[3].fef.property[1].name "rankingExpression(firstphase).rankingScript" +rankprofile[3].fef.property[1].value "match + fieldMatch(title)" +rankprofile[3].fef.property[2].name "vespa.rank.secondphase" +rankprofile[3].fef.property[2].value "rankingExpression(secondphase)" +rankprofile[3].fef.property[3].name "rankingExpression(secondphase).rankingScript" +rankprofile[3].fef.property[3].value "match + nativeFieldMatch" +rankprofile[3].fef.property[4].name "vespa.fieldweight.description" +rankprofile[3].fef.property[4].value "35" +rankprofile[3].fef.property[5].name "vespa.fieldweight.tag" +rankprofile[3].fef.property[5].value "88"
\ No newline at end of file diff --git a/config-model/src/test/derived/rankproperties/rankproperties.sd b/config-model/src/test/derived/rankproperties/rankproperties.sd new file mode 100644 index 00000000000..80d5a0cef44 --- /dev/null +++ b/config-model/src/test/derived/rankproperties/rankproperties.sd @@ -0,0 +1,61 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search rankproperties { + + document rankproperties { + + field title type string { + indexing: index + weight: 50 + } + + field description type string { + indexing: index + weight: 10 + } + + field tag type string { + indexing: attribute + } + + } + + rank-profile default { + weight tag: 33 + first-phase { + expression: nativeFieldMatch + } + second-phase { + expression: match + } + rank-properties { + $test:"foo" + #$weight:1 + } + } + + rank-profile child inherits default { + weight title: 15 + #rank-properties { + # $test:"bar" + # $weight:2 + #} + #first-phase { + # expression { + # $weight + # } + #} + } + + rank-profile standalone { + weight description: 35 + weight tag: 88 + + first-phase { + expression: match + fieldMatch(title) + } + second-phase { + expression: match + nativeFieldMatch + } + } + +} diff --git a/config-model/src/test/derived/ranktypes/attributes.cfg b/config-model/src/test/derived/ranktypes/attributes.cfg new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/config-model/src/test/derived/ranktypes/attributes.cfg diff --git a/config-model/src/test/derived/ranktypes/documentmanager.cfg b/config-model/src/test/derived/ranktypes/documentmanager.cfg new file mode 100644 index 00000000000..c57a58c244c --- /dev/null +++ b/config-model/src/test/derived/ranktypes/documentmanager.cfg @@ -0,0 +1,51 @@ +enablecompression false +datatype[0].id 1381038251 +datatype[0].structtype[0].name "position" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[0].structtype[0].field[0].name "x" +datatype[0].structtype[0].field[0].datatype 0 +datatype[0].structtype[0].field[1].name "y" +datatype[0].structtype[0].field[1].datatype 0 +datatype[1].id -471393776 +datatype[1].structtype[0].name "ranktypes.header" +datatype[1].structtype[0].version 0 +datatype[1].structtype[0].compresstype NONE +datatype[1].structtype[0].compresslevel 0 +datatype[1].structtype[0].compressthreshold 95 +datatype[1].structtype[0].compressminsize 800 +datatype[1].structtype[0].field[0].name "title" +datatype[1].structtype[0].field[0].datatype 2 +datatype[1].structtype[0].field[1].name "descr" +datatype[1].structtype[0].field[1].datatype 2 +datatype[1].structtype[0].field[2].name "keywords" +datatype[1].structtype[0].field[2].datatype 2 +datatype[1].structtype[0].field[3].name "identity" +datatype[1].structtype[0].field[3].datatype 2 +datatype[1].structtype[0].field[4].name "identity_literal" +datatype[1].structtype[0].field[4].datatype 2 +datatype[1].structtype[0].field[5].name "rankfeatures" +datatype[1].structtype[0].field[5].datatype 2 +datatype[1].structtype[0].field[6].name "summaryfeatures" +datatype[1].structtype[0].field[6].datatype 2 +datatype[2].id 1374506021 +datatype[2].structtype[0].name "ranktypes.body" +datatype[2].structtype[0].version 0 +datatype[2].structtype[0].compresstype NONE +datatype[2].structtype[0].compresslevel 0 +datatype[2].structtype[0].compressthreshold 95 +datatype[2].structtype[0].compressminsize 800 +datatype[3].id -883421617 +datatype[3].documenttype[0].name "ranktypes" +datatype[3].documenttype[0].version 0 +datatype[3].documenttype[0].inherits[0].name "document" +datatype[3].documenttype[0].inherits[0].version 0 +datatype[3].documenttype[0].headerstruct -471393776 +datatype[3].documenttype[0].bodystruct 1374506021 +datatype[3].documenttype[0].fieldsets{[document]}.fields[0] "descr" +datatype[3].documenttype[0].fieldsets{[document]}.fields[1] "identity" +datatype[3].documenttype[0].fieldsets{[document]}.fields[2] "keywords" +datatype[3].documenttype[0].fieldsets{[document]}.fields[3] "title" diff --git a/config-model/src/test/derived/ranktypes/ilscripts.cfg b/config-model/src/test/derived/ranktypes/ilscripts.cfg new file mode 100644 index 00000000000..3a917099bfc --- /dev/null +++ b/config-model/src/test/derived/ranktypes/ilscripts.cfg @@ -0,0 +1,11 @@ +maxtermoccurrences 100 +ilscript[0].doctype "ranktypes" +ilscript[0].docfield[0] "title" +ilscript[0].docfield[1] "descr" +ilscript[0].docfield[2] "keywords" +ilscript[0].docfield[3] "identity" +ilscript[0].content[0] "clear_state | guard { input identity | tokenize | index identity_literal; }" +ilscript[0].content[1] "clear_state | guard { input title | tokenize normalize stem:\"SHORTEST\" | summary title | index title; }" +ilscript[0].content[2] "clear_state | guard { input descr | tokenize normalize stem:\"SHORTEST\" | summary descr | index descr; }" +ilscript[0].content[3] "clear_state | guard { input keywords | tokenize normalize stem:\"SHORTEST\" | index keywords; }" +ilscript[0].content[4] "clear_state | guard { input identity | tokenize normalize stem:\"SHORTEST\" | index identity; }"
\ No newline at end of file diff --git a/config-model/src/test/derived/ranktypes/index-info.cfg b/config-model/src/test/derived/ranktypes/index-info.cfg new file mode 100644 index 00000000000..464f7a73676 --- /dev/null +++ b/config-model/src/test/derived/ranktypes/index-info.cfg @@ -0,0 +1,47 @@ +indexinfo[0].name "ranktypes" +indexinfo[0].command[0].indexname "sddocname" +indexinfo[0].command[0].command "index" +indexinfo[0].command[1].indexname "sddocname" +indexinfo[0].command[1].command "word" +indexinfo[0].command[2].indexname "title" +indexinfo[0].command[2].command "index" +indexinfo[0].command[3].indexname "title" +indexinfo[0].command[3].command "lowercase" +indexinfo[0].command[4].indexname "title" +indexinfo[0].command[4].command "stem:SHORTEST" +indexinfo[0].command[5].indexname "title" +indexinfo[0].command[5].command "normalize" +indexinfo[0].command[6].indexname "descr" +indexinfo[0].command[6].command "index" +indexinfo[0].command[7].indexname "descr" +indexinfo[0].command[7].command "lowercase" +indexinfo[0].command[8].indexname "descr" +indexinfo[0].command[8].command "stem:SHORTEST" +indexinfo[0].command[9].indexname "descr" +indexinfo[0].command[9].command "normalize" +indexinfo[0].command[10].indexname "keywords" +indexinfo[0].command[10].command "index" +indexinfo[0].command[11].indexname "keywords" +indexinfo[0].command[11].command "lowercase" +indexinfo[0].command[12].indexname "keywords" +indexinfo[0].command[12].command "stem:SHORTEST" +indexinfo[0].command[13].indexname "keywords" +indexinfo[0].command[13].command "normalize" +indexinfo[0].command[14].indexname "identity" +indexinfo[0].command[14].command "index" +indexinfo[0].command[15].indexname "identity" +indexinfo[0].command[15].command "lowercase" +indexinfo[0].command[16].indexname "identity" +indexinfo[0].command[16].command "stem:SHORTEST" +indexinfo[0].command[17].indexname "identity" +indexinfo[0].command[17].command "normalize" +indexinfo[0].command[18].indexname "identity" +indexinfo[0].command[18].command "literal-boost" +indexinfo[0].command[19].indexname "identity_literal" +indexinfo[0].command[19].command "index" +indexinfo[0].command[20].indexname "identity_literal" +indexinfo[0].command[20].command "lowercase" +indexinfo[0].command[21].indexname "rankfeatures" +indexinfo[0].command[21].command "index" +indexinfo[0].command[22].indexname "summaryfeatures" +indexinfo[0].command[22].command "index"
\ No newline at end of file diff --git a/config-model/src/test/derived/ranktypes/rank-profiles.cfg b/config-model/src/test/derived/ranktypes/rank-profiles.cfg new file mode 100644 index 00000000000..aee11c0bbef --- /dev/null +++ b/config-model/src/test/derived/ranktypes/rank-profiles.cfg @@ -0,0 +1,79 @@ +rankprofile[0].name "default" +rankprofile[0].fef.property[0].name "nativeFieldMatch.firstOccurrenceTable.identity_literal" +rankprofile[0].fef.property[0].value "linear(0,0)" +rankprofile[0].fef.property[1].name "nativeFieldMatch.occurrenceCountTable.identity_literal" +rankprofile[0].fef.property[1].value "linear(0,0)" +rankprofile[0].fef.property[2].name "nativeProximity.proximityTable.identity_literal" +rankprofile[0].fef.property[2].value "linear(0,0)" +rankprofile[0].fef.property[3].name "nativeProximity.reverseProximityTable.identity_literal" +rankprofile[0].fef.property[3].value "linear(0,0)" +rankprofile[0].fef.property[4].name "nativeFieldMatch.firstOccurrenceTable.title" +rankprofile[0].fef.property[4].value "expdecay(100,12.50)" +rankprofile[0].fef.property[5].name "nativeFieldMatch.occurrenceCountTable.title" +rankprofile[0].fef.property[5].value "loggrowth(1500,4000,19)" +rankprofile[0].fef.property[6].name "nativeProximity.proximityTable.title" +rankprofile[0].fef.property[6].value "expdecay(5000,3)" +rankprofile[0].fef.property[7].name "nativeProximity.reverseProximityTable.title" +rankprofile[0].fef.property[7].value "expdecay(3000,3)" +rankprofile[0].fef.property[8].name "nativeFieldMatch.firstOccurrenceTable.descr" +rankprofile[0].fef.property[8].value "expdecay(8000,12.50)" +rankprofile[0].fef.property[9].name "nativeFieldMatch.occurrenceCountTable.descr" +rankprofile[0].fef.property[9].value "loggrowth(1500,4000,19)" +rankprofile[0].fef.property[10].name "nativeProximity.proximityTable.descr" +rankprofile[0].fef.property[10].value "expdecay(500,3)" +rankprofile[0].fef.property[11].name "nativeProximity.reverseProximityTable.descr" +rankprofile[0].fef.property[11].value "expdecay(400,3)" +rankprofile[0].fef.property[12].name "nativeFieldMatch.firstOccurrenceTable.keywords" +rankprofile[0].fef.property[12].value "expdecay(8000,12.50)" +rankprofile[0].fef.property[13].name "nativeFieldMatch.occurrenceCountTable.keywords" +rankprofile[0].fef.property[13].value "loggrowth(1500,4000,19)" +rankprofile[0].fef.property[14].name "nativeProximity.proximityTable.keywords" +rankprofile[0].fef.property[14].value "expdecay(500,3)" +rankprofile[0].fef.property[15].name "nativeProximity.reverseProximityTable.keywords" +rankprofile[0].fef.property[15].value "expdecay(400,3)" +rankprofile[0].fef.property[16].name "vespa.fieldweight.identity_literal" +rankprofile[0].fef.property[16].value "200" +rankprofile[1].name "unranked" +rankprofile[1].fef.property[0].name "vespa.rank.firstphase" +rankprofile[1].fef.property[0].value "value(0)" +rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize" +rankprofile[1].fef.property[1].value "0" +rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize" +rankprofile[1].fef.property[2].value "0" +rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures" +rankprofile[1].fef.property[3].value "true" +rankprofile[2].name "override" +rankprofile[2].fef.property[0].name "nativeFieldMatch.firstOccurrenceTable.descr" +rankprofile[2].fef.property[0].value "expdecay(100,12.50)" +rankprofile[2].fef.property[1].name "nativeFieldMatch.occurrenceCountTable.descr" +rankprofile[2].fef.property[1].value "loggrowth(1500,4000,19)" +rankprofile[2].fef.property[2].name "nativeProximity.proximityTable.descr" +rankprofile[2].fef.property[2].value "expdecay(5000,3)" +rankprofile[2].fef.property[3].name "nativeProximity.reverseProximityTable.descr" +rankprofile[2].fef.property[3].value "expdecay(3000,3)" +rankprofile[2].fef.property[4].name "nativeFieldMatch.firstOccurrenceTable.identity_literal" +rankprofile[2].fef.property[4].value "linear(0,0)" +rankprofile[2].fef.property[5].name "nativeFieldMatch.occurrenceCountTable.identity_literal" +rankprofile[2].fef.property[5].value "linear(0,0)" +rankprofile[2].fef.property[6].name "nativeProximity.proximityTable.identity_literal" +rankprofile[2].fef.property[6].value "linear(0,0)" +rankprofile[2].fef.property[7].name "nativeProximity.reverseProximityTable.identity_literal" +rankprofile[2].fef.property[7].value "linear(0,0)" +rankprofile[2].fef.property[8].name "nativeFieldMatch.firstOccurrenceTable.title" +rankprofile[2].fef.property[8].value "expdecay(100,12.50)" +rankprofile[2].fef.property[9].name "nativeFieldMatch.occurrenceCountTable.title" +rankprofile[2].fef.property[9].value "loggrowth(1500,4000,19)" +rankprofile[2].fef.property[10].name "nativeProximity.proximityTable.title" +rankprofile[2].fef.property[10].value "expdecay(5000,3)" +rankprofile[2].fef.property[11].name "nativeProximity.reverseProximityTable.title" +rankprofile[2].fef.property[11].value "expdecay(3000,3)" +rankprofile[2].fef.property[12].name "nativeFieldMatch.firstOccurrenceTable.keywords" +rankprofile[2].fef.property[12].value "expdecay(8000,12.50)" +rankprofile[2].fef.property[13].name "nativeFieldMatch.occurrenceCountTable.keywords" +rankprofile[2].fef.property[13].value "loggrowth(1500,4000,19)" +rankprofile[2].fef.property[14].name "nativeProximity.proximityTable.keywords" +rankprofile[2].fef.property[14].value "expdecay(500,3)" +rankprofile[2].fef.property[15].name "nativeProximity.reverseProximityTable.keywords" +rankprofile[2].fef.property[15].value "expdecay(400,3)" +rankprofile[2].fef.property[16].name "vespa.fieldweight.identity_literal" +rankprofile[2].fef.property[16].value "200"
\ No newline at end of file diff --git a/config-model/src/test/derived/ranktypes/ranktypes.sd b/config-model/src/test/derived/ranktypes/ranktypes.sd new file mode 100644 index 00000000000..e9fc8606e4c --- /dev/null +++ b/config-model/src/test/derived/ranktypes/ranktypes.sd @@ -0,0 +1,32 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search ranktypes { + + document ranktypes { + + field title type string { + indexing: summary | index + rank-type: identity + } + + field descr type string { + indexing: summary | index + rank-type: about + } + + field keywords type string { + indexing: index + rank-type: tags + } + + field identity type string { + indexing: index + rank: literal + } + + } + + rank-profile override inherits default { + rank-type descr: identity + } + +} diff --git a/config-model/src/test/derived/ranktypes/summary.cfg b/config-model/src/test/derived/ranktypes/summary.cfg new file mode 100644 index 00000000000..aaf8398b303 --- /dev/null +++ b/config-model/src/test/derived/ranktypes/summary.cfg @@ -0,0 +1,13 @@ +defaultsummaryid 1567556360 +classes[0].id 1567556360 +classes[0].name "default" +classes[0].fields[0].name "title" +classes[0].fields[0].type "longstring" +classes[0].fields[1].name "descr" +classes[0].fields[1].type "longstring" +classes[0].fields[2].name "rankfeatures" +classes[0].fields[2].type "featuredata" +classes[0].fields[3].name "summaryfeatures" +classes[0].fields[3].type "featuredata" +classes[0].fields[4].name "documentid" +classes[0].fields[4].type "longstring"
\ No newline at end of file diff --git a/config-model/src/test/derived/ranktypes/summarymap.cfg b/config-model/src/test/derived/ranktypes/summarymap.cfg new file mode 100644 index 00000000000..42b6e811ee6 --- /dev/null +++ b/config-model/src/test/derived/ranktypes/summarymap.cfg @@ -0,0 +1,7 @@ +defaultoutputclass -1 +override[0].field "rankfeatures" +override[0].command "rankfeatures" +override[0].arguments "" +override[1].field "summaryfeatures" +override[1].command "summaryfeatures" +override[1].arguments ""
\ No newline at end of file diff --git a/config-model/src/test/derived/reserved_position/reserved_position.sd b/config-model/src/test/derived/reserved_position/reserved_position.sd new file mode 100644 index 00000000000..bee62a646bf --- /dev/null +++ b/config-model/src/test/derived/reserved_position/reserved_position.sd @@ -0,0 +1,4 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search position { + document position { } +} diff --git a/config-model/src/test/derived/sorting/attributes.cfg b/config-model/src/test/derived/sorting/attributes.cfg new file mode 100644 index 00000000000..c65271c618a --- /dev/null +++ b/config-model/src/test/derived/sorting/attributes.cfg @@ -0,0 +1,57 @@ +attribute[0].name "syntaxcheck" +attribute[0].datatype STRING +attribute[0].collectiontype SINGLE +attribute[0].removeifzero false +attribute[0].createifnonexistent false +attribute[0].fastsearch false +attribute[0].huge false +attribute[0].sortascending false +attribute[0].sortfunction LOWERCASE +attribute[0].sortstrength IDENTICAL +attribute[0].sortlocale "en_US" +attribute[0].enablebitvectors false +attribute[0].enableonlybitvector false +attribute[0].fastaccess false +attribute[0].arity 8 +attribute[0].lowerbound -9223372036854775808 +attribute[0].upperbound 9223372036854775807 +attribute[0].densepostinglistthreshold 0.4 +attribute[0].tensortype "" +attribute[1].name "syntaxcheck2" +attribute[1].datatype STRING +attribute[1].collectiontype SINGLE +attribute[1].removeifzero false +attribute[1].createifnonexistent false +attribute[1].fastsearch false +attribute[1].huge false +attribute[1].sortascending false +attribute[1].sortfunction LOWERCASE +attribute[1].sortstrength IDENTICAL +attribute[1].sortlocale "en_US" +attribute[1].enablebitvectors false +attribute[1].enableonlybitvector false +attribute[1].fastaccess false +attribute[1].arity 8 +attribute[1].lowerbound -9223372036854775808 +attribute[1].upperbound 9223372036854775807 +attribute[1].densepostinglistthreshold 0.4 +attribute[1].tensortype "" +attribute[2].name "infieldonly" +attribute[2].datatype STRING +attribute[2].collectiontype SINGLE +attribute[2].removeifzero false +attribute[2].createifnonexistent false +attribute[2].fastsearch false +attribute[2].huge false +attribute[2].sortascending false +attribute[2].sortfunction LOWERCASE +attribute[2].sortstrength SECONDARY +attribute[2].sortlocale "en_US" +attribute[2].enablebitvectors false +attribute[2].enableonlybitvector false +attribute[2].fastaccess false +attribute[2].arity 8 +attribute[2].lowerbound -9223372036854775808 +attribute[2].upperbound 9223372036854775807 +attribute[2].densepostinglistthreshold 0.4 +attribute[2].tensortype ""
\ No newline at end of file diff --git a/config-model/src/test/derived/sorting/sorting.sd b/config-model/src/test/derived/sorting/sorting.sd new file mode 100644 index 00000000000..c67222a56ed --- /dev/null +++ b/config-model/src/test/derived/sorting/sorting.sd @@ -0,0 +1,53 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search sorting { + + document sorting { + + field syntaxcheck type string { + indexing: attribute + attribute { + sorting: ascending + sorting: descending + sorting: function: uca + sorting: function: raw + sorting: function: lowercase + sorting: strength: primary + sorting: strength: secondary + sorting: strength: tertiary + sorting: strength: quaternary + sorting: strength: identical + sorting: locale: en_US + } + } + + field syntaxcheck2 type string { + indexing: attribute + attribute { + sorting { + ascending + descending + function: uca + function: raw + function: lowercase + strength: primary + strength: secondary + strength: tertiary + strength: quaternary + strength: identical + locale: en_US + } + } + } + + field infieldonly type string { + indexing: attribute + sorting { + descending + function: lowercase + strength: secondary + locale: en_US + } + } + } + +} diff --git a/config-model/src/test/derived/streamingjuniper/streamingjuniper.sd b/config-model/src/test/derived/streamingjuniper/streamingjuniper.sd new file mode 100644 index 00000000000..b7fb367112a --- /dev/null +++ b/config-model/src/test/derived/streamingjuniper/streamingjuniper.sd @@ -0,0 +1,15 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search streamingjuniper { + document streamingjuniper { + field f1 type string { + indexing: index | summary + header + bolding: on + } + field f2 type string { + indexing: index | summary + header + summary: dynamic + } + } +} diff --git a/config-model/src/test/derived/streamingjuniper/vsmsummary.cfg b/config-model/src/test/derived/streamingjuniper/vsmsummary.cfg new file mode 100644 index 00000000000..939f3453e3b --- /dev/null +++ b/config-model/src/test/derived/streamingjuniper/vsmsummary.cfg @@ -0,0 +1,11 @@ +outputclass "" +fieldmap[0].summary "f1" +fieldmap[0].document[0].field "f1" +fieldmap[0].command FLATTENJUNIPER +fieldmap[1].summary "f2" +fieldmap[1].document[0].field "f2" +fieldmap[1].command FLATTENJUNIPER +fieldmap[2].summary "rankfeatures" +fieldmap[2].command NONE +fieldmap[3].summary "summaryfeatures" +fieldmap[3].command NONE
\ No newline at end of file diff --git a/config-model/src/test/derived/streamingstruct/documentmanager.cfg b/config-model/src/test/derived/streamingstruct/documentmanager.cfg new file mode 100644 index 00000000000..306f1102fb1 --- /dev/null +++ b/config-model/src/test/derived/streamingstruct/documentmanager.cfg @@ -0,0 +1,127 @@ +enablecompression false +datatype[0].id 1381038251 +datatype[0].structtype[0].name "position" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[0].structtype[0].field[0].name "x" +datatype[0].structtype[0].field[0].datatype 0 +datatype[0].structtype[0].field[1].name "y" +datatype[0].structtype[0].field[1].datatype 0 +datatype[1].id 105061838 +datatype[1].structtype[0].name "ns1" +datatype[1].structtype[0].version 0 +datatype[1].structtype[0].compresstype NONE +datatype[1].structtype[0].compresslevel 0 +datatype[1].structtype[0].compressthreshold 95 +datatype[1].structtype[0].compressminsize 800 +datatype[1].structtype[0].field[0].name "nf1" +datatype[1].structtype[0].field[0].datatype 3474528 +datatype[1].structtype[0].field[1].name "nf1s" +datatype[1].structtype[0].field[1].datatype 3474528 +datatype[1].structtype[0].field[2].name "nf2" +datatype[1].structtype[0].field[2].datatype 2 +datatype[2].id 3474528 +datatype[2].structtype[0].name "s1" +datatype[2].structtype[0].version 0 +datatype[2].structtype[0].compresstype NONE +datatype[2].structtype[0].compresslevel 0 +datatype[2].structtype[0].compressthreshold 95 +datatype[2].structtype[0].compressminsize 800 +datatype[2].structtype[0].field[0].name "f1" +datatype[2].structtype[0].field[0].datatype 2 +datatype[2].structtype[0].field[1].name "f1s" +datatype[2].structtype[0].field[1].datatype 2 +datatype[2].structtype[0].field[2].name "f2" +datatype[2].structtype[0].field[2].datatype 0 +datatype[2].structtype[0].field[3].name "f3" +datatype[2].structtype[0].field[3].datatype 5 +datatype[3].id -1497802371 +datatype[3].maptype[0].keytype 4 +datatype[3].maptype[0].valtype 2 +datatype[4].id -1425630723 +datatype[4].arraytype[0].datatype 3474528 +datatype[5].id 731395686 +datatype[5].structtype[0].name "streamingstruct.header" +datatype[5].structtype[0].version 0 +datatype[5].structtype[0].compresstype NONE +datatype[5].structtype[0].compresslevel 0 +datatype[5].structtype[0].compressthreshold 95 +datatype[5].structtype[0].compressminsize 800 +datatype[5].structtype[0].field[0].name "coupleof" +datatype[5].structtype[0].field[0].datatype 2 +datatype[5].structtype[0].field[1].name "normalfields" +datatype[5].structtype[0].field[1].datatype 2 +datatype[5].structtype[0].field[2].name "a" +datatype[5].structtype[0].field[2].datatype 3474528 +datatype[5].structtype[0].field[3].name "m" +datatype[5].structtype[0].field[3].datatype -1497802371 +datatype[5].structtype[0].field[4].name "b" +datatype[5].structtype[0].field[4].datatype 3474528 +datatype[5].structtype[0].field[5].name "c" +datatype[5].structtype[0].field[5].datatype 3474528 +datatype[5].structtype[0].field[6].name "c2" +datatype[5].structtype[0].field[6].datatype 3474528 +datatype[5].structtype[0].field[7].name "c3" +datatype[5].structtype[0].field[7].datatype 3474528 +datatype[5].structtype[0].field[8].name "n" +datatype[5].structtype[0].field[8].datatype 105061838 +datatype[5].structtype[0].field[9].name "array1" +datatype[5].structtype[0].field[9].datatype -1425630723 +datatype[5].structtype[0].field[10].name "array2" +datatype[5].structtype[0].field[10].datatype -1425630723 +datatype[5].structtype[0].field[11].name "array3" +datatype[5].structtype[0].field[11].datatype -1425630723 +datatype[5].structtype[0].field[12].name "subject" +datatype[5].structtype[0].field[12].datatype 3474528 +datatype[5].structtype[0].field[13].name "d" +datatype[5].structtype[0].field[13].datatype 3474528 +datatype[5].structtype[0].field[14].name "e" +datatype[5].structtype[0].field[14].datatype 3474528 +datatype[5].structtype[0].field[15].name "f" +datatype[5].structtype[0].field[15].datatype 3474528 +datatype[5].structtype[0].field[16].name "g" +datatype[5].structtype[0].field[16].datatype 2 +datatype[5].structtype[0].field[17].name "anothersummaryfield" +datatype[5].structtype[0].field[17].datatype 2 +datatype[5].structtype[0].field[18].name "rankfeatures" +datatype[5].structtype[0].field[18].datatype 2 +datatype[5].structtype[0].field[19].name "summaryfeatures" +datatype[5].structtype[0].field[19].datatype 2 +datatype[5].structtype[0].field[20].name "snippet" +datatype[5].structtype[0].field[20].datatype 2 +datatype[5].structtype[0].field[21].name "snippet2" +datatype[5].structtype[0].field[21].datatype 2 +datatype[6].id 1858438651 +datatype[6].structtype[0].name "streamingstruct.body" +datatype[6].structtype[0].version 0 +datatype[6].structtype[0].compresstype NONE +datatype[6].structtype[0].compresslevel 0 +datatype[6].structtype[0].compressthreshold 95 +datatype[6].structtype[0].compressminsize 800 +datatype[7].id 1433175737 +datatype[7].documenttype[0].name "streamingstruct" +datatype[7].documenttype[0].version 0 +datatype[7].documenttype[0].inherits[0].name "document" +datatype[7].documenttype[0].inherits[0].version 0 +datatype[7].documenttype[0].headerstruct 731395686 +datatype[7].documenttype[0].bodystruct 1858438651 +datatype[7].documenttype[0].fieldsets{[document]}.fields[0] "a" +datatype[7].documenttype[0].fieldsets{[document]}.fields[1] "array1" +datatype[7].documenttype[0].fieldsets{[document]}.fields[2] "array2" +datatype[7].documenttype[0].fieldsets{[document]}.fields[3] "array3" +datatype[7].documenttype[0].fieldsets{[document]}.fields[4] "b" +datatype[7].documenttype[0].fieldsets{[document]}.fields[5] "c" +datatype[7].documenttype[0].fieldsets{[document]}.fields[6] "c2" +datatype[7].documenttype[0].fieldsets{[document]}.fields[7] "c3" +datatype[7].documenttype[0].fieldsets{[document]}.fields[8] "coupleof" +datatype[7].documenttype[0].fieldsets{[document]}.fields[9] "d" +datatype[7].documenttype[0].fieldsets{[document]}.fields[10] "e" +datatype[7].documenttype[0].fieldsets{[document]}.fields[11] "f" +datatype[7].documenttype[0].fieldsets{[document]}.fields[12] "g" +datatype[7].documenttype[0].fieldsets{[document]}.fields[13] "m" +datatype[7].documenttype[0].fieldsets{[document]}.fields[14] "n" +datatype[7].documenttype[0].fieldsets{[document]}.fields[15] "normalfields" +datatype[7].documenttype[0].fieldsets{[document]}.fields[16] "subject" diff --git a/config-model/src/test/derived/streamingstruct/onlydoc/documentmanager.cfg b/config-model/src/test/derived/streamingstruct/onlydoc/documentmanager.cfg new file mode 100644 index 00000000000..fc9b0e315b8 --- /dev/null +++ b/config-model/src/test/derived/streamingstruct/onlydoc/documentmanager.cfg @@ -0,0 +1,100 @@ +enablecompression false +datatype[0].id 1381038251 +datatype[0].structtype[0].name "position" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[0].structtype[0].field[0].name "x" +datatype[0].structtype[0].field[0].datatype 0 +datatype[0].structtype[0].field[1].name "y" +datatype[0].structtype[0].field[1].datatype 0 +datatype[1].id 105061838 +datatype[1].structtype[0].name "ns1" +datatype[1].structtype[0].version 0 +datatype[1].structtype[0].compresstype NONE +datatype[1].structtype[0].compresslevel 0 +datatype[1].structtype[0].compressthreshold 95 +datatype[1].structtype[0].compressminsize 800 +datatype[1].structtype[0].field[0].name "nf1" +datatype[1].structtype[0].field[0].datatype 3474528 +datatype[1].structtype[0].field[1].name "nf1s" +datatype[1].structtype[0].field[1].datatype 3474528 +datatype[1].structtype[0].field[2].name "nf2" +datatype[1].structtype[0].field[2].datatype 2 +datatype[2].id 3474528 +datatype[2].structtype[0].name "s1" +datatype[2].structtype[0].version 0 +datatype[2].structtype[0].compresstype NONE +datatype[2].structtype[0].compresslevel 0 +datatype[2].structtype[0].compressthreshold 95 +datatype[2].structtype[0].compressminsize 800 +datatype[2].structtype[0].field[0].name "f1" +datatype[2].structtype[0].field[0].datatype 2 +datatype[2].structtype[0].field[1].name "f1s" +datatype[2].structtype[0].field[1].datatype 2 +datatype[2].structtype[0].field[2].name "f2" +datatype[2].structtype[0].field[2].datatype 0 +datatype[2].structtype[0].field[3].name "f3" +datatype[2].structtype[0].field[3].datatype 5 +datatype[3].id -1497802371 +datatype[3].maptype[0].keytype 4 +datatype[3].maptype[0].valtype 2 +datatype[4].id -1425630723 +datatype[4].arraytype[0].datatype 3474528 +datatype[5].id 731395686 +datatype[5].structtype[0].name "streamingstruct.header" +datatype[5].structtype[0].version 0 +datatype[5].structtype[0].compresstype NONE +datatype[5].structtype[0].compresslevel 0 +datatype[5].structtype[0].compressthreshold 95 +datatype[5].structtype[0].compressminsize 800 +datatype[5].structtype[0].field[0].name "coupleof" +datatype[5].structtype[0].field[0].datatype 2 +datatype[5].structtype[0].field[1].name "normalfields" +datatype[5].structtype[0].field[1].datatype 2 +datatype[5].structtype[0].field[2].name "a" +datatype[5].structtype[0].field[2].datatype 3474528 +datatype[5].structtype[0].field[3].name "m" +datatype[5].structtype[0].field[3].datatype -1497802371 +datatype[5].structtype[0].field[4].name "b" +datatype[5].structtype[0].field[4].datatype 3474528 +datatype[5].structtype[0].field[5].name "c" +datatype[5].structtype[0].field[5].datatype 3474528 +datatype[5].structtype[0].field[6].name "c2" +datatype[5].structtype[0].field[6].datatype 3474528 +datatype[5].structtype[0].field[7].name "c3" +datatype[5].structtype[0].field[7].datatype 3474528 +datatype[5].structtype[0].field[8].name "n" +datatype[5].structtype[0].field[8].datatype 105061838 +datatype[5].structtype[0].field[9].name "array1" +datatype[5].structtype[0].field[9].datatype -1425630723 +datatype[5].structtype[0].field[10].name "array2" +datatype[5].structtype[0].field[10].datatype -1425630723 +datatype[5].structtype[0].field[11].name "array3" +datatype[5].structtype[0].field[11].datatype -1425630723 +datatype[5].structtype[0].field[12].name "subject" +datatype[5].structtype[0].field[12].datatype 3474528 +datatype[5].structtype[0].field[13].name "d" +datatype[5].structtype[0].field[13].datatype 3474528 +datatype[5].structtype[0].field[14].name "e" +datatype[5].structtype[0].field[14].datatype 3474528 +datatype[5].structtype[0].field[15].name "f" +datatype[5].structtype[0].field[15].datatype 3474528 +datatype[5].structtype[0].field[16].name "g" +datatype[5].structtype[0].field[16].datatype 2 +datatype[6].id 1858438651 +datatype[6].structtype[0].name "streamingstruct.body" +datatype[6].structtype[0].version 0 +datatype[6].structtype[0].compresstype NONE +datatype[6].structtype[0].compresslevel 0 +datatype[6].structtype[0].compressthreshold 95 +datatype[6].structtype[0].compressminsize 800 +datatype[7].id 1433175737 +datatype[7].documenttype[0].name "streamingstruct" +datatype[7].documenttype[0].version 0 +datatype[7].documenttype[0].inherits[0].name "document" +datatype[7].documenttype[0].inherits[0].version 0 +datatype[7].documenttype[0].headerstruct 731395686 +datatype[7].documenttype[0].bodystruct 1858438651 diff --git a/config-model/src/test/derived/streamingstruct/streamingstruct.sd b/config-model/src/test/derived/streamingstruct/streamingstruct.sd new file mode 100644 index 00000000000..c90afef3e46 --- /dev/null +++ b/config-model/src/test/derived/streamingstruct/streamingstruct.sd @@ -0,0 +1,184 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search streamingstruct { + + document streamingstruct { + field coupleof type string { + indexing: index | summary + } + + field normalfields type string { + indexing: index | summary + summary anothersummaryfield { + source: normalfields + } + } + + struct s1 { + field f1 type string { } + field f1s type string { match: substring } + field f2 type int { } + field f3 type double { } + # Allow default matchtypes in struct. Can be overridden. + # No index/attribute related stuff. It is only a datatype definition. + } + struct ns1 { + field nf1 type s1 { } + field nf1s type s1 { match: substring } + field nf2 type string { } + # May specify nested structs. + } + + field a type s1 { + indexing: summary + # Will generate attribute a.f1, a.f1s, a.f2, a.f3 + # with datatypes preserved. + # No customisation. + # a will be a synonym for all (a.*) + } + field m type map<long, string> { + indexing: summary + # Will generate attribute m.key, m.value + # with datatypes preserved. + # m will be a synonym for all (m.*) + } + field b type s1 { + indexing: index | summary + # Will generate index b.f1, b.f1s, b.f2, b.f3 + # with datatypes preserved if backend allows. + # No customisation. + # b will be synonym for all (b.*). + } + field c type s1 { + struct-field f1 { + # Whatever you normally write in a field declaration + indexing: attribute | summary # -> Generates attribute c.f1 + } + struct-field f1s { + indexing: index | summary # -> c.f1s + match: prefix + } + struct-field f3 { + indexing: index | summary # -> c.f3 + } + # attribute c will be synonym for c.f1. + # Index c will be synonym for c.f1s OR c.f3. + # Indexed search can handle that however they want. + } + field c2 type s1 { + struct-field f1 { + # Whatever you normally write in a field declaration + indexing: attribute | summary # -> Generates attribute c2.f1 + } + struct-field f1s { + indexing: index | summary # -> c2.f1s + match: suffix + } + struct-field f2 { + indexing: index | summary # -> c2.f2 + } + struct-field f3 { + indexing: index | summary # -> c2.f3 + } + } + field c3 type s1 { + # Uses all sub fields, but not summary for all. + struct-field f1 { + indexing: attribute | summary + } + struct-field f1s { + indexing: index + match: prefix + } + struct-field f2 { + indexing: index | summary + } + struct-field f3 { + indexing: index | summary + } + } + field n type ns1 { + struct-field nf1 { + struct-field f1 { + indexing: index | summary + } + struct-field f1s { + indexing: index | summary + match: prefix + } + struct-field f3 { + indexing: index + } + } + struct-field nf1s { + indexing: index | summary + } + struct-field nf2 { + indexing: index | summary + } + # Will generate indexes n.nf1.f1, n.nf1.f1s, n.nf1.f3, + # n.nf1s.f1, n.nf1s.f1s, n.nf1s.f2, n.nf1s.f3 + # and n.nf2. + # n will be synonym for all 8, + # n.nf1 will be synonym for the first 3 and + # n.nf1s will be synonym for the next 4 + } + + field array1 type array<s1> { + indexing: summary + } + field array2 type array<s1> { + indexing: index | summary + } + field array3 type array<s1> { + struct-field f1 { + indexing: attribute | summary # -> Generates attribute array3.f1 + } + struct-field f1s { + indexing: index | summary # -> array3.f1s + match: prefix + } + struct-field f3 { + indexing: index | summary # -> array3.f3 + } + } + + field subject type s1 { + struct-field f1 { + indexing: summary + summary subject { + source:subject.f1 + } + } + } + field d type s1 { + indexing: index + # override matching for all subfields + match: prefix + } + field e type s1 { + indexing: index + # override matching for all subfields + match: substring + } + field f type s1 { + indexing: index + # override matching for all subfields + match: suffix + } + field g type string { + indexing: index | summary + summary: dynamic + } + } + + document-summary summ { + summary snippet type string { + dynamic + source: a.f1, b.f2 + } + summary snippet2 type string { + source: a.f1, b.f1, b.f2 + } + } + +} diff --git a/config-model/src/test/derived/streamingstruct/summary.cfg b/config-model/src/test/derived/streamingstruct/summary.cfg new file mode 100644 index 00000000000..9d722116850 --- /dev/null +++ b/config-model/src/test/derived/streamingstruct/summary.cfg @@ -0,0 +1,51 @@ +defaultsummaryid 569269436 +classes[0].id 569269436 +classes[0].name "default" +classes[0].fields[0].name "coupleof" +classes[0].fields[0].type "longstring" +classes[0].fields[1].name "anothersummaryfield" +classes[0].fields[1].type "longstring" +classes[0].fields[2].name "a" +classes[0].fields[2].type "jsonstring" +classes[0].fields[3].name "m" +classes[0].fields[3].type "jsonstring" +classes[0].fields[4].name "b" +classes[0].fields[4].type "jsonstring" +classes[0].fields[5].name "c" +classes[0].fields[5].type "jsonstring" +classes[0].fields[6].name "c2" +classes[0].fields[6].type "jsonstring" +classes[0].fields[7].name "c3" +classes[0].fields[7].type "jsonstring" +classes[0].fields[8].name "n" +classes[0].fields[8].type "jsonstring" +classes[0].fields[9].name "array1" +classes[0].fields[9].type "jsonstring" +classes[0].fields[10].name "array2" +classes[0].fields[10].type "jsonstring" +classes[0].fields[11].name "array3" +classes[0].fields[11].type "jsonstring" +classes[0].fields[12].name "subject" +classes[0].fields[12].type "jsonstring" +classes[0].fields[13].name "g" +classes[0].fields[13].type "longstring" +classes[0].fields[14].name "rankfeatures" +classes[0].fields[14].type "featuredata" +classes[0].fields[15].name "summaryfeatures" +classes[0].fields[15].type "featuredata" +classes[0].fields[16].name "snippet" +classes[0].fields[16].type "longstring" +classes[0].fields[17].name "snippet2" +classes[0].fields[17].type "longstring" +classes[0].fields[18].name "documentid" +classes[0].fields[18].type "longstring" +classes[1].id 109252281 +classes[1].name "summ" +classes[1].fields[0].name "snippet" +classes[1].fields[0].type "longstring" +classes[1].fields[1].name "snippet2" +classes[1].fields[1].type "longstring" +classes[1].fields[2].name "rankfeatures" +classes[1].fields[2].type "featuredata" +classes[1].fields[3].name "summaryfeatures" +classes[1].fields[3].type "featuredata"
\ No newline at end of file diff --git a/config-model/src/test/derived/streamingstruct/summarymap.cfg b/config-model/src/test/derived/streamingstruct/summarymap.cfg new file mode 100644 index 00000000000..1bf13ffa199 --- /dev/null +++ b/config-model/src/test/derived/streamingstruct/summarymap.cfg @@ -0,0 +1,13 @@ +defaultoutputclass -1 +override[0].field "snippet" +override[0].command "dynamicteaser" +override[0].arguments "snippet" +override[1].field "rankfeatures" +override[1].command "rankfeatures" +override[1].arguments "" +override[2].field "summaryfeatures" +override[2].command "summaryfeatures" +override[2].arguments "" +override[3].field "g" +override[3].command "dynamicteaser" +override[3].arguments "g"
\ No newline at end of file diff --git a/config-model/src/test/derived/streamingstruct/vsmfields.cfg b/config-model/src/test/derived/streamingstruct/vsmfields.cfg new file mode 100644 index 00000000000..abfd90820cc --- /dev/null +++ b/config-model/src/test/derived/streamingstruct/vsmfields.cfg @@ -0,0 +1,434 @@ +documentverificationlevel 0 +searchall 1 +fieldspec[0].name "coupleof" +fieldspec[0].searchmethod AUTOUTF8 +fieldspec[0].arg1 "" +fieldspec[0].maxlength 1048576 +fieldspec[0].fieldtype INDEX +fieldspec[1].name "normalfields" +fieldspec[1].searchmethod AUTOUTF8 +fieldspec[1].arg1 "" +fieldspec[1].maxlength 1048576 +fieldspec[1].fieldtype INDEX +fieldspec[2].name "a.f1" +fieldspec[2].searchmethod AUTOUTF8 +fieldspec[2].arg1 "" +fieldspec[2].maxlength 1048576 +fieldspec[2].fieldtype INDEX +fieldspec[3].name "a.f1s" +fieldspec[3].searchmethod AUTOUTF8 +fieldspec[3].arg1 "substring" +fieldspec[3].maxlength 1048576 +fieldspec[3].fieldtype INDEX +fieldspec[4].name "a.f2" +fieldspec[4].searchmethod INT32 +fieldspec[4].arg1 "" +fieldspec[4].maxlength 1048576 +fieldspec[4].fieldtype INDEX +fieldspec[5].name "a.f3" +fieldspec[5].searchmethod DOUBLE +fieldspec[5].arg1 "" +fieldspec[5].maxlength 1048576 +fieldspec[5].fieldtype INDEX +fieldspec[6].name "m.key" +fieldspec[6].searchmethod INT64 +fieldspec[6].arg1 "" +fieldspec[6].maxlength 1048576 +fieldspec[6].fieldtype INDEX +fieldspec[7].name "m.value" +fieldspec[7].searchmethod AUTOUTF8 +fieldspec[7].arg1 "" +fieldspec[7].maxlength 1048576 +fieldspec[7].fieldtype INDEX +fieldspec[8].name "b.f1" +fieldspec[8].searchmethod AUTOUTF8 +fieldspec[8].arg1 "" +fieldspec[8].maxlength 1048576 +fieldspec[8].fieldtype INDEX +fieldspec[9].name "b.f1s" +fieldspec[9].searchmethod AUTOUTF8 +fieldspec[9].arg1 "substring" +fieldspec[9].maxlength 1048576 +fieldspec[9].fieldtype INDEX +fieldspec[10].name "b.f2" +fieldspec[10].searchmethod INT32 +fieldspec[10].arg1 "" +fieldspec[10].maxlength 1048576 +fieldspec[10].fieldtype INDEX +fieldspec[11].name "b.f3" +fieldspec[11].searchmethod DOUBLE +fieldspec[11].arg1 "" +fieldspec[11].maxlength 1048576 +fieldspec[11].fieldtype INDEX +fieldspec[12].name "c.f1" +fieldspec[12].searchmethod AUTOUTF8 +fieldspec[12].arg1 "" +fieldspec[12].maxlength 1048576 +fieldspec[12].fieldtype ATTRIBUTE +fieldspec[13].name "c.f1s" +fieldspec[13].searchmethod AUTOUTF8 +fieldspec[13].arg1 "prefix" +fieldspec[13].maxlength 1048576 +fieldspec[13].fieldtype INDEX +fieldspec[14].name "c.f3" +fieldspec[14].searchmethod DOUBLE +fieldspec[14].arg1 "" +fieldspec[14].maxlength 1048576 +fieldspec[14].fieldtype INDEX +fieldspec[15].name "c2.f1" +fieldspec[15].searchmethod AUTOUTF8 +fieldspec[15].arg1 "" +fieldspec[15].maxlength 1048576 +fieldspec[15].fieldtype ATTRIBUTE +fieldspec[16].name "c2.f1s" +fieldspec[16].searchmethod AUTOUTF8 +fieldspec[16].arg1 "suffix" +fieldspec[16].maxlength 1048576 +fieldspec[16].fieldtype INDEX +fieldspec[17].name "c2.f2" +fieldspec[17].searchmethod INT32 +fieldspec[17].arg1 "" +fieldspec[17].maxlength 1048576 +fieldspec[17].fieldtype INDEX +fieldspec[18].name "c2.f3" +fieldspec[18].searchmethod DOUBLE +fieldspec[18].arg1 "" +fieldspec[18].maxlength 1048576 +fieldspec[18].fieldtype INDEX +fieldspec[19].name "c3.f1" +fieldspec[19].searchmethod AUTOUTF8 +fieldspec[19].arg1 "" +fieldspec[19].maxlength 1048576 +fieldspec[19].fieldtype ATTRIBUTE +fieldspec[20].name "c3.f1s" +fieldspec[20].searchmethod AUTOUTF8 +fieldspec[20].arg1 "prefix" +fieldspec[20].maxlength 1048576 +fieldspec[20].fieldtype INDEX +fieldspec[21].name "c3.f2" +fieldspec[21].searchmethod INT32 +fieldspec[21].arg1 "" +fieldspec[21].maxlength 1048576 +fieldspec[21].fieldtype INDEX +fieldspec[22].name "c3.f3" +fieldspec[22].searchmethod DOUBLE +fieldspec[22].arg1 "" +fieldspec[22].maxlength 1048576 +fieldspec[22].fieldtype INDEX +fieldspec[23].name "n.nf1.f1" +fieldspec[23].searchmethod AUTOUTF8 +fieldspec[23].arg1 "" +fieldspec[23].maxlength 1048576 +fieldspec[23].fieldtype INDEX +fieldspec[24].name "n.nf1.f1s" +fieldspec[24].searchmethod AUTOUTF8 +fieldspec[24].arg1 "prefix" +fieldspec[24].maxlength 1048576 +fieldspec[24].fieldtype INDEX +fieldspec[25].name "n.nf1.f3" +fieldspec[25].searchmethod DOUBLE +fieldspec[25].arg1 "" +fieldspec[25].maxlength 1048576 +fieldspec[25].fieldtype INDEX +fieldspec[26].name "n.nf1s.f1" +fieldspec[26].searchmethod AUTOUTF8 +fieldspec[26].arg1 "substring" +fieldspec[26].maxlength 1048576 +fieldspec[26].fieldtype INDEX +fieldspec[27].name "n.nf1s.f1s" +fieldspec[27].searchmethod AUTOUTF8 +fieldspec[27].arg1 "substring" +fieldspec[27].maxlength 1048576 +fieldspec[27].fieldtype INDEX +fieldspec[28].name "n.nf1s.f2" +fieldspec[28].searchmethod INT32 +fieldspec[28].arg1 "" +fieldspec[28].maxlength 1048576 +fieldspec[28].fieldtype INDEX +fieldspec[29].name "n.nf1s.f3" +fieldspec[29].searchmethod DOUBLE +fieldspec[29].arg1 "" +fieldspec[29].maxlength 1048576 +fieldspec[29].fieldtype INDEX +fieldspec[30].name "n.nf2" +fieldspec[30].searchmethod AUTOUTF8 +fieldspec[30].arg1 "" +fieldspec[30].maxlength 1048576 +fieldspec[30].fieldtype INDEX +fieldspec[31].name "array1.f1" +fieldspec[31].searchmethod AUTOUTF8 +fieldspec[31].arg1 "" +fieldspec[31].maxlength 1048576 +fieldspec[31].fieldtype INDEX +fieldspec[32].name "array1.f1s" +fieldspec[32].searchmethod AUTOUTF8 +fieldspec[32].arg1 "substring" +fieldspec[32].maxlength 1048576 +fieldspec[32].fieldtype INDEX +fieldspec[33].name "array1.f2" +fieldspec[33].searchmethod INT32 +fieldspec[33].arg1 "" +fieldspec[33].maxlength 1048576 +fieldspec[33].fieldtype INDEX +fieldspec[34].name "array1.f3" +fieldspec[34].searchmethod DOUBLE +fieldspec[34].arg1 "" +fieldspec[34].maxlength 1048576 +fieldspec[34].fieldtype INDEX +fieldspec[35].name "array2.f1" +fieldspec[35].searchmethod AUTOUTF8 +fieldspec[35].arg1 "" +fieldspec[35].maxlength 1048576 +fieldspec[35].fieldtype INDEX +fieldspec[36].name "array2.f1s" +fieldspec[36].searchmethod AUTOUTF8 +fieldspec[36].arg1 "substring" +fieldspec[36].maxlength 1048576 +fieldspec[36].fieldtype INDEX +fieldspec[37].name "array2.f2" +fieldspec[37].searchmethod INT32 +fieldspec[37].arg1 "" +fieldspec[37].maxlength 1048576 +fieldspec[37].fieldtype INDEX +fieldspec[38].name "array2.f3" +fieldspec[38].searchmethod DOUBLE +fieldspec[38].arg1 "" +fieldspec[38].maxlength 1048576 +fieldspec[38].fieldtype INDEX +fieldspec[39].name "array3.f1" +fieldspec[39].searchmethod AUTOUTF8 +fieldspec[39].arg1 "" +fieldspec[39].maxlength 1048576 +fieldspec[39].fieldtype ATTRIBUTE +fieldspec[40].name "array3.f1s" +fieldspec[40].searchmethod AUTOUTF8 +fieldspec[40].arg1 "prefix" +fieldspec[40].maxlength 1048576 +fieldspec[40].fieldtype INDEX +fieldspec[41].name "array3.f3" +fieldspec[41].searchmethod DOUBLE +fieldspec[41].arg1 "" +fieldspec[41].maxlength 1048576 +fieldspec[41].fieldtype INDEX +fieldspec[42].name "subject.f1" +fieldspec[42].searchmethod AUTOUTF8 +fieldspec[42].arg1 "" +fieldspec[42].maxlength 1048576 +fieldspec[42].fieldtype INDEX +fieldspec[43].name "d.f1" +fieldspec[43].searchmethod AUTOUTF8 +fieldspec[43].arg1 "prefix" +fieldspec[43].maxlength 1048576 +fieldspec[43].fieldtype INDEX +fieldspec[44].name "d.f1s" +fieldspec[44].searchmethod AUTOUTF8 +fieldspec[44].arg1 "prefix" +fieldspec[44].maxlength 1048576 +fieldspec[44].fieldtype INDEX +fieldspec[45].name "d.f2" +fieldspec[45].searchmethod INT32 +fieldspec[45].arg1 "" +fieldspec[45].maxlength 1048576 +fieldspec[45].fieldtype INDEX +fieldspec[46].name "d.f3" +fieldspec[46].searchmethod DOUBLE +fieldspec[46].arg1 "" +fieldspec[46].maxlength 1048576 +fieldspec[46].fieldtype INDEX +fieldspec[47].name "e.f1" +fieldspec[47].searchmethod AUTOUTF8 +fieldspec[47].arg1 "substring" +fieldspec[47].maxlength 1048576 +fieldspec[47].fieldtype INDEX +fieldspec[48].name "e.f1s" +fieldspec[48].searchmethod AUTOUTF8 +fieldspec[48].arg1 "substring" +fieldspec[48].maxlength 1048576 +fieldspec[48].fieldtype INDEX +fieldspec[49].name "e.f2" +fieldspec[49].searchmethod INT32 +fieldspec[49].arg1 "" +fieldspec[49].maxlength 1048576 +fieldspec[49].fieldtype INDEX +fieldspec[50].name "e.f3" +fieldspec[50].searchmethod DOUBLE +fieldspec[50].arg1 "" +fieldspec[50].maxlength 1048576 +fieldspec[50].fieldtype INDEX +fieldspec[51].name "f.f1" +fieldspec[51].searchmethod AUTOUTF8 +fieldspec[51].arg1 "suffix" +fieldspec[51].maxlength 1048576 +fieldspec[51].fieldtype INDEX +fieldspec[52].name "f.f1s" +fieldspec[52].searchmethod AUTOUTF8 +fieldspec[52].arg1 "suffix" +fieldspec[52].maxlength 1048576 +fieldspec[52].fieldtype INDEX +fieldspec[53].name "f.f2" +fieldspec[53].searchmethod INT32 +fieldspec[53].arg1 "" +fieldspec[53].maxlength 1048576 +fieldspec[53].fieldtype INDEX +fieldspec[54].name "f.f3" +fieldspec[54].searchmethod DOUBLE +fieldspec[54].arg1 "" +fieldspec[54].maxlength 1048576 +fieldspec[54].fieldtype INDEX +fieldspec[55].name "g" +fieldspec[55].searchmethod AUTOUTF8 +fieldspec[55].arg1 "" +fieldspec[55].maxlength 1048576 +fieldspec[55].fieldtype INDEX +documenttype[0].name "streamingstruct" +documenttype[0].index[0].name "coupleof" +documenttype[0].index[0].field[0].name "coupleof" +documenttype[0].index[1].name "normalfields" +documenttype[0].index[1].field[0].name "normalfields" +documenttype[0].index[2].name "b" +documenttype[0].index[2].field[0].name "b.f1" +documenttype[0].index[2].field[1].name "b.f1s" +documenttype[0].index[2].field[2].name "b.f2" +documenttype[0].index[2].field[3].name "b.f3" +documenttype[0].index[3].name "b.f1" +documenttype[0].index[3].field[0].name "b.f1" +documenttype[0].index[4].name "b.f1s" +documenttype[0].index[4].field[0].name "b.f1s" +documenttype[0].index[5].name "b.f2" +documenttype[0].index[5].field[0].name "b.f2" +documenttype[0].index[6].name "b.f3" +documenttype[0].index[6].field[0].name "b.f3" +documenttype[0].index[7].name "c" +documenttype[0].index[7].field[0].name "c.f1" +documenttype[0].index[7].field[1].name "c.f1s" +documenttype[0].index[7].field[2].name "c.f3" +documenttype[0].index[8].name "c.f1" +documenttype[0].index[8].field[0].name "c.f1" +documenttype[0].index[9].name "c.f1s" +documenttype[0].index[9].field[0].name "c.f1s" +documenttype[0].index[10].name "c.f3" +documenttype[0].index[10].field[0].name "c.f3" +documenttype[0].index[11].name "c2" +documenttype[0].index[11].field[0].name "c2.f1" +documenttype[0].index[11].field[1].name "c2.f1s" +documenttype[0].index[11].field[2].name "c2.f2" +documenttype[0].index[11].field[3].name "c2.f3" +documenttype[0].index[12].name "c2.f1" +documenttype[0].index[12].field[0].name "c2.f1" +documenttype[0].index[13].name "c2.f1s" +documenttype[0].index[13].field[0].name "c2.f1s" +documenttype[0].index[14].name "c2.f2" +documenttype[0].index[14].field[0].name "c2.f2" +documenttype[0].index[15].name "c2.f3" +documenttype[0].index[15].field[0].name "c2.f3" +documenttype[0].index[16].name "c3" +documenttype[0].index[16].field[0].name "c3.f1" +documenttype[0].index[16].field[1].name "c3.f1s" +documenttype[0].index[16].field[2].name "c3.f2" +documenttype[0].index[16].field[3].name "c3.f3" +documenttype[0].index[17].name "c3.f1" +documenttype[0].index[17].field[0].name "c3.f1" +documenttype[0].index[18].name "c3.f1s" +documenttype[0].index[18].field[0].name "c3.f1s" +documenttype[0].index[19].name "c3.f2" +documenttype[0].index[19].field[0].name "c3.f2" +documenttype[0].index[20].name "c3.f3" +documenttype[0].index[20].field[0].name "c3.f3" +documenttype[0].index[21].name "n" +documenttype[0].index[21].field[0].name "n.nf1.f1" +documenttype[0].index[21].field[1].name "n.nf1.f1s" +documenttype[0].index[21].field[2].name "n.nf1.f3" +documenttype[0].index[21].field[3].name "n.nf1s.f1" +documenttype[0].index[21].field[4].name "n.nf1s.f1s" +documenttype[0].index[21].field[5].name "n.nf1s.f2" +documenttype[0].index[21].field[6].name "n.nf1s.f3" +documenttype[0].index[21].field[7].name "n.nf2" +documenttype[0].index[22].name "n.nf1" +documenttype[0].index[22].field[0].name "n.nf1.f1" +documenttype[0].index[22].field[1].name "n.nf1.f1s" +documenttype[0].index[22].field[2].name "n.nf1.f3" +documenttype[0].index[23].name "n.nf1.f1" +documenttype[0].index[23].field[0].name "n.nf1.f1" +documenttype[0].index[24].name "n.nf1.f1s" +documenttype[0].index[24].field[0].name "n.nf1.f1s" +documenttype[0].index[25].name "n.nf1.f3" +documenttype[0].index[25].field[0].name "n.nf1.f3" +documenttype[0].index[26].name "n.nf1s" +documenttype[0].index[26].field[0].name "n.nf1s.f1" +documenttype[0].index[26].field[1].name "n.nf1s.f1s" +documenttype[0].index[26].field[2].name "n.nf1s.f2" +documenttype[0].index[26].field[3].name "n.nf1s.f3" +documenttype[0].index[27].name "n.nf1s.f1" +documenttype[0].index[27].field[0].name "n.nf1s.f1" +documenttype[0].index[28].name "n.nf1s.f1s" +documenttype[0].index[28].field[0].name "n.nf1s.f1s" +documenttype[0].index[29].name "n.nf1s.f2" +documenttype[0].index[29].field[0].name "n.nf1s.f2" +documenttype[0].index[30].name "n.nf1s.f3" +documenttype[0].index[30].field[0].name "n.nf1s.f3" +documenttype[0].index[31].name "n.nf2" +documenttype[0].index[31].field[0].name "n.nf2" +documenttype[0].index[32].name "array2" +documenttype[0].index[32].field[0].name "array2.f1" +documenttype[0].index[32].field[1].name "array2.f1s" +documenttype[0].index[32].field[2].name "array2.f2" +documenttype[0].index[32].field[3].name "array2.f3" +documenttype[0].index[33].name "array2.f1" +documenttype[0].index[33].field[0].name "array2.f1" +documenttype[0].index[34].name "array2.f1s" +documenttype[0].index[34].field[0].name "array2.f1s" +documenttype[0].index[35].name "array2.f2" +documenttype[0].index[35].field[0].name "array2.f2" +documenttype[0].index[36].name "array2.f3" +documenttype[0].index[36].field[0].name "array2.f3" +documenttype[0].index[37].name "array3" +documenttype[0].index[37].field[0].name "array3.f1" +documenttype[0].index[37].field[1].name "array3.f1s" +documenttype[0].index[37].field[2].name "array3.f3" +documenttype[0].index[38].name "array3.f1" +documenttype[0].index[38].field[0].name "array3.f1" +documenttype[0].index[39].name "array3.f1s" +documenttype[0].index[39].field[0].name "array3.f1s" +documenttype[0].index[40].name "array3.f3" +documenttype[0].index[40].field[0].name "array3.f3" +documenttype[0].index[41].name "d" +documenttype[0].index[41].field[0].name "d.f1" +documenttype[0].index[41].field[1].name "d.f1s" +documenttype[0].index[41].field[2].name "d.f2" +documenttype[0].index[41].field[3].name "d.f3" +documenttype[0].index[42].name "d.f1" +documenttype[0].index[42].field[0].name "d.f1" +documenttype[0].index[43].name "d.f1s" +documenttype[0].index[43].field[0].name "d.f1s" +documenttype[0].index[44].name "d.f2" +documenttype[0].index[44].field[0].name "d.f2" +documenttype[0].index[45].name "d.f3" +documenttype[0].index[45].field[0].name "d.f3" +documenttype[0].index[46].name "e" +documenttype[0].index[46].field[0].name "e.f1" +documenttype[0].index[46].field[1].name "e.f1s" +documenttype[0].index[46].field[2].name "e.f2" +documenttype[0].index[46].field[3].name "e.f3" +documenttype[0].index[47].name "e.f1" +documenttype[0].index[47].field[0].name "e.f1" +documenttype[0].index[48].name "e.f1s" +documenttype[0].index[48].field[0].name "e.f1s" +documenttype[0].index[49].name "e.f2" +documenttype[0].index[49].field[0].name "e.f2" +documenttype[0].index[50].name "e.f3" +documenttype[0].index[50].field[0].name "e.f3" +documenttype[0].index[51].name "f" +documenttype[0].index[51].field[0].name "f.f1" +documenttype[0].index[51].field[1].name "f.f1s" +documenttype[0].index[51].field[2].name "f.f2" +documenttype[0].index[51].field[3].name "f.f3" +documenttype[0].index[52].name "f.f1" +documenttype[0].index[52].field[0].name "f.f1" +documenttype[0].index[53].name "f.f1s" +documenttype[0].index[53].field[0].name "f.f1s" +documenttype[0].index[54].name "f.f2" +documenttype[0].index[54].field[0].name "f.f2" +documenttype[0].index[55].name "f.f3" +documenttype[0].index[55].field[0].name "f.f3" +documenttype[0].index[56].name "g" +documenttype[0].index[56].field[0].name "g"
\ No newline at end of file diff --git a/config-model/src/test/derived/streamingstruct/vsmsummary.cfg b/config-model/src/test/derived/streamingstruct/vsmsummary.cfg new file mode 100644 index 00000000000..b7a75932f5c --- /dev/null +++ b/config-model/src/test/derived/streamingstruct/vsmsummary.cfg @@ -0,0 +1,83 @@ +outputclass "" +fieldmap[0].summary "coupleof" +fieldmap[0].document[0].field "coupleof" +fieldmap[0].command NONE +fieldmap[1].summary "anothersummaryfield" +fieldmap[1].document[0].field "normalfields" +fieldmap[1].command NONE +fieldmap[2].summary "a" +fieldmap[2].document[0].field "a.f1" +fieldmap[2].document[1].field "a.f1s" +fieldmap[2].document[2].field "a.f2" +fieldmap[2].document[3].field "a.f3" +fieldmap[2].command NONE +fieldmap[3].summary "m" +fieldmap[3].document[0].field "m" +fieldmap[3].command NONE +fieldmap[4].summary "b" +fieldmap[4].document[0].field "b.f1" +fieldmap[4].document[1].field "b.f1s" +fieldmap[4].document[2].field "b.f2" +fieldmap[4].document[3].field "b.f3" +fieldmap[4].command NONE +fieldmap[5].summary "c" +fieldmap[5].document[0].field "c.f1" +fieldmap[5].document[1].field "c.f1s" +fieldmap[5].document[2].field "c.f3" +fieldmap[5].command NONE +fieldmap[6].summary "c2" +fieldmap[6].document[0].field "c2.f1" +fieldmap[6].document[1].field "c2.f1s" +fieldmap[6].document[2].field "c2.f2" +fieldmap[6].document[3].field "c2.f3" +fieldmap[6].command NONE +fieldmap[7].summary "c3" +fieldmap[7].document[0].field "c3.f1" +fieldmap[7].document[1].field "c3.f2" +fieldmap[7].document[2].field "c3.f3" +fieldmap[7].command NONE +fieldmap[8].summary "n" +fieldmap[8].document[0].field "n.nf1.f1" +fieldmap[8].document[1].field "n.nf1.f1s" +fieldmap[8].document[2].field "n.nf1s.f1" +fieldmap[8].document[3].field "n.nf1s.f1s" +fieldmap[8].document[4].field "n.nf1s.f2" +fieldmap[8].document[5].field "n.nf1s.f3" +fieldmap[8].document[6].field "n.nf2" +fieldmap[8].command NONE +fieldmap[9].summary "array1" +fieldmap[9].document[0].field "array1.f1" +fieldmap[9].document[1].field "array1.f1s" +fieldmap[9].document[2].field "array1.f2" +fieldmap[9].document[3].field "array1.f3" +fieldmap[9].command NONE +fieldmap[10].summary "array2" +fieldmap[10].document[0].field "array2.f1" +fieldmap[10].document[1].field "array2.f1s" +fieldmap[10].document[2].field "array2.f2" +fieldmap[10].document[3].field "array2.f3" +fieldmap[10].command NONE +fieldmap[11].summary "array3" +fieldmap[11].document[0].field "array3.f1" +fieldmap[11].document[1].field "array3.f1s" +fieldmap[11].document[2].field "array3.f3" +fieldmap[11].command NONE +fieldmap[12].summary "subject" +fieldmap[12].document[0].field "subject.f1" +fieldmap[12].command NONE +fieldmap[13].summary "g" +fieldmap[13].document[0].field "g" +fieldmap[13].command FLATTENJUNIPER +fieldmap[14].summary "rankfeatures" +fieldmap[14].command NONE +fieldmap[15].summary "summaryfeatures" +fieldmap[15].command NONE +fieldmap[16].summary "snippet" +fieldmap[16].document[0].field "a.f1" +fieldmap[16].document[1].field "b.f2" +fieldmap[16].command FLATTENJUNIPER +fieldmap[17].summary "snippet2" +fieldmap[17].document[0].field "a.f1" +fieldmap[17].document[1].field "b.f1" +fieldmap[17].document[2].field "b.f2" +fieldmap[17].command FLATTENSPACE
\ No newline at end of file diff --git a/config-model/src/test/derived/streamingstructdefault/streamingstructdefault.sd b/config-model/src/test/derived/streamingstructdefault/streamingstructdefault.sd new file mode 100644 index 00000000000..5b2c3cc5598 --- /dev/null +++ b/config-model/src/test/derived/streamingstructdefault/streamingstructdefault.sd @@ -0,0 +1,24 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search streamingstructdefault { + document streamingstructdefault { + struct sct { + field s1 type string {} + field s2 type string {} + } + field f1 type array<string> { + indexing: index | summary + summary-to: default + header + } + field f2 type array<sct> { + indexing: index | summary + header + } + } + document-summary default { + summary sum1 type string { + source: f1, f2.s1 + dynamic + } + } +} diff --git a/config-model/src/test/derived/streamingstructdefault/summary.cfg b/config-model/src/test/derived/streamingstructdefault/summary.cfg new file mode 100644 index 00000000000..288de48b11d --- /dev/null +++ b/config-model/src/test/derived/streamingstructdefault/summary.cfg @@ -0,0 +1,15 @@ +defaultsummaryid 718801936 +classes[0].id 718801936 +classes[0].name "default" +classes[0].fields[0].name "sum1" +classes[0].fields[0].type "longstring" +classes[0].fields[1].name "f1" +classes[0].fields[1].type "jsonstring" +classes[0].fields[2].name "f2" +classes[0].fields[2].type "jsonstring" +classes[0].fields[3].name "rankfeatures" +classes[0].fields[3].type "featuredata" +classes[0].fields[4].name "summaryfeatures" +classes[0].fields[4].type "featuredata" +classes[0].fields[5].name "documentid" +classes[0].fields[5].type "longstring"
\ No newline at end of file diff --git a/config-model/src/test/derived/structanyorder/documentmanager.cfg b/config-model/src/test/derived/structanyorder/documentmanager.cfg new file mode 100755 index 00000000000..dc56ed1cfc9 --- /dev/null +++ b/config-model/src/test/derived/structanyorder/documentmanager.cfg @@ -0,0 +1,83 @@ +enablecompression false +datatype[0].id 1381038251 +datatype[0].structtype[0].name "position" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[0].structtype[0].field[0].name "x" +datatype[0].structtype[0].field[0].datatype 0 +datatype[0].structtype[0].field[1].name "y" +datatype[0].structtype[0].field[1].datatype 0 +datatype[1].id 109267174 +datatype[1].structtype[0].name "sct" +datatype[1].structtype[0].version 0 +datatype[1].structtype[0].compresstype NONE +datatype[1].structtype[0].compresslevel 0 +datatype[1].structtype[0].compressthreshold 95 +datatype[1].structtype[0].compressminsize 800 +datatype[1].structtype[0].field[0].name "s1" +datatype[1].structtype[0].field[0].datatype 2 +datatype[1].structtype[0].field[1].name "s2" +datatype[1].structtype[0].field[1].datatype 2 +datatype[1].structtype[0].field[2].name "s3" +datatype[1].structtype[0].field[2].datatype 109267174 +datatype[1].structtype[0].field[3].name "s4" +datatype[1].structtype[0].field[3].datatype 97614088 +datatype[2].id 97614088 +datatype[2].structtype[0].name "foo" +datatype[2].structtype[0].version 0 +datatype[2].structtype[0].compresstype NONE +datatype[2].structtype[0].compresslevel 0 +datatype[2].structtype[0].compressthreshold 95 +datatype[2].structtype[0].compressminsize 800 +datatype[2].structtype[0].field[0].name "s1" +datatype[2].structtype[0].field[0].datatype 0 +datatype[3].id 517946310 +datatype[3].structtype[0].name "annotation.banana" +datatype[3].structtype[0].version 0 +datatype[3].structtype[0].compresstype NONE +datatype[3].structtype[0].compresslevel 0 +datatype[3].structtype[0].compressthreshold 95 +datatype[3].structtype[0].compressminsize 800 +datatype[3].structtype[0].field[0].name "b" +datatype[3].structtype[0].field[0].datatype 109267174 +datatype[3].structtype[0].field[1].name "c" +datatype[3].structtype[0].field[1].datatype 97614088 +datatype[4].id -1244829667 +datatype[4].arraytype[0].datatype 109267174 +datatype[5].id -364910881 +datatype[5].structtype[0].name "annotationsimplicitstruct.header" +datatype[5].structtype[0].version 0 +datatype[5].structtype[0].compresstype NONE +datatype[5].structtype[0].compresslevel 0 +datatype[5].structtype[0].compressthreshold 95 +datatype[5].structtype[0].compressminsize 800 +datatype[5].structtype[0].field[0].name "structfield" +datatype[5].structtype[0].field[0].datatype 109267174 +datatype[5].structtype[0].field[1].name "structarrayfield" +datatype[5].structtype[0].field[1].datatype -1244829667 +datatype[5].structtype[0].field[2].name "rankfeatures" +datatype[5].structtype[0].field[2].datatype 2 +datatype[5].structtype[0].field[3].name "summaryfeatures" +datatype[5].structtype[0].field[3].datatype 2 +datatype[6].id -1503592268 +datatype[6].structtype[0].name "annotationsimplicitstruct.body" +datatype[6].structtype[0].version 0 +datatype[6].structtype[0].compresstype NONE +datatype[6].structtype[0].compresslevel 0 +datatype[6].structtype[0].compressthreshold 95 +datatype[6].structtype[0].compressminsize 800 +datatype[7].id -2099544992 +datatype[7].documenttype[0].name "annotationsimplicitstruct" +datatype[7].documenttype[0].version 0 +datatype[7].documenttype[0].inherits[0].name "document" +datatype[7].documenttype[0].inherits[0].version 0 +datatype[7].documenttype[0].headerstruct -364910881 +datatype[7].documenttype[0].bodystruct -1503592268 +datatype[7].documenttype[0].fieldsets{[document]}.fields[0] "structarrayfield" +datatype[7].documenttype[0].fieldsets{[document]}.fields[1] "structfield" +annotationtype[0].id -269517759 +annotationtype[0].name "banana" +annotationtype[0].datatype 517946310 diff --git a/config-model/src/test/derived/structanyorder/ilscripts.cfg b/config-model/src/test/derived/structanyorder/ilscripts.cfg new file mode 100644 index 00000000000..b86571ce666 --- /dev/null +++ b/config-model/src/test/derived/structanyorder/ilscripts.cfg @@ -0,0 +1,6 @@ +maxtermoccurrences 100 +ilscript[0].doctype "annotationsimplicitstruct" +ilscript[0].docfield[0] "structfield" +ilscript[0].docfield[1] "structarrayfield" +ilscript[0].content[0] "input structarrayfield | passthrough structarrayfield" +ilscript[0].content[1] "input structfield | passthrough structfield"
\ No newline at end of file diff --git a/config-model/src/test/derived/structanyorder/index-info.cfg b/config-model/src/test/derived/structanyorder/index-info.cfg new file mode 100755 index 00000000000..d62288df458 --- /dev/null +++ b/config-model/src/test/derived/structanyorder/index-info.cfg @@ -0,0 +1,247 @@ +indexinfo[0].name "annotationsimplicitstruct" +indexinfo[0].command[0].indexname "sddocname" +indexinfo[0].command[0].command "index" +indexinfo[0].command[1].indexname "sddocname" +indexinfo[0].command[1].command "word" +indexinfo[0].command[2].indexname "structfield.s1" +indexinfo[0].command[2].command "index" +indexinfo[0].command[3].indexname "structfield.s2" +indexinfo[0].command[3].command "index" +indexinfo[0].command[4].indexname "structfield.s3.s1" +indexinfo[0].command[4].command "index" +indexinfo[0].command[5].indexname "structfield.s3.s2" +indexinfo[0].command[5].command "index" +indexinfo[0].command[6].indexname "structfield.s3.s3.s1" +indexinfo[0].command[6].command "index" +indexinfo[0].command[7].indexname "structfield.s3.s3.s2" +indexinfo[0].command[7].command "index" +indexinfo[0].command[8].indexname "structfield.s3.s3.s3.s1" +indexinfo[0].command[8].command "index" +indexinfo[0].command[9].indexname "structfield.s3.s3.s3.s2" +indexinfo[0].command[9].command "index" +indexinfo[0].command[10].indexname "structfield.s3.s3.s3.s3.s1" +indexinfo[0].command[10].command "index" +indexinfo[0].command[11].indexname "structfield.s3.s3.s3.s3.s2" +indexinfo[0].command[11].command "index" +indexinfo[0].command[12].indexname "structfield.s3.s3.s3.s3.s3.s1" +indexinfo[0].command[12].command "index" +indexinfo[0].command[13].indexname "structfield.s3.s3.s3.s3.s3.s2" +indexinfo[0].command[13].command "index" +indexinfo[0].command[14].indexname "structfield.s3.s3.s3.s3.s3.s3.s1" +indexinfo[0].command[14].command "index" +indexinfo[0].command[15].indexname "structfield.s3.s3.s3.s3.s3.s3.s2" +indexinfo[0].command[15].command "index" +indexinfo[0].command[16].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s1" +indexinfo[0].command[16].command "index" +indexinfo[0].command[17].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s2" +indexinfo[0].command[17].command "index" +indexinfo[0].command[18].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s1" +indexinfo[0].command[18].command "index" +indexinfo[0].command[19].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s2" +indexinfo[0].command[19].command "index" +indexinfo[0].command[20].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s1" +indexinfo[0].command[20].command "index" +indexinfo[0].command[21].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s2" +indexinfo[0].command[21].command "index" +indexinfo[0].command[22].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s3" +indexinfo[0].command[22].command "index" +indexinfo[0].command[23].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s4" +indexinfo[0].command[23].command "index" +indexinfo[0].command[24].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s3" +indexinfo[0].command[24].command "index" +indexinfo[0].command[25].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s4.s1" +indexinfo[0].command[25].command "index" +indexinfo[0].command[26].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s4.s1" +indexinfo[0].command[26].command "numerical" +indexinfo[0].command[27].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s4" +indexinfo[0].command[27].command "index" +indexinfo[0].command[28].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3" +indexinfo[0].command[28].command "index" +indexinfo[0].command[29].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s4.s1" +indexinfo[0].command[29].command "index" +indexinfo[0].command[30].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s4.s1" +indexinfo[0].command[30].command "numerical" +indexinfo[0].command[31].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s4" +indexinfo[0].command[31].command "index" +indexinfo[0].command[32].indexname "structfield.s3.s3.s3.s3.s3.s3.s3" +indexinfo[0].command[32].command "index" +indexinfo[0].command[33].indexname "structfield.s3.s3.s3.s3.s3.s3.s4.s1" +indexinfo[0].command[33].command "index" +indexinfo[0].command[34].indexname "structfield.s3.s3.s3.s3.s3.s3.s4.s1" +indexinfo[0].command[34].command "numerical" +indexinfo[0].command[35].indexname "structfield.s3.s3.s3.s3.s3.s3.s4" +indexinfo[0].command[35].command "index" +indexinfo[0].command[36].indexname "structfield.s3.s3.s3.s3.s3.s3" +indexinfo[0].command[36].command "index" +indexinfo[0].command[37].indexname "structfield.s3.s3.s3.s3.s3.s4.s1" +indexinfo[0].command[37].command "index" +indexinfo[0].command[38].indexname "structfield.s3.s3.s3.s3.s3.s4.s1" +indexinfo[0].command[38].command "numerical" +indexinfo[0].command[39].indexname "structfield.s3.s3.s3.s3.s3.s4" +indexinfo[0].command[39].command "index" +indexinfo[0].command[40].indexname "structfield.s3.s3.s3.s3.s3" +indexinfo[0].command[40].command "index" +indexinfo[0].command[41].indexname "structfield.s3.s3.s3.s3.s4.s1" +indexinfo[0].command[41].command "index" +indexinfo[0].command[42].indexname "structfield.s3.s3.s3.s3.s4.s1" +indexinfo[0].command[42].command "numerical" +indexinfo[0].command[43].indexname "structfield.s3.s3.s3.s3.s4" +indexinfo[0].command[43].command "index" +indexinfo[0].command[44].indexname "structfield.s3.s3.s3.s3" +indexinfo[0].command[44].command "index" +indexinfo[0].command[45].indexname "structfield.s3.s3.s3.s4.s1" +indexinfo[0].command[45].command "index" +indexinfo[0].command[46].indexname "structfield.s3.s3.s3.s4.s1" +indexinfo[0].command[46].command "numerical" +indexinfo[0].command[47].indexname "structfield.s3.s3.s3.s4" +indexinfo[0].command[47].command "index" +indexinfo[0].command[48].indexname "structfield.s3.s3.s3" +indexinfo[0].command[48].command "index" +indexinfo[0].command[49].indexname "structfield.s3.s3.s4.s1" +indexinfo[0].command[49].command "index" +indexinfo[0].command[50].indexname "structfield.s3.s3.s4.s1" +indexinfo[0].command[50].command "numerical" +indexinfo[0].command[51].indexname "structfield.s3.s3.s4" +indexinfo[0].command[51].command "index" +indexinfo[0].command[52].indexname "structfield.s3.s3" +indexinfo[0].command[52].command "index" +indexinfo[0].command[53].indexname "structfield.s3.s4.s1" +indexinfo[0].command[53].command "index" +indexinfo[0].command[54].indexname "structfield.s3.s4.s1" +indexinfo[0].command[54].command "numerical" +indexinfo[0].command[55].indexname "structfield.s3.s4" +indexinfo[0].command[55].command "index" +indexinfo[0].command[56].indexname "structfield.s3" +indexinfo[0].command[56].command "index" +indexinfo[0].command[57].indexname "structfield.s4.s1" +indexinfo[0].command[57].command "index" +indexinfo[0].command[58].indexname "structfield.s4.s1" +indexinfo[0].command[58].command "numerical" +indexinfo[0].command[59].indexname "structfield.s4" +indexinfo[0].command[59].command "index" +indexinfo[0].command[60].indexname "structfield" +indexinfo[0].command[60].command "index" +indexinfo[0].command[61].indexname "structarrayfield.s1" +indexinfo[0].command[61].command "index" +indexinfo[0].command[62].indexname "structarrayfield.s2" +indexinfo[0].command[62].command "index" +indexinfo[0].command[63].indexname "structarrayfield.s3.s1" +indexinfo[0].command[63].command "index" +indexinfo[0].command[64].indexname "structarrayfield.s3.s2" +indexinfo[0].command[64].command "index" +indexinfo[0].command[65].indexname "structarrayfield.s3.s3.s1" +indexinfo[0].command[65].command "index" +indexinfo[0].command[66].indexname "structarrayfield.s3.s3.s2" +indexinfo[0].command[66].command "index" +indexinfo[0].command[67].indexname "structarrayfield.s3.s3.s3.s1" +indexinfo[0].command[67].command "index" +indexinfo[0].command[68].indexname "structarrayfield.s3.s3.s3.s2" +indexinfo[0].command[68].command "index" +indexinfo[0].command[69].indexname "structarrayfield.s3.s3.s3.s3.s1" +indexinfo[0].command[69].command "index" +indexinfo[0].command[70].indexname "structarrayfield.s3.s3.s3.s3.s2" +indexinfo[0].command[70].command "index" +indexinfo[0].command[71].indexname "structarrayfield.s3.s3.s3.s3.s3.s1" +indexinfo[0].command[71].command "index" +indexinfo[0].command[72].indexname "structarrayfield.s3.s3.s3.s3.s3.s2" +indexinfo[0].command[72].command "index" +indexinfo[0].command[73].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s1" +indexinfo[0].command[73].command "index" +indexinfo[0].command[74].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s2" +indexinfo[0].command[74].command "index" +indexinfo[0].command[75].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s1" +indexinfo[0].command[75].command "index" +indexinfo[0].command[76].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s2" +indexinfo[0].command[76].command "index" +indexinfo[0].command[77].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s1" +indexinfo[0].command[77].command "index" +indexinfo[0].command[78].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s2" +indexinfo[0].command[78].command "index" +indexinfo[0].command[79].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s1" +indexinfo[0].command[79].command "index" +indexinfo[0].command[80].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s2" +indexinfo[0].command[80].command "index" +indexinfo[0].command[81].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s3" +indexinfo[0].command[81].command "index" +indexinfo[0].command[82].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s4" +indexinfo[0].command[82].command "index" +indexinfo[0].command[83].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s3" +indexinfo[0].command[83].command "index" +indexinfo[0].command[84].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s4.s1" +indexinfo[0].command[84].command "index" +indexinfo[0].command[85].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s4.s1" +indexinfo[0].command[85].command "numerical" +indexinfo[0].command[86].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s4" +indexinfo[0].command[86].command "index" +indexinfo[0].command[87].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3" +indexinfo[0].command[87].command "index" +indexinfo[0].command[88].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s4.s1" +indexinfo[0].command[88].command "index" +indexinfo[0].command[89].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s4.s1" +indexinfo[0].command[89].command "numerical" +indexinfo[0].command[90].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s4" +indexinfo[0].command[90].command "index" +indexinfo[0].command[91].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3" +indexinfo[0].command[91].command "index" +indexinfo[0].command[92].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s4.s1" +indexinfo[0].command[92].command "index" +indexinfo[0].command[93].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s4.s1" +indexinfo[0].command[93].command "numerical" +indexinfo[0].command[94].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s4" +indexinfo[0].command[94].command "index" +indexinfo[0].command[95].indexname "structarrayfield.s3.s3.s3.s3.s3.s3" +indexinfo[0].command[95].command "index" +indexinfo[0].command[96].indexname "structarrayfield.s3.s3.s3.s3.s3.s4.s1" +indexinfo[0].command[96].command "index" +indexinfo[0].command[97].indexname "structarrayfield.s3.s3.s3.s3.s3.s4.s1" +indexinfo[0].command[97].command "numerical" +indexinfo[0].command[98].indexname "structarrayfield.s3.s3.s3.s3.s3.s4" +indexinfo[0].command[98].command "index" +indexinfo[0].command[99].indexname "structarrayfield.s3.s3.s3.s3.s3" +indexinfo[0].command[99].command "index" +indexinfo[0].command[100].indexname "structarrayfield.s3.s3.s3.s3.s4.s1" +indexinfo[0].command[100].command "index" +indexinfo[0].command[101].indexname "structarrayfield.s3.s3.s3.s3.s4.s1" +indexinfo[0].command[101].command "numerical" +indexinfo[0].command[102].indexname "structarrayfield.s3.s3.s3.s3.s4" +indexinfo[0].command[102].command "index" +indexinfo[0].command[103].indexname "structarrayfield.s3.s3.s3.s3" +indexinfo[0].command[103].command "index" +indexinfo[0].command[104].indexname "structarrayfield.s3.s3.s3.s4.s1" +indexinfo[0].command[104].command "index" +indexinfo[0].command[105].indexname "structarrayfield.s3.s3.s3.s4.s1" +indexinfo[0].command[105].command "numerical" +indexinfo[0].command[106].indexname "structarrayfield.s3.s3.s3.s4" +indexinfo[0].command[106].command "index" +indexinfo[0].command[107].indexname "structarrayfield.s3.s3.s3" +indexinfo[0].command[107].command "index" +indexinfo[0].command[108].indexname "structarrayfield.s3.s3.s4.s1" +indexinfo[0].command[108].command "index" +indexinfo[0].command[109].indexname "structarrayfield.s3.s3.s4.s1" +indexinfo[0].command[109].command "numerical" +indexinfo[0].command[110].indexname "structarrayfield.s3.s3.s4" +indexinfo[0].command[110].command "index" +indexinfo[0].command[111].indexname "structarrayfield.s3.s3" +indexinfo[0].command[111].command "index" +indexinfo[0].command[112].indexname "structarrayfield.s3.s4.s1" +indexinfo[0].command[112].command "index" +indexinfo[0].command[113].indexname "structarrayfield.s3.s4.s1" +indexinfo[0].command[113].command "numerical" +indexinfo[0].command[114].indexname "structarrayfield.s3.s4" +indexinfo[0].command[114].command "index" +indexinfo[0].command[115].indexname "structarrayfield.s3" +indexinfo[0].command[115].command "index" +indexinfo[0].command[116].indexname "structarrayfield.s4.s1" +indexinfo[0].command[116].command "index" +indexinfo[0].command[117].indexname "structarrayfield.s4.s1" +indexinfo[0].command[117].command "numerical" +indexinfo[0].command[118].indexname "structarrayfield.s4" +indexinfo[0].command[118].command "index" +indexinfo[0].command[119].indexname "structarrayfield" +indexinfo[0].command[119].command "index" +indexinfo[0].command[120].indexname "structarrayfield" +indexinfo[0].command[120].command "multivalue" +indexinfo[0].command[121].indexname "rankfeatures" +indexinfo[0].command[121].command "index" +indexinfo[0].command[122].indexname "summaryfeatures" +indexinfo[0].command[122].command "index"
\ No newline at end of file diff --git a/config-model/src/test/derived/structanyorder/structanyorder.sd b/config-model/src/test/derived/structanyorder/structanyorder.sd new file mode 100755 index 00000000000..418c0985062 --- /dev/null +++ b/config-model/src/test/derived/structanyorder/structanyorder.sd @@ -0,0 +1,27 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search annotationsimplicitstruct { + + document annotationsimplicitstruct { + field structfield type sct { + } + + field structarrayfield type array<sct> { + } + + annotation banana { + field b type sct { } + field c type foo { } + } + + struct sct { + field s1 type string {} + field s2 type string {} + field s3 type sct {} + field s4 type foo {} + } + + struct foo { + field s1 type int {} + } + } +} diff --git a/config-model/src/test/derived/tensor/attributes.cfg b/config-model/src/test/derived/tensor/attributes.cfg new file mode 100644 index 00000000000..a3026d579d5 --- /dev/null +++ b/config-model/src/test/derived/tensor/attributes.cfg @@ -0,0 +1,57 @@ +attribute[0].name "f2" +attribute[0].datatype TENSOR +attribute[0].collectiontype SINGLE +attribute[0].removeifzero false +attribute[0].createifnonexistent false +attribute[0].fastsearch false +attribute[0].huge false +attribute[0].sortascending true +attribute[0].sortfunction UCA +attribute[0].sortstrength PRIMARY +attribute[0].sortlocale "" +attribute[0].enablebitvectors false +attribute[0].enableonlybitvector false +attribute[0].fastaccess false +attribute[0].arity 8 +attribute[0].lowerbound -9223372036854775808 +attribute[0].upperbound 9223372036854775807 +attribute[0].densepostinglistthreshold 0.4 +attribute[0].tensortype "" +attribute[1].name "f3" +attribute[1].datatype TENSOR +attribute[1].collectiontype SINGLE +attribute[1].removeifzero false +attribute[1].createifnonexistent false +attribute[1].fastsearch false +attribute[1].huge false +attribute[1].sortascending true +attribute[1].sortfunction UCA +attribute[1].sortstrength PRIMARY +attribute[1].sortlocale "" +attribute[1].enablebitvectors false +attribute[1].enableonlybitvector false +attribute[1].fastaccess false +attribute[1].arity 8 +attribute[1].lowerbound -9223372036854775808 +attribute[1].upperbound 9223372036854775807 +attribute[1].densepostinglistthreshold 0.4 +attribute[1].tensortype "" +attribute[2].name "f4" +attribute[2].datatype TENSOR +attribute[2].collectiontype SINGLE +attribute[2].removeifzero false +attribute[2].createifnonexistent false +attribute[2].fastsearch false +attribute[2].huge false +attribute[2].sortascending true +attribute[2].sortfunction UCA +attribute[2].sortstrength PRIMARY +attribute[2].sortlocale "" +attribute[2].enablebitvectors false +attribute[2].enableonlybitvector false +attribute[2].fastaccess false +attribute[2].arity 8 +attribute[2].lowerbound -9223372036854775808 +attribute[2].upperbound 9223372036854775807 +attribute[2].densepostinglistthreshold 0.4 +attribute[2].tensortype "tensor(x[10],y[20])"
\ No newline at end of file diff --git a/config-model/src/test/derived/tensor/documenttypes.cfg b/config-model/src/test/derived/tensor/documenttypes.cfg new file mode 100644 index 00000000000..2a76458a97a --- /dev/null +++ b/config-model/src/test/derived/tensor/documenttypes.cfg @@ -0,0 +1,65 @@ +enablecompression false +documenttype[0].id -1290043429 +documenttype[0].name "tensor" +documenttype[0].version 0 +documenttype[0].headerstruct 2125927172 +documenttype[0].bodystruct -1903234535 +documenttype[0].inherits[0].id 8 +documenttype[0].datatype[0].id 2125927172 +documenttype[0].datatype[0].type STRUCT +documenttype[0].datatype[0].array.element.id 0 +documenttype[0].datatype[0].map.key.id 0 +documenttype[0].datatype[0].map.value.id 0 +documenttype[0].datatype[0].wset.key.id 0 +documenttype[0].datatype[0].wset.createifnonexistent false +documenttype[0].datatype[0].wset.removeifzero false +documenttype[0].datatype[0].annotationref.annotation.id 0 +documenttype[0].datatype[0].sstruct.name "tensor.header" +documenttype[0].datatype[0].sstruct.version 0 +documenttype[0].datatype[0].sstruct.compression.type NONE +documenttype[0].datatype[0].sstruct.compression.level 0 +documenttype[0].datatype[0].sstruct.compression.threshold 95 +documenttype[0].datatype[0].sstruct.compression.minsize 200 +documenttype[0].datatype[0].sstruct.field[0].name "f1" +documenttype[0].datatype[0].sstruct.field[0].id 26661415 +documenttype[0].datatype[0].sstruct.field[0].id_v6 1740179945 +documenttype[0].datatype[0].sstruct.field[0].datatype 21 +documenttype[0].datatype[0].sstruct.field[1].name "f2" +documenttype[0].datatype[0].sstruct.field[1].id 2080644671 +documenttype[0].datatype[0].sstruct.field[1].id_v6 1424572148 +documenttype[0].datatype[0].sstruct.field[1].datatype 21 +documenttype[0].datatype[0].sstruct.field[2].name "f3" +documenttype[0].datatype[0].sstruct.field[2].id 1295091863 +documenttype[0].datatype[0].sstruct.field[2].id_v6 1444109654 +documenttype[0].datatype[0].sstruct.field[2].datatype 21 +documenttype[0].datatype[0].sstruct.field[3].name "f4" +documenttype[0].datatype[0].sstruct.field[3].id 1224191509 +documenttype[0].datatype[0].sstruct.field[3].id_v6 1039544782 +documenttype[0].datatype[0].sstruct.field[3].datatype 21 +documenttype[0].datatype[0].sstruct.field[4].name "rankfeatures" +documenttype[0].datatype[0].sstruct.field[4].id 1883197392 +documenttype[0].datatype[0].sstruct.field[4].id_v6 699950698 +documenttype[0].datatype[0].sstruct.field[4].datatype 2 +documenttype[0].datatype[0].sstruct.field[5].name "summaryfeatures" +documenttype[0].datatype[0].sstruct.field[5].id 1840337115 +documenttype[0].datatype[0].sstruct.field[5].id_v6 1981648971 +documenttype[0].datatype[0].sstruct.field[5].datatype 2 +documenttype[0].datatype[1].id -1903234535 +documenttype[0].datatype[1].type STRUCT +documenttype[0].datatype[1].array.element.id 0 +documenttype[0].datatype[1].map.key.id 0 +documenttype[0].datatype[1].map.value.id 0 +documenttype[0].datatype[1].wset.key.id 0 +documenttype[0].datatype[1].wset.createifnonexistent false +documenttype[0].datatype[1].wset.removeifzero false +documenttype[0].datatype[1].annotationref.annotation.id 0 +documenttype[0].datatype[1].sstruct.name "tensor.body" +documenttype[0].datatype[1].sstruct.version 0 +documenttype[0].datatype[1].sstruct.compression.type NONE +documenttype[0].datatype[1].sstruct.compression.level 0 +documenttype[0].datatype[1].sstruct.compression.threshold 95 +documenttype[0].datatype[1].sstruct.compression.minsize 200 +documenttype[0].fieldsets{[document]}.fields[0] "f1" +documenttype[0].fieldsets{[document]}.fields[1] "f2" +documenttype[0].fieldsets{[document]}.fields[2] "f3" +documenttype[0].fieldsets{[document]}.fields[3] "f4" diff --git a/config-model/src/test/derived/tensor/summary.cfg b/config-model/src/test/derived/tensor/summary.cfg new file mode 100644 index 00000000000..b6d00bc4799 --- /dev/null +++ b/config-model/src/test/derived/tensor/summary.cfg @@ -0,0 +1,25 @@ +defaultsummaryid 657634105 +classes[0].id 657634105 +classes[0].name "default" +classes[0].fields[0].name "f1" +classes[0].fields[0].type "jsonstring" +classes[0].fields[1].name "f3" +classes[0].fields[1].type "jsonstring" +classes[0].fields[2].name "rankfeatures" +classes[0].fields[2].type "featuredata" +classes[0].fields[3].name "summaryfeatures" +classes[0].fields[3].type "featuredata" +classes[0].fields[4].name "documentid" +classes[0].fields[4].type "longstring" +classes[1].id 457955124 +classes[1].name "attributeprefetch" +classes[1].fields[0].name "f2" +classes[1].fields[0].type "jsonstring" +classes[1].fields[1].name "f3" +classes[1].fields[1].type "jsonstring" +classes[1].fields[2].name "f4" +classes[1].fields[2].type "jsonstring" +classes[1].fields[3].name "rankfeatures" +classes[1].fields[3].type "featuredata" +classes[1].fields[4].name "summaryfeatures" +classes[1].fields[4].type "featuredata"
\ No newline at end of file diff --git a/config-model/src/test/derived/tensor/tensor.sd b/config-model/src/test/derived/tensor/tensor.sd new file mode 100644 index 00000000000..b89b96e253b --- /dev/null +++ b/config-model/src/test/derived/tensor/tensor.sd @@ -0,0 +1,18 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search tensor { + document tensor { + field f1 type tensor { + indexing: summary + } + field f2 type tensor { + indexing: attribute + } + field f3 type tensor { + indexing: attribute | summary + } + field f4 type tensor { + indexing: attribute + attribute: tensor(x[10],y[20]) + } + } +} diff --git a/config-model/src/test/derived/twostreamingstructs/documentmanager.cfg b/config-model/src/test/derived/twostreamingstructs/documentmanager.cfg new file mode 100644 index 00000000000..6dee91664be --- /dev/null +++ b/config-model/src/test/derived/twostreamingstructs/documentmanager.cfg @@ -0,0 +1,166 @@ +enablecompression false +datatype[0].id 1381038251 +datatype[0].structtype[0].name "position" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[0].structtype[0].field[0].name "x" +datatype[0].structtype[0].field[0].datatype 0 +datatype[0].structtype[0].field[1].name "y" +datatype[0].structtype[0].field[1].datatype 0 +datatype[1].id 105061838 +datatype[1].structtype[0].name "ns1" +datatype[1].structtype[0].version 0 +datatype[1].structtype[0].compresstype NONE +datatype[1].structtype[0].compresslevel 0 +datatype[1].structtype[0].compressthreshold 95 +datatype[1].structtype[0].compressminsize 800 +datatype[1].structtype[0].field[0].name "nf1" +datatype[1].structtype[0].field[0].datatype 3474528 +datatype[1].structtype[0].field[1].name "nf1s" +datatype[1].structtype[0].field[1].datatype 3474528 +datatype[1].structtype[0].field[2].name "nf2" +datatype[1].structtype[0].field[2].datatype 2 +datatype[2].id 3474528 +datatype[2].structtype[0].name "s1" +datatype[2].structtype[0].version 0 +datatype[2].structtype[0].compresstype NONE +datatype[2].structtype[0].compresslevel 0 +datatype[2].structtype[0].compressthreshold 95 +datatype[2].structtype[0].compressminsize 800 +datatype[2].structtype[0].field[0].name "f1" +datatype[2].structtype[0].field[0].datatype 2 +datatype[2].structtype[0].field[1].name "f1s" +datatype[2].structtype[0].field[1].datatype 2 +datatype[2].structtype[0].field[2].name "f2" +datatype[2].structtype[0].field[2].datatype 0 +datatype[2].structtype[0].field[3].name "f3" +datatype[2].structtype[0].field[3].datatype 5 +datatype[3].id -1497802371 +datatype[3].maptype[0].keytype 4 +datatype[3].maptype[0].valtype 2 +datatype[4].id -1425630723 +datatype[4].arraytype[0].datatype 3474528 +datatype[5].id 731395686 +datatype[5].structtype[0].name "streamingstruct.header" +datatype[5].structtype[0].version 0 +datatype[5].structtype[0].compresstype NONE +datatype[5].structtype[0].compresslevel 0 +datatype[5].structtype[0].compressthreshold 95 +datatype[5].structtype[0].compressminsize 800 +datatype[5].structtype[0].field[0].name "coupleof" +datatype[5].structtype[0].field[0].datatype 2 +datatype[5].structtype[0].field[1].name "normalfields" +datatype[5].structtype[0].field[1].datatype 2 +datatype[5].structtype[0].field[2].name "a" +datatype[5].structtype[0].field[2].datatype 3474528 +datatype[5].structtype[0].field[3].name "m" +datatype[5].structtype[0].field[3].datatype -1497802371 +datatype[5].structtype[0].field[4].name "b" +datatype[5].structtype[0].field[4].datatype 3474528 +datatype[5].structtype[0].field[5].name "c" +datatype[5].structtype[0].field[5].datatype 3474528 +datatype[5].structtype[0].field[6].name "c2" +datatype[5].structtype[0].field[6].datatype 3474528 +datatype[5].structtype[0].field[7].name "c3" +datatype[5].structtype[0].field[7].datatype 3474528 +datatype[5].structtype[0].field[8].name "n" +datatype[5].structtype[0].field[8].datatype 105061838 +datatype[5].structtype[0].field[9].name "array1" +datatype[5].structtype[0].field[9].datatype -1425630723 +datatype[5].structtype[0].field[10].name "array2" +datatype[5].structtype[0].field[10].datatype -1425630723 +datatype[5].structtype[0].field[11].name "array3" +datatype[5].structtype[0].field[11].datatype -1425630723 +datatype[5].structtype[0].field[12].name "subject" +datatype[5].structtype[0].field[12].datatype 3474528 +datatype[5].structtype[0].field[13].name "d" +datatype[5].structtype[0].field[13].datatype 3474528 +datatype[5].structtype[0].field[14].name "e" +datatype[5].structtype[0].field[14].datatype 3474528 +datatype[5].structtype[0].field[15].name "f" +datatype[5].structtype[0].field[15].datatype 3474528 +datatype[5].structtype[0].field[16].name "g" +datatype[5].structtype[0].field[16].datatype 2 +datatype[5].structtype[0].field[17].name "anothersummaryfield" +datatype[5].structtype[0].field[17].datatype 2 +datatype[5].structtype[0].field[18].name "rankfeatures" +datatype[5].structtype[0].field[18].datatype 2 +datatype[5].structtype[0].field[19].name "summaryfeatures" +datatype[5].structtype[0].field[19].datatype 2 +datatype[5].structtype[0].field[20].name "snippet" +datatype[5].structtype[0].field[20].datatype 2 +datatype[5].structtype[0].field[21].name "snippet2" +datatype[5].structtype[0].field[21].datatype 2 +datatype[6].id 1858438651 +datatype[6].structtype[0].name "streamingstruct.body" +datatype[6].structtype[0].version 0 +datatype[6].structtype[0].compresstype NONE +datatype[6].structtype[0].compresslevel 0 +datatype[6].structtype[0].compressthreshold 95 +datatype[6].structtype[0].compressminsize 800 +datatype[7].id 1433175737 +datatype[7].documenttype[0].name "streamingstruct" +datatype[7].documenttype[0].version 0 +datatype[7].documenttype[0].inherits[0].name "document" +datatype[7].documenttype[0].inherits[0].version 0 +datatype[7].documenttype[0].headerstruct 731395686 +datatype[7].documenttype[0].bodystruct 1858438651 +datatype[7].documenttype[0].fieldsets{[document]}.fields[0] "a" +datatype[7].documenttype[0].fieldsets{[document]}.fields[1] "array1" +datatype[7].documenttype[0].fieldsets{[document]}.fields[2] "array2" +datatype[7].documenttype[0].fieldsets{[document]}.fields[3] "array3" +datatype[7].documenttype[0].fieldsets{[document]}.fields[4] "b" +datatype[7].documenttype[0].fieldsets{[document]}.fields[5] "c" +datatype[7].documenttype[0].fieldsets{[document]}.fields[6] "c2" +datatype[7].documenttype[0].fieldsets{[document]}.fields[7] "c3" +datatype[7].documenttype[0].fieldsets{[document]}.fields[8] "coupleof" +datatype[7].documenttype[0].fieldsets{[document]}.fields[9] "d" +datatype[7].documenttype[0].fieldsets{[document]}.fields[10] "e" +datatype[7].documenttype[0].fieldsets{[document]}.fields[11] "f" +datatype[7].documenttype[0].fieldsets{[document]}.fields[12] "g" +datatype[7].documenttype[0].fieldsets{[document]}.fields[13] "m" +datatype[7].documenttype[0].fieldsets{[document]}.fields[14] "n" +datatype[7].documenttype[0].fieldsets{[document]}.fields[15] "normalfields" +datatype[7].documenttype[0].fieldsets{[document]}.fields[16] "subject" +datatype[8].id -995681764 +datatype[8].structtype[0].name "pair" +datatype[8].structtype[0].version 0 +datatype[8].structtype[0].compresstype NONE +datatype[8].structtype[0].compresslevel 0 +datatype[8].structtype[0].compressthreshold 95 +datatype[8].structtype[0].compressminsize 800 +datatype[8].structtype[0].field[0].name "key" +datatype[8].structtype[0].field[0].datatype 2 +datatype[8].structtype[0].field[1].name "value" +datatype[8].structtype[0].field[1].datatype 2 +datatype[9].id 355471259 +datatype[9].structtype[0].name "whatever.header" +datatype[9].structtype[0].version 0 +datatype[9].structtype[0].compresstype NONE +datatype[9].structtype[0].compresslevel 0 +datatype[9].structtype[0].compressthreshold 95 +datatype[9].structtype[0].compressminsize 800 +datatype[9].structtype[0].field[0].name "rankfeatures" +datatype[9].structtype[0].field[0].datatype 2 +datatype[9].structtype[0].field[1].name "summaryfeatures" +datatype[9].structtype[0].field[1].datatype 2 +datatype[10].id -1417926544 +datatype[10].structtype[0].name "whatever.body" +datatype[10].structtype[0].version 0 +datatype[10].structtype[0].compresstype NONE +datatype[10].structtype[0].compresslevel 0 +datatype[10].structtype[0].compressthreshold 95 +datatype[10].structtype[0].compressminsize 800 +datatype[10].structtype[0].field[0].name "f1" +datatype[10].structtype[0].field[0].datatype -995681764 +datatype[11].id -778211548 +datatype[11].documenttype[0].name "whatever" +datatype[11].documenttype[0].version 0 +datatype[11].documenttype[0].inherits[0].name "document" +datatype[11].documenttype[0].inherits[0].version 0 +datatype[11].documenttype[0].headerstruct 355471259 +datatype[11].documenttype[0].bodystruct -1417926544 +datatype[11].documenttype[0].fieldsets{[document]}.fields[0] "f1" diff --git a/config-model/src/test/derived/twostreamingstructs/streamingstruct.sd b/config-model/src/test/derived/twostreamingstructs/streamingstruct.sd new file mode 100644 index 00000000000..dabe9837af8 --- /dev/null +++ b/config-model/src/test/derived/twostreamingstructs/streamingstruct.sd @@ -0,0 +1,183 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search streamingstruct { + + document streamingstruct { + field coupleof type string { + indexing: index | summary + } + + field normalfields type string { + indexing: index | summary + summary anothersummaryfield { + source: normalfields + } + } + + struct s1 { + field f1 type string { } + field f1s type string { match: substring } + field f2 type int { } + field f3 type double { } + # Allow default matchtypes in struct. Can be overridden. + # No index/attribute related stuff. It is only a datatype definition. + } + struct ns1 { + field nf1 type s1 { } + field nf1s type s1 { match: substring } + field nf2 type string { } + # May specify nested structs. + } + + field a type s1 { + indexing: summary + # Will generate attribute a.f1, a.f1s, a.f2, a.f3 + # with datatypes preserved. + # No customisation. + # a will be a synonym for all (a.*) + } + field m type map<long, string> { + indexing: summary + # Will generate attribute m.key, m.value + # with datatypes preserved. + # m will be a synonym for all (m.*) + } + field b type s1 { + indexing: index | summary + # Will generate index b.f1, b.f1s, b.f2, b.f3 + # with datatypes preserved if backend allows. + # No customisation. + # b will be synonym for all (b.*). + } + field c type s1 { + struct-field f1 { + # Whatever you normally write in a field declaration + indexing: attribute | summary # -> Generates attribute c.f1 + } + struct-field f1s { + indexing: index | summary # -> c.f1s + match: prefix + } + struct-field f3 { + indexing: index | summary # -> c.f3 + } + # attribute c will be synonym for c.f1. + # Index c will be synonym for c.f1s OR c.f3. + # Indexed search can handle that however they want. + } + field c2 type s1 { + struct-field f1 { + # Whatever you normally write in a field declaration + indexing: attribute | summary # -> Generates attribute c2.f1 + } + struct-field f1s { + indexing: index | summary # -> c2.f1s + match: suffix + } + struct-field f2 { + indexing: index | summary # -> c2.f2 + } + struct-field f3 { + indexing: index | summary # -> c2.f3 + } + } + field c3 type s1 { + # Uses all sub fields, but not summary for all. + struct-field f1 { + indexing: attribute | summary + } + struct-field f1s { + indexing: index + match: prefix + } + struct-field f2 { + indexing: index | summary + } + struct-field f3 { + indexing: index | summary + } + } + field n type ns1 { + struct-field nf1 { + struct-field f1 { + indexing: index | summary + } + struct-field f1s { + indexing: index | summary + match: prefix + } + struct-field f3 { + indexing: index + } + } + struct-field nf1s { + indexing: index | summary + } + struct-field nf2 { + indexing: index | summary + } + # Will generate indexes n.nf1.f1, n.nf1.f1s, n.nf1.f3, + # n.nf1s.f1, n.nf1s.f1s, n.nf1s.f2, n.nf1s.f3 + # and n.nf2. + # n will be synonym for all 8, + # n.nf1 will be synonym for the first 3 and + # n.nf1s will be synonym for the next 4 + } + + field array1 type array<s1> { + indexing: summary + } + field array2 type array<s1> { + indexing: index | summary + } + field array3 type array<s1> { + struct-field f1 { + indexing: attribute | summary # -> Generates attribute array3.f1 + } + struct-field f1s { + indexing: index | summary # -> array3.f1s + match: prefix + } + struct-field f3 { + indexing: index | summary # -> array3.f3 + } + } + field subject type s1 { + struct-field f1 { + indexing: summary + summary subject { + source:subject.f1 + } + } + } + field d type s1 { + indexing: index + # override matching for all subfields + match: prefix + } + field e type s1 { + indexing: index + # override matching for all subfields + match: substring + } + field f type s1 { + indexing: index + # override matching for all subfields + match: suffix + } + field g type string { + indexing: index | summary + summary: dynamic + } + } + + document-summary summ { + summary snippet type string { + dynamic + source: a.f1, b.f2 + } + summary snippet2 type string { + source: a.f1, b.f1, b.f2 + } + } + +} diff --git a/config-model/src/test/derived/twostreamingstructs/summary.cfg b/config-model/src/test/derived/twostreamingstructs/summary.cfg new file mode 100644 index 00000000000..9d722116850 --- /dev/null +++ b/config-model/src/test/derived/twostreamingstructs/summary.cfg @@ -0,0 +1,51 @@ +defaultsummaryid 569269436 +classes[0].id 569269436 +classes[0].name "default" +classes[0].fields[0].name "coupleof" +classes[0].fields[0].type "longstring" +classes[0].fields[1].name "anothersummaryfield" +classes[0].fields[1].type "longstring" +classes[0].fields[2].name "a" +classes[0].fields[2].type "jsonstring" +classes[0].fields[3].name "m" +classes[0].fields[3].type "jsonstring" +classes[0].fields[4].name "b" +classes[0].fields[4].type "jsonstring" +classes[0].fields[5].name "c" +classes[0].fields[5].type "jsonstring" +classes[0].fields[6].name "c2" +classes[0].fields[6].type "jsonstring" +classes[0].fields[7].name "c3" +classes[0].fields[7].type "jsonstring" +classes[0].fields[8].name "n" +classes[0].fields[8].type "jsonstring" +classes[0].fields[9].name "array1" +classes[0].fields[9].type "jsonstring" +classes[0].fields[10].name "array2" +classes[0].fields[10].type "jsonstring" +classes[0].fields[11].name "array3" +classes[0].fields[11].type "jsonstring" +classes[0].fields[12].name "subject" +classes[0].fields[12].type "jsonstring" +classes[0].fields[13].name "g" +classes[0].fields[13].type "longstring" +classes[0].fields[14].name "rankfeatures" +classes[0].fields[14].type "featuredata" +classes[0].fields[15].name "summaryfeatures" +classes[0].fields[15].type "featuredata" +classes[0].fields[16].name "snippet" +classes[0].fields[16].type "longstring" +classes[0].fields[17].name "snippet2" +classes[0].fields[17].type "longstring" +classes[0].fields[18].name "documentid" +classes[0].fields[18].type "longstring" +classes[1].id 109252281 +classes[1].name "summ" +classes[1].fields[0].name "snippet" +classes[1].fields[0].type "longstring" +classes[1].fields[1].name "snippet2" +classes[1].fields[1].type "longstring" +classes[1].fields[2].name "rankfeatures" +classes[1].fields[2].type "featuredata" +classes[1].fields[3].name "summaryfeatures" +classes[1].fields[3].type "featuredata"
\ No newline at end of file diff --git a/config-model/src/test/derived/twostreamingstructs/summarymap.cfg b/config-model/src/test/derived/twostreamingstructs/summarymap.cfg new file mode 100644 index 00000000000..1bf13ffa199 --- /dev/null +++ b/config-model/src/test/derived/twostreamingstructs/summarymap.cfg @@ -0,0 +1,13 @@ +defaultoutputclass -1 +override[0].field "snippet" +override[0].command "dynamicteaser" +override[0].arguments "snippet" +override[1].field "rankfeatures" +override[1].command "rankfeatures" +override[1].arguments "" +override[2].field "summaryfeatures" +override[2].command "summaryfeatures" +override[2].arguments "" +override[3].field "g" +override[3].command "dynamicteaser" +override[3].arguments "g"
\ No newline at end of file diff --git a/config-model/src/test/derived/twostreamingstructs/vsmfields.cfg b/config-model/src/test/derived/twostreamingstructs/vsmfields.cfg new file mode 100644 index 00000000000..ec8b1eeb4ac --- /dev/null +++ b/config-model/src/test/derived/twostreamingstructs/vsmfields.cfg @@ -0,0 +1,322 @@ +documentverificationlevel 0 +searchall 1 +fieldspec[0].name "coupleof" +fieldspec[0].searchmethod AUTOUTF8 +fieldspec[0].arg1 "" +fieldspec[1].name "normalfields" +fieldspec[1].searchmethod AUTOUTF8 +fieldspec[1].arg1 "" +fieldspec[2].name "a.f1" +fieldspec[2].searchmethod AUTOUTF8 +fieldspec[2].arg1 "" +fieldspec[3].name "a.f1s" +fieldspec[3].searchmethod AUTOUTF8 +fieldspec[3].arg1 "substring" +fieldspec[4].name "a.f2" +fieldspec[4].searchmethod INT32 +fieldspec[4].arg1 "" +fieldspec[5].name "a.f3" +fieldspec[5].searchmethod DOUBLE +fieldspec[5].arg1 "" +fieldspec[6].name "m.key" +fieldspec[6].searchmethod INT64 +fieldspec[6].arg1 "" +fieldspec[7].name "m.value" +fieldspec[7].searchmethod AUTOUTF8 +fieldspec[7].arg1 "" +fieldspec[8].name "b.f1" +fieldspec[8].searchmethod AUTOUTF8 +fieldspec[8].arg1 "" +fieldspec[9].name "b.f1s" +fieldspec[9].searchmethod AUTOUTF8 +fieldspec[9].arg1 "substring" +fieldspec[10].name "b.f2" +fieldspec[10].searchmethod INT32 +fieldspec[10].arg1 "" +fieldspec[11].name "b.f3" +fieldspec[11].searchmethod DOUBLE +fieldspec[11].arg1 "" +fieldspec[12].name "c.f1" +fieldspec[12].searchmethod AUTOUTF8 +fieldspec[12].arg1 "" +fieldspec[13].name "c.f1s" +fieldspec[13].searchmethod AUTOUTF8 +fieldspec[13].arg1 "prefix" +fieldspec[14].name "c.f3" +fieldspec[14].searchmethod DOUBLE +fieldspec[14].arg1 "" +fieldspec[15].name "c2.f1" +fieldspec[15].searchmethod AUTOUTF8 +fieldspec[15].arg1 "" +fieldspec[16].name "c2.f1s" +fieldspec[16].searchmethod AUTOUTF8 +fieldspec[16].arg1 "suffix" +fieldspec[17].name "c2.f2" +fieldspec[17].searchmethod INT32 +fieldspec[17].arg1 "" +fieldspec[18].name "c2.f3" +fieldspec[18].searchmethod DOUBLE +fieldspec[18].arg1 "" +fieldspec[19].name "c3.f1" +fieldspec[19].searchmethod AUTOUTF8 +fieldspec[19].arg1 "" +fieldspec[20].name "c3.f1s" +fieldspec[20].searchmethod AUTOUTF8 +fieldspec[20].arg1 "prefix" +fieldspec[21].name "c3.f2" +fieldspec[21].searchmethod INT32 +fieldspec[21].arg1 "" +fieldspec[22].name "c3.f3" +fieldspec[22].searchmethod DOUBLE +fieldspec[22].arg1 "" +fieldspec[23].name "n.nf1.f1" +fieldspec[23].searchmethod AUTOUTF8 +fieldspec[23].arg1 "" +fieldspec[24].name "n.nf1.f1s" +fieldspec[24].searchmethod AUTOUTF8 +fieldspec[24].arg1 "prefix" +fieldspec[25].name "n.nf1.f3" +fieldspec[25].searchmethod DOUBLE +fieldspec[25].arg1 "" +fieldspec[26].name "n.nf1s.f1" +fieldspec[26].searchmethod AUTOUTF8 +fieldspec[26].arg1 "substring" +fieldspec[27].name "n.nf1s.f1s" +fieldspec[27].searchmethod AUTOUTF8 +fieldspec[27].arg1 "substring" +fieldspec[28].name "n.nf1s.f2" +fieldspec[28].searchmethod INT32 +fieldspec[28].arg1 "" +fieldspec[29].name "n.nf1s.f3" +fieldspec[29].searchmethod DOUBLE +fieldspec[29].arg1 "" +fieldspec[30].name "n.nf2" +fieldspec[30].searchmethod AUTOUTF8 +fieldspec[30].arg1 "" +fieldspec[31].name "array1.f1" +fieldspec[31].searchmethod AUTOUTF8 +fieldspec[31].arg1 "" +fieldspec[32].name "array1.f1s" +fieldspec[32].searchmethod AUTOUTF8 +fieldspec[32].arg1 "substring" +fieldspec[33].name "array1.f2" +fieldspec[33].searchmethod INT32 +fieldspec[33].arg1 "" +fieldspec[34].name "array1.f3" +fieldspec[34].searchmethod DOUBLE +fieldspec[34].arg1 "" +fieldspec[35].name "array2.f1" +fieldspec[35].searchmethod AUTOUTF8 +fieldspec[35].arg1 "" +fieldspec[36].name "array2.f1s" +fieldspec[36].searchmethod AUTOUTF8 +fieldspec[36].arg1 "substring" +fieldspec[37].name "array2.f2" +fieldspec[37].searchmethod INT32 +fieldspec[37].arg1 "" +fieldspec[38].name "array2.f3" +fieldspec[38].searchmethod DOUBLE +fieldspec[38].arg1 "" +fieldspec[39].name "array3.f1" +fieldspec[39].searchmethod AUTOUTF8 +fieldspec[39].arg1 "" +fieldspec[40].name "array3.f1s" +fieldspec[40].searchmethod AUTOUTF8 +fieldspec[40].arg1 "prefix" +fieldspec[41].name "array3.f3" +fieldspec[41].searchmethod DOUBLE +fieldspec[41].arg1 "" +fieldspec[42].name "subject.f1" +fieldspec[42].searchmethod AUTOUTF8 +fieldspec[42].arg1 "" +fieldspec[43].name "d.f1" +fieldspec[43].searchmethod AUTOUTF8 +fieldspec[43].arg1 "prefix" +fieldspec[44].name "d.f1s" +fieldspec[44].searchmethod AUTOUTF8 +fieldspec[44].arg1 "prefix" +fieldspec[45].name "d.f2" +fieldspec[45].searchmethod INT32 +fieldspec[45].arg1 "" +fieldspec[46].name "d.f3" +fieldspec[46].searchmethod DOUBLE +fieldspec[46].arg1 "" +fieldspec[47].name "e.f1" +fieldspec[47].searchmethod AUTOUTF8 +fieldspec[47].arg1 "substring" +fieldspec[48].name "e.f1s" +fieldspec[48].searchmethod AUTOUTF8 +fieldspec[48].arg1 "substring" +fieldspec[49].name "e.f2" +fieldspec[49].searchmethod INT32 +fieldspec[49].arg1 "" +fieldspec[50].name "e.f3" +fieldspec[50].searchmethod DOUBLE +fieldspec[50].arg1 "" +fieldspec[51].name "f.f1" +fieldspec[51].searchmethod AUTOUTF8 +fieldspec[51].arg1 "suffix" +fieldspec[52].name "f.f1s" +fieldspec[52].searchmethod AUTOUTF8 +fieldspec[52].arg1 "suffix" +fieldspec[53].name "f.f2" +fieldspec[53].searchmethod INT32 +fieldspec[53].arg1 "" +fieldspec[54].name "f.f3" +fieldspec[54].searchmethod DOUBLE +fieldspec[54].arg1 "" +fieldspec[55].name "g" +fieldspec[55].searchmethod AUTOUTF8 +fieldspec[55].arg1 "" +documenttype[0].name "streamingstruct" +documenttype[0].index[0].name "coupleof" +documenttype[0].index[0].field[0].name "coupleof" +documenttype[0].index[1].name "normalfields" +documenttype[0].index[1].field[0].name "normalfields" +documenttype[0].index[2].name "b" +documenttype[0].index[2].field[0].name "b.f1" +documenttype[0].index[2].field[1].name "b.f1s" +documenttype[0].index[2].field[2].name "b.f2" +documenttype[0].index[2].field[3].name "b.f3" +documenttype[0].index[3].name "b.f1" +documenttype[0].index[3].field[0].name "b.f1" +documenttype[0].index[4].name "b.f1s" +documenttype[0].index[4].field[0].name "b.f1s" +documenttype[0].index[5].name "b.f2" +documenttype[0].index[5].field[0].name "b.f2" +documenttype[0].index[6].name "b.f3" +documenttype[0].index[6].field[0].name "b.f3" +documenttype[0].index[7].name "c" +documenttype[0].index[7].field[0].name "c.f1" +documenttype[0].index[7].field[1].name "c.f1s" +documenttype[0].index[7].field[2].name "c.f3" +documenttype[0].index[8].name "c.f1" +documenttype[0].index[8].field[0].name "c.f1" +documenttype[0].index[9].name "c.f1s" +documenttype[0].index[9].field[0].name "c.f1s" +documenttype[0].index[10].name "c.f3" +documenttype[0].index[10].field[0].name "c.f3" +documenttype[0].index[11].name "c2" +documenttype[0].index[11].field[0].name "c2.f1" +documenttype[0].index[11].field[1].name "c2.f1s" +documenttype[0].index[11].field[2].name "c2.f2" +documenttype[0].index[11].field[3].name "c2.f3" +documenttype[0].index[12].name "c2.f1" +documenttype[0].index[12].field[0].name "c2.f1" +documenttype[0].index[13].name "c2.f1s" +documenttype[0].index[13].field[0].name "c2.f1s" +documenttype[0].index[14].name "c2.f2" +documenttype[0].index[14].field[0].name "c2.f2" +documenttype[0].index[15].name "c2.f3" +documenttype[0].index[15].field[0].name "c2.f3" +documenttype[0].index[16].name "c3" +documenttype[0].index[16].field[0].name "c3.f1" +documenttype[0].index[16].field[1].name "c3.f1s" +documenttype[0].index[16].field[2].name "c3.f2" +documenttype[0].index[16].field[3].name "c3.f3" +documenttype[0].index[17].name "c3.f1" +documenttype[0].index[17].field[0].name "c3.f1" +documenttype[0].index[18].name "c3.f1s" +documenttype[0].index[18].field[0].name "c3.f1s" +documenttype[0].index[19].name "c3.f2" +documenttype[0].index[19].field[0].name "c3.f2" +documenttype[0].index[20].name "c3.f3" +documenttype[0].index[20].field[0].name "c3.f3" +documenttype[0].index[21].name "n" +documenttype[0].index[21].field[0].name "n.nf1.f1" +documenttype[0].index[21].field[1].name "n.nf1.f1s" +documenttype[0].index[21].field[2].name "n.nf1.f3" +documenttype[0].index[21].field[3].name "n.nf1s.f1" +documenttype[0].index[21].field[4].name "n.nf1s.f1s" +documenttype[0].index[21].field[5].name "n.nf1s.f2" +documenttype[0].index[21].field[6].name "n.nf1s.f3" +documenttype[0].index[21].field[7].name "n.nf2" +documenttype[0].index[22].name "n.nf1" +documenttype[0].index[22].field[0].name "n.nf1.f1" +documenttype[0].index[22].field[1].name "n.nf1.f1s" +documenttype[0].index[22].field[2].name "n.nf1.f3" +documenttype[0].index[23].name "n.nf1.f1" +documenttype[0].index[23].field[0].name "n.nf1.f1" +documenttype[0].index[24].name "n.nf1.f1s" +documenttype[0].index[24].field[0].name "n.nf1.f1s" +documenttype[0].index[25].name "n.nf1.f3" +documenttype[0].index[25].field[0].name "n.nf1.f3" +documenttype[0].index[26].name "n.nf1s" +documenttype[0].index[26].field[0].name "n.nf1s.f1" +documenttype[0].index[26].field[1].name "n.nf1s.f1s" +documenttype[0].index[26].field[2].name "n.nf1s.f2" +documenttype[0].index[26].field[3].name "n.nf1s.f3" +documenttype[0].index[27].name "n.nf1s.f1" +documenttype[0].index[27].field[0].name "n.nf1s.f1" +documenttype[0].index[28].name "n.nf1s.f1s" +documenttype[0].index[28].field[0].name "n.nf1s.f1s" +documenttype[0].index[29].name "n.nf1s.f2" +documenttype[0].index[29].field[0].name "n.nf1s.f2" +documenttype[0].index[30].name "n.nf1s.f3" +documenttype[0].index[30].field[0].name "n.nf1s.f3" +documenttype[0].index[31].name "n.nf2" +documenttype[0].index[31].field[0].name "n.nf2" +documenttype[0].index[32].name "array2" +documenttype[0].index[32].field[0].name "array2.f1" +documenttype[0].index[32].field[1].name "array2.f1s" +documenttype[0].index[32].field[2].name "array2.f2" +documenttype[0].index[32].field[3].name "array2.f3" +documenttype[0].index[33].name "array2.f1" +documenttype[0].index[33].field[0].name "array2.f1" +documenttype[0].index[34].name "array2.f1s" +documenttype[0].index[34].field[0].name "array2.f1s" +documenttype[0].index[35].name "array2.f2" +documenttype[0].index[35].field[0].name "array2.f2" +documenttype[0].index[36].name "array2.f3" +documenttype[0].index[36].field[0].name "array2.f3" +documenttype[0].index[37].name "array3" +documenttype[0].index[37].field[0].name "array3.f1" +documenttype[0].index[37].field[1].name "array3.f1s" +documenttype[0].index[37].field[2].name "array3.f3" +documenttype[0].index[38].name "array3.f1" +documenttype[0].index[38].field[0].name "array3.f1" +documenttype[0].index[39].name "array3.f1s" +documenttype[0].index[39].field[0].name "array3.f1s" +documenttype[0].index[40].name "array3.f3" +documenttype[0].index[40].field[0].name "array3.f3" +documenttype[0].index[41].name "d" +documenttype[0].index[41].field[0].name "d.f1" +documenttype[0].index[41].field[1].name "d.f1s" +documenttype[0].index[41].field[2].name "d.f2" +documenttype[0].index[41].field[3].name "d.f3" +documenttype[0].index[42].name "d.f1" +documenttype[0].index[42].field[0].name "d.f1" +documenttype[0].index[43].name "d.f1s" +documenttype[0].index[43].field[0].name "d.f1s" +documenttype[0].index[44].name "d.f2" +documenttype[0].index[44].field[0].name "d.f2" +documenttype[0].index[45].name "d.f3" +documenttype[0].index[45].field[0].name "d.f3" +documenttype[0].index[46].name "e" +documenttype[0].index[46].field[0].name "e.f1" +documenttype[0].index[46].field[1].name "e.f1s" +documenttype[0].index[46].field[2].name "e.f2" +documenttype[0].index[46].field[3].name "e.f3" +documenttype[0].index[47].name "e.f1" +documenttype[0].index[47].field[0].name "e.f1" +documenttype[0].index[48].name "e.f1s" +documenttype[0].index[48].field[0].name "e.f1s" +documenttype[0].index[49].name "e.f2" +documenttype[0].index[49].field[0].name "e.f2" +documenttype[0].index[50].name "e.f3" +documenttype[0].index[50].field[0].name "e.f3" +documenttype[0].index[51].name "f" +documenttype[0].index[51].field[0].name "f.f1" +documenttype[0].index[51].field[1].name "f.f1s" +documenttype[0].index[51].field[2].name "f.f2" +documenttype[0].index[51].field[3].name "f.f3" +documenttype[0].index[52].name "f.f1" +documenttype[0].index[52].field[0].name "f.f1" +documenttype[0].index[53].name "f.f1s" +documenttype[0].index[53].field[0].name "f.f1s" +documenttype[0].index[54].name "f.f2" +documenttype[0].index[54].field[0].name "f.f2" +documenttype[0].index[55].name "f.f3" +documenttype[0].index[55].field[0].name "f.f3" +documenttype[0].index[56].name "g" +documenttype[0].index[56].field[0].name "g"
\ No newline at end of file diff --git a/config-model/src/test/derived/twostreamingstructs/vsmsummary.cfg b/config-model/src/test/derived/twostreamingstructs/vsmsummary.cfg new file mode 100644 index 00000000000..b7a75932f5c --- /dev/null +++ b/config-model/src/test/derived/twostreamingstructs/vsmsummary.cfg @@ -0,0 +1,83 @@ +outputclass "" +fieldmap[0].summary "coupleof" +fieldmap[0].document[0].field "coupleof" +fieldmap[0].command NONE +fieldmap[1].summary "anothersummaryfield" +fieldmap[1].document[0].field "normalfields" +fieldmap[1].command NONE +fieldmap[2].summary "a" +fieldmap[2].document[0].field "a.f1" +fieldmap[2].document[1].field "a.f1s" +fieldmap[2].document[2].field "a.f2" +fieldmap[2].document[3].field "a.f3" +fieldmap[2].command NONE +fieldmap[3].summary "m" +fieldmap[3].document[0].field "m" +fieldmap[3].command NONE +fieldmap[4].summary "b" +fieldmap[4].document[0].field "b.f1" +fieldmap[4].document[1].field "b.f1s" +fieldmap[4].document[2].field "b.f2" +fieldmap[4].document[3].field "b.f3" +fieldmap[4].command NONE +fieldmap[5].summary "c" +fieldmap[5].document[0].field "c.f1" +fieldmap[5].document[1].field "c.f1s" +fieldmap[5].document[2].field "c.f3" +fieldmap[5].command NONE +fieldmap[6].summary "c2" +fieldmap[6].document[0].field "c2.f1" +fieldmap[6].document[1].field "c2.f1s" +fieldmap[6].document[2].field "c2.f2" +fieldmap[6].document[3].field "c2.f3" +fieldmap[6].command NONE +fieldmap[7].summary "c3" +fieldmap[7].document[0].field "c3.f1" +fieldmap[7].document[1].field "c3.f2" +fieldmap[7].document[2].field "c3.f3" +fieldmap[7].command NONE +fieldmap[8].summary "n" +fieldmap[8].document[0].field "n.nf1.f1" +fieldmap[8].document[1].field "n.nf1.f1s" +fieldmap[8].document[2].field "n.nf1s.f1" +fieldmap[8].document[3].field "n.nf1s.f1s" +fieldmap[8].document[4].field "n.nf1s.f2" +fieldmap[8].document[5].field "n.nf1s.f3" +fieldmap[8].document[6].field "n.nf2" +fieldmap[8].command NONE +fieldmap[9].summary "array1" +fieldmap[9].document[0].field "array1.f1" +fieldmap[9].document[1].field "array1.f1s" +fieldmap[9].document[2].field "array1.f2" +fieldmap[9].document[3].field "array1.f3" +fieldmap[9].command NONE +fieldmap[10].summary "array2" +fieldmap[10].document[0].field "array2.f1" +fieldmap[10].document[1].field "array2.f1s" +fieldmap[10].document[2].field "array2.f2" +fieldmap[10].document[3].field "array2.f3" +fieldmap[10].command NONE +fieldmap[11].summary "array3" +fieldmap[11].document[0].field "array3.f1" +fieldmap[11].document[1].field "array3.f1s" +fieldmap[11].document[2].field "array3.f3" +fieldmap[11].command NONE +fieldmap[12].summary "subject" +fieldmap[12].document[0].field "subject.f1" +fieldmap[12].command NONE +fieldmap[13].summary "g" +fieldmap[13].document[0].field "g" +fieldmap[13].command FLATTENJUNIPER +fieldmap[14].summary "rankfeatures" +fieldmap[14].command NONE +fieldmap[15].summary "summaryfeatures" +fieldmap[15].command NONE +fieldmap[16].summary "snippet" +fieldmap[16].document[0].field "a.f1" +fieldmap[16].document[1].field "b.f2" +fieldmap[16].command FLATTENJUNIPER +fieldmap[17].summary "snippet2" +fieldmap[17].document[0].field "a.f1" +fieldmap[17].document[1].field "b.f1" +fieldmap[17].document[2].field "b.f2" +fieldmap[17].command FLATTENSPACE
\ No newline at end of file diff --git a/config-model/src/test/derived/twostreamingstructs/whatever.sd b/config-model/src/test/derived/twostreamingstructs/whatever.sd new file mode 100644 index 00000000000..0ddc655df15 --- /dev/null +++ b/config-model/src/test/derived/twostreamingstructs/whatever.sd @@ -0,0 +1,16 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search whatever { + + document whatever { + struct pair { + field key type string {} + field value type string {} + } + + field f1 type pair { + indexing: summary + body + } + } + +} diff --git a/config-model/src/test/derived/types/attributes.cfg b/config-model/src/test/derived/types/attributes.cfg new file mode 100644 index 00000000000..f20562d2a3c --- /dev/null +++ b/config-model/src/test/derived/types/attributes.cfg @@ -0,0 +1,209 @@ +attribute[0].name "abyte" +attribute[0].datatype INT8 +attribute[0].collectiontype SINGLE +attribute[0].removeifzero false +attribute[0].createifnonexistent false +attribute[0].fastsearch false +attribute[0].huge false +attribute[0].sortascending true +attribute[0].sortfunction UCA +attribute[0].sortstrength PRIMARY +attribute[0].sortlocale "" +attribute[0].enablebitvectors false +attribute[0].enableonlybitvector false +attribute[0].fastaccess false +attribute[0].arity 8 +attribute[0].lowerbound -9223372036854775808 +attribute[0].upperbound 9223372036854775807 +attribute[0].densepostinglistthreshold 0.4 +attribute[0].tensortype "" +attribute[1].name "along" +attribute[1].datatype INT64 +attribute[1].collectiontype SINGLE +attribute[1].removeifzero false +attribute[1].createifnonexistent false +attribute[1].fastsearch false +attribute[1].huge false +attribute[1].sortascending true +attribute[1].sortfunction UCA +attribute[1].sortstrength PRIMARY +attribute[1].sortlocale "" +attribute[1].enablebitvectors false +attribute[1].enableonlybitvector false +attribute[1].fastaccess false +attribute[1].arity 8 +attribute[1].lowerbound -9223372036854775808 +attribute[1].upperbound 9223372036854775807 +attribute[1].densepostinglistthreshold 0.4 +attribute[1].tensortype "" +attribute[2].name "arrayfield" +attribute[2].datatype INT32 +attribute[2].collectiontype ARRAY +attribute[2].removeifzero false +attribute[2].createifnonexistent false +attribute[2].fastsearch false +attribute[2].huge false +attribute[2].sortascending true +attribute[2].sortfunction UCA +attribute[2].sortstrength PRIMARY +attribute[2].sortlocale "" +attribute[2].enablebitvectors false +attribute[2].enableonlybitvector false +attribute[2].fastaccess false +attribute[2].arity 8 +attribute[2].lowerbound -9223372036854775808 +attribute[2].upperbound 9223372036854775807 +attribute[2].densepostinglistthreshold 0.4 +attribute[2].tensortype "" +attribute[3].name "setfield" +attribute[3].datatype STRING +attribute[3].collectiontype WEIGHTEDSET +attribute[3].removeifzero false +attribute[3].createifnonexistent false +attribute[3].fastsearch false +attribute[3].huge false +attribute[3].sortascending true +attribute[3].sortfunction UCA +attribute[3].sortstrength PRIMARY +attribute[3].sortlocale "" +attribute[3].enablebitvectors false +attribute[3].enableonlybitvector false +attribute[3].fastaccess false +attribute[3].arity 8 +attribute[3].lowerbound -9223372036854775808 +attribute[3].upperbound 9223372036854775807 +attribute[3].densepostinglistthreshold 0.4 +attribute[3].tensortype "" +attribute[4].name "setfield2" +attribute[4].datatype STRING +attribute[4].collectiontype WEIGHTEDSET +attribute[4].removeifzero true +attribute[4].createifnonexistent true +attribute[4].fastsearch false +attribute[4].huge false +attribute[4].sortascending true +attribute[4].sortfunction UCA +attribute[4].sortstrength PRIMARY +attribute[4].sortlocale "" +attribute[4].enablebitvectors false +attribute[4].enableonlybitvector false +attribute[4].fastaccess false +attribute[4].arity 8 +attribute[4].lowerbound -9223372036854775808 +attribute[4].upperbound 9223372036854775807 +attribute[4].densepostinglistthreshold 0.4 +attribute[4].tensortype "" +attribute[5].name "setfield3" +attribute[5].datatype STRING +attribute[5].collectiontype WEIGHTEDSET +attribute[5].removeifzero true +attribute[5].createifnonexistent false +attribute[5].fastsearch false +attribute[5].huge false +attribute[5].sortascending true +attribute[5].sortfunction UCA +attribute[5].sortstrength PRIMARY +attribute[5].sortlocale "" +attribute[5].enablebitvectors false +attribute[5].enableonlybitvector false +attribute[5].fastaccess false +attribute[5].arity 8 +attribute[5].lowerbound -9223372036854775808 +attribute[5].upperbound 9223372036854775807 +attribute[5].densepostinglistthreshold 0.4 +attribute[5].tensortype "" +attribute[6].name "setfield4" +attribute[6].datatype STRING +attribute[6].collectiontype WEIGHTEDSET +attribute[6].removeifzero false +attribute[6].createifnonexistent true +attribute[6].fastsearch false +attribute[6].huge false +attribute[6].sortascending true +attribute[6].sortfunction UCA +attribute[6].sortstrength PRIMARY +attribute[6].sortlocale "" +attribute[6].enablebitvectors false +attribute[6].enableonlybitvector false +attribute[6].fastaccess false +attribute[6].arity 8 +attribute[6].lowerbound -9223372036854775808 +attribute[6].upperbound 9223372036854775807 +attribute[6].densepostinglistthreshold 0.4 +attribute[6].tensortype "" +attribute[7].name "tagfield" +attribute[7].datatype STRING +attribute[7].collectiontype WEIGHTEDSET +attribute[7].removeifzero true +attribute[7].createifnonexistent true +attribute[7].fastsearch false +attribute[7].huge false +attribute[7].sortascending true +attribute[7].sortfunction UCA +attribute[7].sortstrength PRIMARY +attribute[7].sortlocale "" +attribute[7].enablebitvectors false +attribute[7].enableonlybitvector false +attribute[7].fastaccess false +attribute[7].arity 8 +attribute[7].lowerbound -9223372036854775808 +attribute[7].upperbound 9223372036854775807 +attribute[7].densepostinglistthreshold 0.4 +attribute[7].tensortype "" +attribute[8].name "juletre" +attribute[8].datatype INT64 +attribute[8].collectiontype SINGLE +attribute[8].removeifzero false +attribute[8].createifnonexistent false +attribute[8].fastsearch true +attribute[8].huge false +attribute[8].sortascending true +attribute[8].sortfunction UCA +attribute[8].sortstrength PRIMARY +attribute[8].sortlocale "" +attribute[8].enablebitvectors false +attribute[8].enableonlybitvector false +attribute[8].fastaccess false +attribute[8].arity 8 +attribute[8].lowerbound -9223372036854775808 +attribute[8].upperbound 9223372036854775807 +attribute[8].densepostinglistthreshold 0.4 +attribute[8].tensortype "" +attribute[9].name "album1" +attribute[9].datatype STRING +attribute[9].collectiontype WEIGHTEDSET +attribute[9].removeifzero true +attribute[9].createifnonexistent true +attribute[9].fastsearch false +attribute[9].huge false +attribute[9].sortascending true +attribute[9].sortfunction UCA +attribute[9].sortstrength PRIMARY +attribute[9].sortlocale "" +attribute[9].enablebitvectors false +attribute[9].enableonlybitvector false +attribute[9].fastaccess false +attribute[9].arity 8 +attribute[9].lowerbound -9223372036854775808 +attribute[9].upperbound 9223372036854775807 +attribute[9].densepostinglistthreshold 0.4 +attribute[9].tensortype "" +attribute[10].name "other" +attribute[10].datatype INT64 +attribute[10].collectiontype SINGLE +attribute[10].removeifzero false +attribute[10].createifnonexistent false +attribute[10].fastsearch false +attribute[10].huge false +attribute[10].sortascending true +attribute[10].sortfunction UCA +attribute[10].sortstrength PRIMARY +attribute[10].sortlocale "" +attribute[10].enablebitvectors false +attribute[10].enableonlybitvector false +attribute[10].fastaccess false +attribute[10].arity 8 +attribute[10].lowerbound -9223372036854775808 +attribute[10].upperbound 9223372036854775807 +attribute[10].densepostinglistthreshold 0.4 +attribute[10].tensortype "" diff --git a/config-model/src/test/derived/types/documentmanager.cfg b/config-model/src/test/derived/types/documentmanager.cfg new file mode 100644 index 00000000000..a2018ffa195 --- /dev/null +++ b/config-model/src/test/derived/types/documentmanager.cfg @@ -0,0 +1,218 @@ +enablecompression false +datatype[0].id 1381038251 +datatype[0].structtype[0].name "position" +datatype[0].structtype[0].version 0 +datatype[0].structtype[0].compresstype NONE +datatype[0].structtype[0].compresslevel 0 +datatype[0].structtype[0].compressthreshold 95 +datatype[0].structtype[0].compressminsize 800 +datatype[0].structtype[0].field[0].name "x" +datatype[0].structtype[0].field[0].datatype 0 +datatype[0].structtype[0].field[1].name "y" +datatype[0].structtype[0].field[1].datatype 0 +datatype[1].id -1865479609 +datatype[1].maptype[0].keytype 2 +datatype[1].maptype[0].valtype 4 +datatype[2].id 294108848 +datatype[2].structtype[0].name "folder" +datatype[2].structtype[0].version 0 +datatype[2].structtype[0].compresstype NONE +datatype[2].structtype[0].compresslevel 0 +datatype[2].structtype[0].compressthreshold 95 +datatype[2].structtype[0].compressminsize 800 +datatype[2].structtype[0].field[0].name "Version" +datatype[2].structtype[0].field[0].datatype 0 +datatype[2].structtype[0].field[1].name "Name" +datatype[2].structtype[0].field[1].datatype 2 +datatype[2].structtype[0].field[2].name "FlagsCounter" +datatype[2].structtype[0].field[2].datatype -1865479609 +datatype[2].structtype[0].field[3].name "anotherfolder" +datatype[2].structtype[0].field[3].datatype 294108848 +datatype[3].id 109267174 +datatype[3].structtype[0].name "sct" +datatype[3].structtype[0].version 0 +datatype[3].structtype[0].compresstype NONE +datatype[3].structtype[0].compresslevel 0 +datatype[3].structtype[0].compressthreshold 95 +datatype[3].structtype[0].compressminsize 800 +datatype[3].structtype[0].field[0].name "s1" +datatype[3].structtype[0].field[0].datatype 2 +datatype[3].structtype[0].field[1].name "s2" +datatype[3].structtype[0].field[1].datatype 2 +datatype[4].id 49942803 +datatype[4].arraytype[0].datatype 16 +datatype[5].id 339965458 +datatype[5].maptype[0].keytype 2 +datatype[5].maptype[0].valtype 2 +datatype[6].id -2092985853 +datatype[6].structtype[0].name "mystruct" +datatype[6].structtype[0].version 0 +datatype[6].structtype[0].compresstype NONE +datatype[6].structtype[0].compresslevel 0 +datatype[6].structtype[0].compressthreshold 95 +datatype[6].structtype[0].compressminsize 800 +datatype[6].structtype[0].field[0].name "bytearr" +datatype[6].structtype[0].field[0].datatype 49942803 +datatype[6].structtype[0].field[1].name "mymap" +datatype[6].structtype[0].field[1].datatype 339965458 +datatype[6].structtype[0].field[2].name "title" +datatype[6].structtype[0].field[2].datatype 2 +datatype[6].structtype[0].field[3].name "structfield" +datatype[6].structtype[0].field[3].datatype 2 +datatype[7].id -1245117006 +datatype[7].arraytype[0].datatype 0 +datatype[8].id 1328286588 +datatype[8].weightedsettype[0].datatype 2 +datatype[8].weightedsettype[0].createifnonexistant false +datatype[8].weightedsettype[0].removeifzero false +datatype[9].id 2125328771 +datatype[9].weightedsettype[0].datatype 2 +datatype[9].weightedsettype[0].createifnonexistant false +datatype[9].weightedsettype[0].removeifzero true +datatype[10].id 2065577986 +datatype[10].weightedsettype[0].datatype 2 +datatype[10].weightedsettype[0].createifnonexistant true +datatype[10].weightedsettype[0].removeifzero false +datatype[11].id -1244829667 +datatype[11].arraytype[0].datatype 109267174 +datatype[12].id -1584287606 +datatype[12].maptype[0].keytype 2 +datatype[12].maptype[0].valtype 0 +datatype[13].id 2125154557 +datatype[13].maptype[0].keytype 2 +datatype[13].maptype[0].valtype 1 +datatype[14].id -1715531035 +datatype[14].maptype[0].keytype 0 +datatype[14].maptype[0].valtype 4 +datatype[15].id 2138385264 +datatype[15].maptype[0].keytype 0 +datatype[15].maptype[0].valtype 5 +datatype[16].id 435886609 +datatype[16].maptype[0].keytype 2 +datatype[16].maptype[0].valtype -1245117006 +datatype[17].id -1486737430 +datatype[17].arraytype[0].datatype 2 +datatype[18].id 1707615575 +datatype[18].arraytype[0].datatype -1486737430 +datatype[19].id -794985308 +datatype[19].arraytype[0].datatype 1707615575 +datatype[20].id 69621385 +datatype[20].arraytype[0].datatype 339965458 +datatype[21].id 1901258752 +datatype[21].maptype[0].keytype 0 +datatype[21].maptype[0].valtype -2092985853 +datatype[22].id 759956026 +datatype[22].arraytype[0].datatype -2092985853 +datatype[23].id -389833101 +datatype[23].maptype[0].keytype 0 +datatype[23].maptype[0].valtype 294108848 +datatype[24].id 1328581348 +datatype[24].structtype[0].name "types.header" +datatype[24].structtype[0].version 0 +datatype[24].structtype[0].compresstype NONE +datatype[24].structtype[0].compresslevel 0 +datatype[24].structtype[0].compressthreshold 95 +datatype[24].structtype[0].compressminsize 800 +datatype[24].structtype[0].field[0].name "abyte" +datatype[24].structtype[0].field[0].datatype 16 +datatype[24].structtype[0].field[1].name "along" +datatype[24].structtype[0].field[1].datatype 4 +datatype[24].structtype[0].field[2].name "arrayfield" +datatype[24].structtype[0].field[2].datatype -1245117006 +datatype[24].structtype[0].field[3].name "setfield" +datatype[24].structtype[0].field[3].datatype 1328286588 +datatype[24].structtype[0].field[4].name "setfield2" +datatype[24].structtype[0].field[4].datatype 18 +datatype[24].structtype[0].field[5].name "setfield3" +datatype[24].structtype[0].field[5].datatype 2125328771 +datatype[24].structtype[0].field[6].name "setfield4" +datatype[24].structtype[0].field[6].datatype 2065577986 +datatype[24].structtype[0].field[7].name "tagfield" +datatype[24].structtype[0].field[7].datatype 18 +datatype[24].structtype[0].field[8].name "structfield" +datatype[24].structtype[0].field[8].datatype 109267174 +datatype[24].structtype[0].field[9].name "structarrayfield" +datatype[24].structtype[0].field[9].datatype -1244829667 +datatype[24].structtype[0].field[10].name "stringmapfield" +datatype[24].structtype[0].field[10].datatype 339965458 +datatype[24].structtype[0].field[11].name "intmapfield" +datatype[24].structtype[0].field[11].datatype -1584287606 +datatype[24].structtype[0].field[12].name "floatmapfield" +datatype[24].structtype[0].field[12].datatype 2125154557 +datatype[24].structtype[0].field[13].name "longmapfield" +datatype[24].structtype[0].field[13].datatype -1715531035 +datatype[24].structtype[0].field[14].name "doublemapfield" +datatype[24].structtype[0].field[14].datatype 2138385264 +datatype[24].structtype[0].field[15].name "arraymapfield" +datatype[24].structtype[0].field[15].datatype 435886609 +datatype[24].structtype[0].field[16].name "arrarr" +datatype[24].structtype[0].field[16].datatype -794985308 +datatype[24].structtype[0].field[17].name "maparr" +datatype[24].structtype[0].field[17].datatype 69621385 +datatype[24].structtype[0].field[18].name "mystructfield" +datatype[24].structtype[0].field[18].datatype -2092985853 +datatype[24].structtype[0].field[19].name "mystructmap" +datatype[24].structtype[0].field[19].datatype 1901258752 +datatype[24].structtype[0].field[20].name "mystructarr" +datatype[24].structtype[0].field[20].datatype 759956026 +datatype[24].structtype[0].field[21].name "Folders" +datatype[24].structtype[0].field[21].datatype -389833101 +datatype[24].structtype[0].field[22].name "juletre" +datatype[24].structtype[0].field[22].datatype 4 +datatype[24].structtype[0].field[23].name "album0" +datatype[24].structtype[0].field[23].datatype 18 +datatype[24].structtype[0].field[24].name "album1" +datatype[24].structtype[0].field[24].datatype 18 +datatype[24].structtype[0].field[25].name "other" +datatype[24].structtype[0].field[25].datatype 4 +datatype[24].structtype[0].field[26].name "rankfeatures" +datatype[24].structtype[0].field[26].datatype 2 +datatype[24].structtype[0].field[27].name "summaryfeatures" +datatype[24].structtype[0].field[27].datatype 2 +datatype[25].id 171503364 +datatype[25].maptype[0].keytype 1707615575 +datatype[25].maptype[0].valtype 0 +datatype[26].id 1100964733 +datatype[26].arraytype[0].datatype 171503364 +datatype[27].id 348447225 +datatype[27].structtype[0].name "types.body" +datatype[27].structtype[0].version 0 +datatype[27].structtype[0].compresstype NONE +datatype[27].structtype[0].compresslevel 0 +datatype[27].structtype[0].compressthreshold 95 +datatype[27].structtype[0].compressminsize 800 +datatype[27].structtype[0].field[0].name "complexarray" +datatype[27].structtype[0].field[0].datatype 1100964733 +datatype[28].id -853072901 +datatype[28].documenttype[0].name "types" +datatype[28].documenttype[0].version 0 +datatype[28].documenttype[0].inherits[0].name "document" +datatype[28].documenttype[0].inherits[0].version 0 +datatype[28].documenttype[0].headerstruct 1328581348 +datatype[28].documenttype[0].bodystruct 348447225 +datatype[28].documenttype[0].fieldsets{[document]}.fields[0] "Folders" +datatype[28].documenttype[0].fieldsets{[document]}.fields[1] "abyte" +datatype[28].documenttype[0].fieldsets{[document]}.fields[2] "album0" +datatype[28].documenttype[0].fieldsets{[document]}.fields[3] "album1" +datatype[28].documenttype[0].fieldsets{[document]}.fields[4] "along" +datatype[28].documenttype[0].fieldsets{[document]}.fields[5] "arrarr" +datatype[28].documenttype[0].fieldsets{[document]}.fields[6] "arrayfield" +datatype[28].documenttype[0].fieldsets{[document]}.fields[7] "arraymapfield" +datatype[28].documenttype[0].fieldsets{[document]}.fields[8] "complexarray" +datatype[28].documenttype[0].fieldsets{[document]}.fields[9] "doublemapfield" +datatype[28].documenttype[0].fieldsets{[document]}.fields[10] "floatmapfield" +datatype[28].documenttype[0].fieldsets{[document]}.fields[11] "intmapfield" +datatype[28].documenttype[0].fieldsets{[document]}.fields[12] "juletre" +datatype[28].documenttype[0].fieldsets{[document]}.fields[13] "longmapfield" +datatype[28].documenttype[0].fieldsets{[document]}.fields[14] "maparr" +datatype[28].documenttype[0].fieldsets{[document]}.fields[15] "mystructarr" +datatype[28].documenttype[0].fieldsets{[document]}.fields[16] "mystructfield" +datatype[28].documenttype[0].fieldsets{[document]}.fields[17] "mystructmap" +datatype[28].documenttype[0].fieldsets{[document]}.fields[18] "setfield" +datatype[28].documenttype[0].fieldsets{[document]}.fields[19] "setfield2" +datatype[28].documenttype[0].fieldsets{[document]}.fields[20] "setfield3" +datatype[28].documenttype[0].fieldsets{[document]}.fields[21] "setfield4" +datatype[28].documenttype[0].fieldsets{[document]}.fields[22] "stringmapfield" +datatype[28].documenttype[0].fieldsets{[document]}.fields[23] "structarrayfield" +datatype[28].documenttype[0].fieldsets{[document]}.fields[24] "structfield" +datatype[28].documenttype[0].fieldsets{[document]}.fields[25] "tagfield" diff --git a/config-model/src/test/derived/types/ilscripts.cfg b/config-model/src/test/derived/types/ilscripts.cfg new file mode 100644 index 00000000000..cc692e120be --- /dev/null +++ b/config-model/src/test/derived/types/ilscripts.cfg @@ -0,0 +1,55 @@ +maxtermoccurrences 100 +ilscript[0].doctype "types" +ilscript[0].docfield[0] "abyte" +ilscript[0].docfield[1] "along" +ilscript[0].docfield[2] "arrayfield" +ilscript[0].docfield[3] "setfield" +ilscript[0].docfield[4] "setfield2" +ilscript[0].docfield[5] "setfield3" +ilscript[0].docfield[6] "setfield4" +ilscript[0].docfield[7] "tagfield" +ilscript[0].docfield[8] "structfield" +ilscript[0].docfield[9] "structarrayfield" +ilscript[0].docfield[10] "stringmapfield" +ilscript[0].docfield[11] "intmapfield" +ilscript[0].docfield[12] "floatmapfield" +ilscript[0].docfield[13] "longmapfield" +ilscript[0].docfield[14] "doublemapfield" +ilscript[0].docfield[15] "arraymapfield" +ilscript[0].docfield[16] "arrarr" +ilscript[0].docfield[17] "maparr" +ilscript[0].docfield[18] "mystructfield" +ilscript[0].docfield[19] "mystructmap" +ilscript[0].docfield[20] "mystructarr" +ilscript[0].docfield[21] "Folders" +ilscript[0].docfield[22] "juletre" +ilscript[0].docfield[23] "album0" +ilscript[0].docfield[24] "album1" +ilscript[0].docfield[25] "complexarray" +ilscript[0].content[0] "clear_state | guard { input along | attribute other; }" +ilscript[0].content[1] "clear_state | guard { input abyte | summary abyte | attribute abyte; }" +ilscript[0].content[2] "clear_state | guard { input along | summary along | attribute along; }" +ilscript[0].content[3] "clear_state | guard { input arrayfield | attribute arrayfield; }" +ilscript[0].content[4] "clear_state | guard { input setfield | attribute setfield; }" +ilscript[0].content[5] "clear_state | guard { input setfield2 | attribute setfield2; }" +ilscript[0].content[6] "clear_state | guard { input setfield3 | attribute setfield3; }" +ilscript[0].content[7] "clear_state | guard { input setfield4 | attribute setfield4; }" +ilscript[0].content[8] "clear_state | guard { input tagfield | attribute tagfield | summary tagfield; }" +ilscript[0].content[9] "clear_state | guard { input juletre | attribute juletre; }" +ilscript[0].content[10] "clear_state | guard { input album0 | summary album0; }" +ilscript[0].content[11] "clear_state | guard { input album1 | attribute album1 | summary album1; }" +ilscript[0].content[12] "input Folders | passthrough Folders" +ilscript[0].content[13] "input arrarr | passthrough arrarr" +ilscript[0].content[14] "input arraymapfield | passthrough arraymapfield" +ilscript[0].content[15] "input complexarray | passthrough complexarray" +ilscript[0].content[16] "input doublemapfield | passthrough doublemapfield" +ilscript[0].content[17] "input floatmapfield | passthrough floatmapfield" +ilscript[0].content[18] "input intmapfield | passthrough intmapfield" +ilscript[0].content[19] "input longmapfield | passthrough longmapfield" +ilscript[0].content[20] "input maparr | passthrough maparr" +ilscript[0].content[21] "input mystructarr | passthrough mystructarr" +ilscript[0].content[22] "input mystructfield | passthrough mystructfield" +ilscript[0].content[23] "input mystructmap | passthrough mystructmap" +ilscript[0].content[24] "input stringmapfield | passthrough stringmapfield" +ilscript[0].content[25] "input structarrayfield | passthrough structarrayfield" +ilscript[0].content[26] "input structfield | passthrough structfield" diff --git a/config-model/src/test/derived/types/index-info.cfg b/config-model/src/test/derived/types/index-info.cfg new file mode 100644 index 00000000000..4b94127c687 --- /dev/null +++ b/config-model/src/test/derived/types/index-info.cfg @@ -0,0 +1,427 @@ +indexinfo[0].name "types" +indexinfo[0].command[0].indexname "sddocname" +indexinfo[0].command[0].command "index" +indexinfo[0].command[1].indexname "sddocname" +indexinfo[0].command[1].command "word" +indexinfo[0].command[2].indexname "abyte" +indexinfo[0].command[2].command "index" +indexinfo[0].command[3].indexname "abyte" +indexinfo[0].command[3].command "attribute" +indexinfo[0].command[4].indexname "abyte" +indexinfo[0].command[4].command "numerical" +indexinfo[0].command[5].indexname "along" +indexinfo[0].command[5].command "index" +indexinfo[0].command[6].indexname "along" +indexinfo[0].command[6].command "attribute" +indexinfo[0].command[7].indexname "along" +indexinfo[0].command[7].command "numerical" +indexinfo[0].command[8].indexname "arrayfield" +indexinfo[0].command[8].command "index" +indexinfo[0].command[9].indexname "arrayfield" +indexinfo[0].command[9].command "multivalue" +indexinfo[0].command[10].indexname "arrayfield" +indexinfo[0].command[10].command "attribute" +indexinfo[0].command[11].indexname "setfield" +indexinfo[0].command[11].command "index" +indexinfo[0].command[12].indexname "setfield" +indexinfo[0].command[12].command "multivalue" +indexinfo[0].command[13].indexname "setfield" +indexinfo[0].command[13].command "attribute" +indexinfo[0].command[14].indexname "setfield2" +indexinfo[0].command[14].command "index" +indexinfo[0].command[15].indexname "setfield2" +indexinfo[0].command[15].command "multivalue" +indexinfo[0].command[16].indexname "setfield2" +indexinfo[0].command[16].command "attribute" +indexinfo[0].command[17].indexname "setfield2" +indexinfo[0].command[17].command "word" +indexinfo[0].command[18].indexname "setfield3" +indexinfo[0].command[18].command "index" +indexinfo[0].command[19].indexname "setfield3" +indexinfo[0].command[19].command "multivalue" +indexinfo[0].command[20].indexname "setfield3" +indexinfo[0].command[20].command "attribute" +indexinfo[0].command[21].indexname "setfield4" +indexinfo[0].command[21].command "index" +indexinfo[0].command[22].indexname "setfield4" +indexinfo[0].command[22].command "multivalue" +indexinfo[0].command[23].indexname "setfield4" +indexinfo[0].command[23].command "attribute" +indexinfo[0].command[24].indexname "tagfield" +indexinfo[0].command[24].command "index" +indexinfo[0].command[25].indexname "tagfield" +indexinfo[0].command[25].command "multivalue" +indexinfo[0].command[26].indexname "tagfield" +indexinfo[0].command[26].command "attribute" +indexinfo[0].command[27].indexname "structfield.s1" +indexinfo[0].command[27].command "index" +indexinfo[0].command[28].indexname "structfield.s2" +indexinfo[0].command[28].command "index" +indexinfo[0].command[29].indexname "structfield" +indexinfo[0].command[29].command "index" +indexinfo[0].command[30].indexname "structarrayfield.s1" +indexinfo[0].command[30].command "index" +indexinfo[0].command[31].indexname "structarrayfield.s2" +indexinfo[0].command[31].command "index" +indexinfo[0].command[32].indexname "structarrayfield" +indexinfo[0].command[32].command "index" +indexinfo[0].command[33].indexname "structarrayfield" +indexinfo[0].command[33].command "multivalue" +indexinfo[0].command[34].indexname "stringmapfield.key" +indexinfo[0].command[34].command "index" +indexinfo[0].command[35].indexname "stringmapfield.key" +indexinfo[0].command[35].command "lowercase" +indexinfo[0].command[36].indexname "stringmapfield.key" +indexinfo[0].command[36].command "stem:SHORTEST" +indexinfo[0].command[37].indexname "stringmapfield.key" +indexinfo[0].command[37].command "normalize" +indexinfo[0].command[38].indexname "stringmapfield.value" +indexinfo[0].command[38].command "index" +indexinfo[0].command[39].indexname "stringmapfield.value" +indexinfo[0].command[39].command "lowercase" +indexinfo[0].command[40].indexname "stringmapfield.value" +indexinfo[0].command[40].command "stem:SHORTEST" +indexinfo[0].command[41].indexname "stringmapfield.value" +indexinfo[0].command[41].command "normalize" +indexinfo[0].command[42].indexname "stringmapfield" +indexinfo[0].command[42].command "index" +indexinfo[0].command[43].indexname "stringmapfield" +indexinfo[0].command[43].command "lowercase" +indexinfo[0].command[44].indexname "stringmapfield" +indexinfo[0].command[44].command "multivalue" +indexinfo[0].command[45].indexname "intmapfield.key" +indexinfo[0].command[45].command "index" +indexinfo[0].command[46].indexname "intmapfield.value" +indexinfo[0].command[46].command "index" +indexinfo[0].command[47].indexname "intmapfield.value" +indexinfo[0].command[47].command "numerical" +indexinfo[0].command[48].indexname "intmapfield" +indexinfo[0].command[48].command "index" +indexinfo[0].command[49].indexname "intmapfield" +indexinfo[0].command[49].command "multivalue" +indexinfo[0].command[50].indexname "floatmapfield.key" +indexinfo[0].command[50].command "index" +indexinfo[0].command[51].indexname "floatmapfield.value" +indexinfo[0].command[51].command "index" +indexinfo[0].command[52].indexname "floatmapfield.value" +indexinfo[0].command[52].command "numerical" +indexinfo[0].command[53].indexname "floatmapfield" +indexinfo[0].command[53].command "index" +indexinfo[0].command[54].indexname "floatmapfield" +indexinfo[0].command[54].command "multivalue" +indexinfo[0].command[55].indexname "longmapfield.key" +indexinfo[0].command[55].command "index" +indexinfo[0].command[56].indexname "longmapfield.key" +indexinfo[0].command[56].command "numerical" +indexinfo[0].command[57].indexname "longmapfield.value" +indexinfo[0].command[57].command "index" +indexinfo[0].command[58].indexname "longmapfield.value" +indexinfo[0].command[58].command "numerical" +indexinfo[0].command[59].indexname "longmapfield" +indexinfo[0].command[59].command "index" +indexinfo[0].command[60].indexname "longmapfield" +indexinfo[0].command[60].command "multivalue" +indexinfo[0].command[61].indexname "doublemapfield.key" +indexinfo[0].command[61].command "index" +indexinfo[0].command[62].indexname "doublemapfield.key" +indexinfo[0].command[62].command "numerical" +indexinfo[0].command[63].indexname "doublemapfield.value" +indexinfo[0].command[63].command "index" +indexinfo[0].command[64].indexname "doublemapfield.value" +indexinfo[0].command[64].command "numerical" +indexinfo[0].command[65].indexname "doublemapfield" +indexinfo[0].command[65].command "index" +indexinfo[0].command[66].indexname "doublemapfield" +indexinfo[0].command[66].command "multivalue" +indexinfo[0].command[67].indexname "arraymapfield.key" +indexinfo[0].command[67].command "index" +indexinfo[0].command[68].indexname "arraymapfield.value" +indexinfo[0].command[68].command "index" +indexinfo[0].command[69].indexname "arraymapfield.value" +indexinfo[0].command[69].command "multivalue" +indexinfo[0].command[70].indexname "arraymapfield" +indexinfo[0].command[70].command "index" +indexinfo[0].command[71].indexname "arraymapfield" +indexinfo[0].command[71].command "multivalue" +indexinfo[0].command[72].indexname "arrarr" +indexinfo[0].command[72].command "index" +indexinfo[0].command[73].indexname "arrarr" +indexinfo[0].command[73].command "multivalue" +indexinfo[0].command[74].indexname "maparr" +indexinfo[0].command[74].command "index" +indexinfo[0].command[75].indexname "maparr" +indexinfo[0].command[75].command "multivalue" +indexinfo[0].command[76].indexname "mystructfield.bytearr" +indexinfo[0].command[76].command "index" +indexinfo[0].command[77].indexname "mystructfield.bytearr" +indexinfo[0].command[77].command "multivalue" +indexinfo[0].command[78].indexname "mystructfield.mymap.key" +indexinfo[0].command[78].command "index" +indexinfo[0].command[79].indexname "mystructfield.mymap.value" +indexinfo[0].command[79].command "index" +indexinfo[0].command[80].indexname "mystructfield.mymap" +indexinfo[0].command[80].command "index" +indexinfo[0].command[81].indexname "mystructfield.mymap" +indexinfo[0].command[81].command "multivalue" +indexinfo[0].command[82].indexname "mystructfield.title" +indexinfo[0].command[82].command "index" +indexinfo[0].command[83].indexname "mystructfield.structfield" +indexinfo[0].command[83].command "index" +indexinfo[0].command[84].indexname "mystructfield" +indexinfo[0].command[84].command "index" +indexinfo[0].command[85].indexname "mystructmap.key" +indexinfo[0].command[85].command "index" +indexinfo[0].command[86].indexname "mystructmap.key" +indexinfo[0].command[86].command "numerical" +indexinfo[0].command[87].indexname "mystructmap.value.bytearr" +indexinfo[0].command[87].command "index" +indexinfo[0].command[88].indexname "mystructmap.value.bytearr" +indexinfo[0].command[88].command "multivalue" +indexinfo[0].command[89].indexname "mystructmap.value.mymap.key" +indexinfo[0].command[89].command "index" +indexinfo[0].command[90].indexname "mystructmap.value.mymap.value" +indexinfo[0].command[90].command "index" +indexinfo[0].command[91].indexname "mystructmap.value.mymap" +indexinfo[0].command[91].command "index" +indexinfo[0].command[92].indexname "mystructmap.value.mymap" +indexinfo[0].command[92].command "multivalue" +indexinfo[0].command[93].indexname "mystructmap.value.title" +indexinfo[0].command[93].command "index" +indexinfo[0].command[94].indexname "mystructmap.value.structfield" +indexinfo[0].command[94].command "index" +indexinfo[0].command[95].indexname "mystructmap.value" +indexinfo[0].command[95].command "index" +indexinfo[0].command[96].indexname "mystructmap" +indexinfo[0].command[96].command "index" +indexinfo[0].command[97].indexname "mystructmap" +indexinfo[0].command[97].command "multivalue" +indexinfo[0].command[98].indexname "mystructarr.bytearr" +indexinfo[0].command[98].command "index" +indexinfo[0].command[99].indexname "mystructarr.bytearr" +indexinfo[0].command[99].command "multivalue" +indexinfo[0].command[100].indexname "mystructarr.mymap.key" +indexinfo[0].command[100].command "index" +indexinfo[0].command[101].indexname "mystructarr.mymap.value" +indexinfo[0].command[101].command "index" +indexinfo[0].command[102].indexname "mystructarr.mymap" +indexinfo[0].command[102].command "index" +indexinfo[0].command[103].indexname "mystructarr.mymap" +indexinfo[0].command[103].command "multivalue" +indexinfo[0].command[104].indexname "mystructarr.title" +indexinfo[0].command[104].command "index" +indexinfo[0].command[105].indexname "mystructarr.structfield" +indexinfo[0].command[105].command "index" +indexinfo[0].command[106].indexname "mystructarr" +indexinfo[0].command[106].command "index" +indexinfo[0].command[107].indexname "mystructarr" +indexinfo[0].command[107].command "multivalue" +indexinfo[0].command[108].indexname "Folders.key" +indexinfo[0].command[108].command "index" +indexinfo[0].command[109].indexname "Folders.key" +indexinfo[0].command[109].command "numerical" +indexinfo[0].command[110].indexname "Folders.value.Version" +indexinfo[0].command[110].command "index" +indexinfo[0].command[111].indexname "Folders.value.Version" +indexinfo[0].command[111].command "numerical" +indexinfo[0].command[112].indexname "Folders.value.Name" +indexinfo[0].command[112].command "index" +indexinfo[0].command[113].indexname "Folders.value.FlagsCounter.key" +indexinfo[0].command[113].command "index" +indexinfo[0].command[114].indexname "Folders.value.FlagsCounter.value" +indexinfo[0].command[114].command "index" +indexinfo[0].command[115].indexname "Folders.value.FlagsCounter.value" +indexinfo[0].command[115].command "numerical" +indexinfo[0].command[116].indexname "Folders.value.FlagsCounter" +indexinfo[0].command[116].command "index" +indexinfo[0].command[117].indexname "Folders.value.FlagsCounter" +indexinfo[0].command[117].command "multivalue" +indexinfo[0].command[118].indexname "Folders.value.anotherfolder.Version" +indexinfo[0].command[118].command "index" +indexinfo[0].command[119].indexname "Folders.value.anotherfolder.Version" +indexinfo[0].command[119].command "numerical" +indexinfo[0].command[120].indexname "Folders.value.anotherfolder.Name" +indexinfo[0].command[120].command "index" +indexinfo[0].command[121].indexname "Folders.value.anotherfolder.FlagsCounter.key" +indexinfo[0].command[121].command "index" +indexinfo[0].command[122].indexname "Folders.value.anotherfolder.FlagsCounter.value" +indexinfo[0].command[122].command "index" +indexinfo[0].command[123].indexname "Folders.value.anotherfolder.FlagsCounter.value" +indexinfo[0].command[123].command "numerical" +indexinfo[0].command[124].indexname "Folders.value.anotherfolder.FlagsCounter" +indexinfo[0].command[124].command "index" +indexinfo[0].command[125].indexname "Folders.value.anotherfolder.FlagsCounter" +indexinfo[0].command[125].command "multivalue" +indexinfo[0].command[126].indexname "Folders.value.anotherfolder.anotherfolder.Version" +indexinfo[0].command[126].command "index" +indexinfo[0].command[127].indexname "Folders.value.anotherfolder.anotherfolder.Version" +indexinfo[0].command[127].command "numerical" +indexinfo[0].command[128].indexname "Folders.value.anotherfolder.anotherfolder.Name" +indexinfo[0].command[128].command "index" +indexinfo[0].command[129].indexname "Folders.value.anotherfolder.anotherfolder.FlagsCounter.key" +indexinfo[0].command[129].command "index" +indexinfo[0].command[130].indexname "Folders.value.anotherfolder.anotherfolder.FlagsCounter.value" +indexinfo[0].command[130].command "index" +indexinfo[0].command[131].indexname "Folders.value.anotherfolder.anotherfolder.FlagsCounter.value" +indexinfo[0].command[131].command "numerical" +indexinfo[0].command[132].indexname "Folders.value.anotherfolder.anotherfolder.FlagsCounter" +indexinfo[0].command[132].command "index" +indexinfo[0].command[133].indexname "Folders.value.anotherfolder.anotherfolder.FlagsCounter" +indexinfo[0].command[133].command "multivalue" +indexinfo[0].command[134].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.Version" +indexinfo[0].command[134].command "index" +indexinfo[0].command[135].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.Version" +indexinfo[0].command[135].command "numerical" +indexinfo[0].command[136].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.Name" +indexinfo[0].command[136].command "index" +indexinfo[0].command[137].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key" +indexinfo[0].command[137].command "index" +indexinfo[0].command[138].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value" +indexinfo[0].command[138].command "index" +indexinfo[0].command[139].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value" +indexinfo[0].command[139].command "numerical" +indexinfo[0].command[140].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.FlagsCounter" +indexinfo[0].command[140].command "index" +indexinfo[0].command[141].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.FlagsCounter" +indexinfo[0].command[141].command "multivalue" +indexinfo[0].command[142].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version" +indexinfo[0].command[142].command "index" +indexinfo[0].command[143].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version" +indexinfo[0].command[143].command "numerical" +indexinfo[0].command[144].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name" +indexinfo[0].command[144].command "index" +indexinfo[0].command[145].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key" +indexinfo[0].command[145].command "index" +indexinfo[0].command[146].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value" +indexinfo[0].command[146].command "index" +indexinfo[0].command[147].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value" +indexinfo[0].command[147].command "numerical" +indexinfo[0].command[148].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter" +indexinfo[0].command[148].command "index" +indexinfo[0].command[149].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter" +indexinfo[0].command[149].command "multivalue" +indexinfo[0].command[150].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version" +indexinfo[0].command[150].command "index" +indexinfo[0].command[151].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version" +indexinfo[0].command[151].command "numerical" +indexinfo[0].command[152].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name" +indexinfo[0].command[152].command "index" +indexinfo[0].command[153].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key" +indexinfo[0].command[153].command "index" +indexinfo[0].command[154].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value" +indexinfo[0].command[154].command "index" +indexinfo[0].command[155].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value" +indexinfo[0].command[155].command "numerical" +indexinfo[0].command[156].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter" +indexinfo[0].command[156].command "index" +indexinfo[0].command[157].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter" +indexinfo[0].command[157].command "multivalue" +indexinfo[0].command[158].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version" +indexinfo[0].command[158].command "index" +indexinfo[0].command[159].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version" +indexinfo[0].command[159].command "numerical" +indexinfo[0].command[160].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name" +indexinfo[0].command[160].command "index" +indexinfo[0].command[161].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key" +indexinfo[0].command[161].command "index" +indexinfo[0].command[162].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value" +indexinfo[0].command[162].command "index" +indexinfo[0].command[163].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value" +indexinfo[0].command[163].command "numerical" +indexinfo[0].command[164].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter" +indexinfo[0].command[164].command "index" +indexinfo[0].command[165].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter" +indexinfo[0].command[165].command "multivalue" +indexinfo[0].command[166].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version" +indexinfo[0].command[166].command "index" +indexinfo[0].command[167].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version" +indexinfo[0].command[167].command "numerical" +indexinfo[0].command[168].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name" +indexinfo[0].command[168].command "index" +indexinfo[0].command[169].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key" +indexinfo[0].command[169].command "index" +indexinfo[0].command[170].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value" +indexinfo[0].command[170].command "index" +indexinfo[0].command[171].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value" +indexinfo[0].command[171].command "numerical" +indexinfo[0].command[172].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter" +indexinfo[0].command[172].command "index" +indexinfo[0].command[173].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter" +indexinfo[0].command[173].command "multivalue" +indexinfo[0].command[174].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version" +indexinfo[0].command[174].command "index" +indexinfo[0].command[175].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Version" +indexinfo[0].command[175].command "numerical" +indexinfo[0].command[176].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name" +indexinfo[0].command[176].command "index" +indexinfo[0].command[177].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key" +indexinfo[0].command[177].command "index" +indexinfo[0].command[178].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value" +indexinfo[0].command[178].command "index" +indexinfo[0].command[179].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value" +indexinfo[0].command[179].command "numerical" +indexinfo[0].command[180].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter" +indexinfo[0].command[180].command "index" +indexinfo[0].command[181].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter" +indexinfo[0].command[181].command "multivalue" +indexinfo[0].command[182].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder" +indexinfo[0].command[182].command "index" +indexinfo[0].command[183].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder" +indexinfo[0].command[183].command "index" +indexinfo[0].command[184].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder" +indexinfo[0].command[184].command "index" +indexinfo[0].command[185].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder" +indexinfo[0].command[185].command "index" +indexinfo[0].command[186].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder" +indexinfo[0].command[186].command "index" +indexinfo[0].command[187].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder" +indexinfo[0].command[187].command "index" +indexinfo[0].command[188].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder" +indexinfo[0].command[188].command "index" +indexinfo[0].command[189].indexname "Folders.value.anotherfolder.anotherfolder" +indexinfo[0].command[189].command "index" +indexinfo[0].command[190].indexname "Folders.value.anotherfolder" +indexinfo[0].command[190].command "index" +indexinfo[0].command[191].indexname "Folders.value" +indexinfo[0].command[191].command "index" +indexinfo[0].command[192].indexname "Folders" +indexinfo[0].command[192].command "index" +indexinfo[0].command[193].indexname "Folders" +indexinfo[0].command[193].command "multivalue" +indexinfo[0].command[194].indexname "juletre" +indexinfo[0].command[194].command "index" +indexinfo[0].command[195].indexname "juletre" +indexinfo[0].command[195].command "attribute" +indexinfo[0].command[196].indexname "juletre" +indexinfo[0].command[196].command "fast-search" +indexinfo[0].command[197].indexname "juletre" +indexinfo[0].command[197].command "numerical" +indexinfo[0].command[198].indexname "album0" +indexinfo[0].command[198].command "index" +indexinfo[0].command[199].indexname "album0" +indexinfo[0].command[199].command "multivalue" +indexinfo[0].command[200].indexname "album1" +indexinfo[0].command[200].command "index" +indexinfo[0].command[201].indexname "album1" +indexinfo[0].command[201].command "multivalue" +indexinfo[0].command[202].indexname "album1" +indexinfo[0].command[202].command "attribute" +indexinfo[0].command[203].indexname "album1" +indexinfo[0].command[203].command "word" +indexinfo[0].command[204].indexname "complexarray" +indexinfo[0].command[204].command "index" +indexinfo[0].command[205].indexname "complexarray" +indexinfo[0].command[205].command "multivalue" +indexinfo[0].command[206].indexname "other" +indexinfo[0].command[206].command "index" +indexinfo[0].command[207].indexname "other" +indexinfo[0].command[207].command "attribute" +indexinfo[0].command[208].indexname "other" +indexinfo[0].command[208].command "numerical" +indexinfo[0].command[209].indexname "pst_sta_boldingoff_nomatch_tag_01" +indexinfo[0].command[209].command "index" +indexinfo[0].command[210].indexname "pst_sta_boldingoff_nomatch_tag_01" +indexinfo[0].command[210].command "multivalue" +indexinfo[0].command[211].indexname "rankfeatures" +indexinfo[0].command[211].command "index" +indexinfo[0].command[212].indexname "summaryfeatures" +indexinfo[0].command[212].command "index" diff --git a/config-model/src/test/derived/types/rank-profiles.cfg b/config-model/src/test/derived/types/rank-profiles.cfg new file mode 100644 index 00000000000..342a3ca0a2e --- /dev/null +++ b/config-model/src/test/derived/types/rank-profiles.cfg @@ -0,0 +1,16 @@ +rankprofile[0].name "default" +rankprofile[0].fef.property[0].name "nativeAttributeMatch.weightTable.setfield2" +rankprofile[0].fef.property[0].value "linear(0,0)" +rankprofile[0].fef.property[1].name "nativeAttributeMatch.weightTable.setfield3" +rankprofile[0].fef.property[1].value "linear(0,0)" +rankprofile[0].fef.property[2].name "nativeAttributeMatch.weightTable.tagfield" +rankprofile[0].fef.property[2].value "loggrowth(38,50,1)" +rankprofile[1].name "unranked" +rankprofile[1].fef.property[0].name "vespa.rank.firstphase" +rankprofile[1].fef.property[0].value "value(0)" +rankprofile[1].fef.property[1].name "vespa.hitcollector.heapsize" +rankprofile[1].fef.property[1].value "0" +rankprofile[1].fef.property[2].name "vespa.hitcollector.arraysize" +rankprofile[1].fef.property[2].value "0" +rankprofile[1].fef.property[3].name "vespa.dump.ignoredefaultfeatures" +rankprofile[1].fef.property[3].value "true"
\ No newline at end of file diff --git a/config-model/src/test/derived/types/summary.0.cfg.part.types1125507321 b/config-model/src/test/derived/types/summary.0.cfg.part.types1125507321 new file mode 100644 index 00000000000..a0a6ea62b39 --- /dev/null +++ b/config-model/src/test/derived/types/summary.0.cfg.part.types1125507321 @@ -0,0 +1,9 @@ +classes[types1125507321].id 1125507321 +classes[types1125507321].name types +classes[types1125507321].fields[3] +classes[types1125507321].fields[0].name sddocname +classes[types1125507321].fields[0].type string +classes[types1125507321].fields[1].name abyte +classes[types1125507321].fields[1].type byte +classes[types1125507321].fields[2].name ranklog +classes[types1125507321].fields[2].type string diff --git a/config-model/src/test/derived/types/summary.cfg b/config-model/src/test/derived/types/summary.cfg new file mode 100644 index 00000000000..6a62dedb851 --- /dev/null +++ b/config-model/src/test/derived/types/summary.cfg @@ -0,0 +1,35 @@ +defaultsummaryid 1103008471 +classes[0].id 1103008471 +classes[0].name "default" +classes[0].fields[0].name "abyte" +classes[0].fields[0].type "byte" +classes[0].fields[1].name "along" +classes[0].fields[1].type "int64" +classes[0].fields[2].name "tagfield" +classes[0].fields[2].type "jsonstring" +classes[0].fields[3].name "stringmapfield" +classes[0].fields[3].type "jsonstring" +classes[0].fields[4].name "album0" +classes[0].fields[4].type "jsonstring" +classes[0].fields[5].name "album1" +classes[0].fields[5].type "jsonstring" +classes[0].fields[6].name "rankfeatures" +classes[0].fields[6].type "featuredata" +classes[0].fields[7].name "summaryfeatures" +classes[0].fields[7].type "featuredata" +classes[0].fields[8].name "documentid" +classes[0].fields[8].type "longstring" +classes[1].id 278794929 +classes[1].name "attributeprefetch" +classes[1].fields[0].name "other" +classes[1].fields[0].type "int64" +classes[1].fields[1].name "abyte" +classes[1].fields[1].type "byte" +classes[1].fields[2].name "along" +classes[1].fields[2].type "int64" +classes[1].fields[3].name "juletre" +classes[1].fields[3].type "int64" +classes[1].fields[4].name "rankfeatures" +classes[1].fields[4].type "featuredata" +classes[1].fields[5].name "summaryfeatures" +classes[1].fields[5].type "featuredata" diff --git a/config-model/src/test/derived/types/summarymap.cfg b/config-model/src/test/derived/types/summarymap.cfg new file mode 100644 index 00000000000..eac532d966b --- /dev/null +++ b/config-model/src/test/derived/types/summarymap.cfg @@ -0,0 +1,25 @@ +defaultoutputclass -1 +override[0].field "abyte" +override[0].command "attribute" +override[0].arguments "abyte" +override[1].field "along" +override[1].command "attribute" +override[1].arguments "along" +override[2].field "tagfield" +override[2].command "attribute" +override[2].arguments "tagfield" +override[3].field "album1" +override[3].command "attribute" +override[3].arguments "album1" +override[4].field "rankfeatures" +override[4].command "rankfeatures" +override[4].arguments "" +override[5].field "summaryfeatures" +override[5].command "summaryfeatures" +override[5].arguments "" +override[6].field "other" +override[6].command "attribute" +override[6].arguments "other" +override[7].field "juletre" +override[7].command "attribute" +override[7].arguments "juletre" diff --git a/config-model/src/test/derived/types/types.sd b/config-model/src/test/derived/types/types.sd new file mode 100644 index 00000000000..69101934461 --- /dev/null +++ b/config-model/src/test/derived/types/types.sd @@ -0,0 +1,150 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search types { + + document types { + + field abyte type byte { + indexing: index | summary | attribute + } + + field along type long { + indexing: index | summary | attribute + } + + field arrayfield type array<int> { + indexing: attribute + } + + field setfield type weightedset<string> { + indexing: attribute + match { + token + } + } + + field setfield2 type weightedset<string> { + indexing: attribute + weightedset: remove-if-zero + weightedset: create-if-nonexistent + rank-type: empty + } + + field setfield3 type weightedset<string> { + weightedset: remove-if-zero + indexing: attribute + rank-type: empty + match { + token + } + } + + field setfield4 type weightedset<string> { + weightedset: create-if-nonexistent + indexing: attribute + match { + token + } + } + + field tagfield type tag { + indexing: attribute | summary + match { + token + } + } + struct sct { + field s1 type string {} + field s2 type string {} + } + field structfield type sct { + } + field structarrayfield type array<sct> { + } + field stringmapfield type map<string, string> { + indexing: index | summary + } + field intmapfield type map<string, int> { + + } + field floatmapfield type map<string, float> { + + } + field longmapfield type map<int, long> { + + } + field doublemapfield type map<int, double> { + + } + field arraymapfield type map<string,array<int>> { + + } + #field complexfield type map<array<sct>, map<int,array<float>>> { + #} + #field wildcardfield type map<int,?> { + #} + #field wildcardfield2 type map<?,?> { + #} + + field arrarr type array<array<array<string>>> {header} + field maparr type array<map<string, string>> {header} + field complexarray type array< map<array<array<string>>, int> > {body} + + struct mystruct { + field bytearr type array<byte>{} + field mymap type map<string, string>{} + field title type string {} + field structfield type string {} + } + + field mystructfield type mystruct {header} + field mystructmap type map<int, mystruct> {header} + field mystructarr type array<mystruct> {header} + + struct folder { + field Version type int {} + field Name type string {} + field FlagsCounter type map<string,long> {} + field anotherfolder type folder {} + } + + + field Folders type map<int,folder> {} + + field juletre type long { + indexing: attribute + attribute { + fast-search + } + } + + # Field defined same way as tag + field album0 type weightedset<string> { + indexing: summary + # This is pointless, but + weightedset { + create-if-nonexistent + remove-if-zero + } + header + } + + # Field defined same way as tag + field album1 type weightedset<string> { + indexing: attribute | summary + weightedset { + create-if-nonexistent + remove-if-zero + } + header + } + + } + + field pst_sta_boldingoff_nomatch_tag_01 type tag { + body + } + + field other type long { + indexing: input along | attribute + } +} diff --git a/config-model/src/test/derived/types/vsmsummary.cfg b/config-model/src/test/derived/types/vsmsummary.cfg new file mode 100644 index 00000000000..6c641d9935e --- /dev/null +++ b/config-model/src/test/derived/types/vsmsummary.cfg @@ -0,0 +1,23 @@ +outputclass "" +fieldmap[0].summary "abyte" +fieldmap[0].document[0].field "abyte" +fieldmap[0].command NONE +fieldmap[1].summary "along" +fieldmap[1].document[0].field "along" +fieldmap[1].command NONE +fieldmap[2].summary "tagfield" +fieldmap[2].document[0].field "tagfield" +fieldmap[2].command NONE +fieldmap[3].summary "stringmapfield" +fieldmap[3].document[0].field "stringmapfield" +fieldmap[3].command NONE +fieldmap[4].summary "album0" +fieldmap[4].document[0].field "album0" +fieldmap[4].command NONE +fieldmap[5].summary "album1" +fieldmap[5].document[0].field "album1" +fieldmap[5].command NONE +fieldmap[6].summary "rankfeatures" +fieldmap[6].command NONE +fieldmap[7].summary "summaryfeatures" +fieldmap[7].command NONE
\ No newline at end of file diff --git a/config-model/src/test/derived/uri_array/ilscripts.cfg b/config-model/src/test/derived/uri_array/ilscripts.cfg new file mode 100644 index 00000000000..de78b44199c --- /dev/null +++ b/config-model/src/test/derived/uri_array/ilscripts.cfg @@ -0,0 +1,4 @@ +maxtermoccurrences 100 +ilscript[0].doctype "uri_array" +ilscript[0].docfield[0] "my_uri" +ilscript[0].content[0] "clear_state | guard { input my_uri | index my_uri; }"
\ No newline at end of file diff --git a/config-model/src/test/derived/uri_array/indexschema.cfg b/config-model/src/test/derived/uri_array/indexschema.cfg new file mode 100644 index 00000000000..4e6875bffb8 --- /dev/null +++ b/config-model/src/test/derived/uri_array/indexschema.cfg @@ -0,0 +1,64 @@ +indexfield[0].name "my_uri" +indexfield[0].indextype VESPA +indexfield[0].datatype STRING +indexfield[0].collectiontype ARRAY +indexfield[0].prefix false +indexfield[0].phrases false +indexfield[0].positions true +indexfield[0].averageelementlen 512 +indexfield[1].name "my_uri.fragment" +indexfield[1].indextype VESPA +indexfield[1].datatype STRING +indexfield[1].collectiontype ARRAY +indexfield[1].prefix false +indexfield[1].phrases false +indexfield[1].positions true +indexfield[1].averageelementlen 512 +indexfield[2].name "my_uri.host" +indexfield[2].indextype VESPA +indexfield[2].datatype STRING +indexfield[2].collectiontype ARRAY +indexfield[2].prefix false +indexfield[2].phrases false +indexfield[2].positions true +indexfield[2].averageelementlen 512 +indexfield[3].name "my_uri.hostname" +indexfield[3].indextype VESPA +indexfield[3].datatype STRING +indexfield[3].collectiontype ARRAY +indexfield[3].prefix false +indexfield[3].phrases false +indexfield[3].positions true +indexfield[3].averageelementlen 512 +indexfield[4].name "my_uri.path" +indexfield[4].indextype VESPA +indexfield[4].datatype STRING +indexfield[4].collectiontype ARRAY +indexfield[4].prefix false +indexfield[4].phrases false +indexfield[4].positions true +indexfield[4].averageelementlen 512 +indexfield[5].name "my_uri.port" +indexfield[5].indextype VESPA +indexfield[5].datatype STRING +indexfield[5].collectiontype ARRAY +indexfield[5].prefix false +indexfield[5].phrases false +indexfield[5].positions true +indexfield[5].averageelementlen 512 +indexfield[6].name "my_uri.query" +indexfield[6].indextype VESPA +indexfield[6].datatype STRING +indexfield[6].collectiontype ARRAY +indexfield[6].prefix false +indexfield[6].phrases false +indexfield[6].positions true +indexfield[6].averageelementlen 512 +indexfield[7].name "my_uri.scheme" +indexfield[7].indextype VESPA +indexfield[7].datatype STRING +indexfield[7].collectiontype ARRAY +indexfield[7].prefix false +indexfield[7].phrases false +indexfield[7].positions true +indexfield[7].averageelementlen 512
\ No newline at end of file diff --git a/config-model/src/test/derived/uri_array/uri_array.sd b/config-model/src/test/derived/uri_array/uri_array.sd new file mode 100644 index 00000000000..d71ee231238 --- /dev/null +++ b/config-model/src/test/derived/uri_array/uri_array.sd @@ -0,0 +1,8 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search uri_array { + document uri_array { + field my_uri type array<uri> { + indexing: index + } + } +} diff --git a/config-model/src/test/derived/uri_wset/ilscripts.cfg b/config-model/src/test/derived/uri_wset/ilscripts.cfg new file mode 100644 index 00000000000..81066cd130d --- /dev/null +++ b/config-model/src/test/derived/uri_wset/ilscripts.cfg @@ -0,0 +1,4 @@ +maxtermoccurrences 100 +ilscript[0].doctype "uri_wset" +ilscript[0].docfield[0] "my_uri" +ilscript[0].content[0] "clear_state | guard { input my_uri | index my_uri; }"
\ No newline at end of file diff --git a/config-model/src/test/derived/uri_wset/indexschema.cfg b/config-model/src/test/derived/uri_wset/indexschema.cfg new file mode 100644 index 00000000000..0a750704933 --- /dev/null +++ b/config-model/src/test/derived/uri_wset/indexschema.cfg @@ -0,0 +1,64 @@ +indexfield[0].name "my_uri" +indexfield[0].indextype VESPA +indexfield[0].datatype STRING +indexfield[0].collectiontype WEIGHTEDSET +indexfield[0].prefix false +indexfield[0].phrases false +indexfield[0].positions true +indexfield[0].averageelementlen 512 +indexfield[1].name "my_uri.fragment" +indexfield[1].indextype VESPA +indexfield[1].datatype STRING +indexfield[1].collectiontype WEIGHTEDSET +indexfield[1].prefix false +indexfield[1].phrases false +indexfield[1].positions true +indexfield[1].averageelementlen 512 +indexfield[2].name "my_uri.host" +indexfield[2].indextype VESPA +indexfield[2].datatype STRING +indexfield[2].collectiontype WEIGHTEDSET +indexfield[2].prefix false +indexfield[2].phrases false +indexfield[2].positions true +indexfield[2].averageelementlen 512 +indexfield[3].name "my_uri.hostname" +indexfield[3].indextype VESPA +indexfield[3].datatype STRING +indexfield[3].collectiontype WEIGHTEDSET +indexfield[3].prefix false +indexfield[3].phrases false +indexfield[3].positions true +indexfield[3].averageelementlen 512 +indexfield[4].name "my_uri.path" +indexfield[4].indextype VESPA +indexfield[4].datatype STRING +indexfield[4].collectiontype WEIGHTEDSET +indexfield[4].prefix false +indexfield[4].phrases false +indexfield[4].positions true +indexfield[4].averageelementlen 512 +indexfield[5].name "my_uri.port" +indexfield[5].indextype VESPA +indexfield[5].datatype STRING +indexfield[5].collectiontype WEIGHTEDSET +indexfield[5].prefix false +indexfield[5].phrases false +indexfield[5].positions true +indexfield[5].averageelementlen 512 +indexfield[6].name "my_uri.query" +indexfield[6].indextype VESPA +indexfield[6].datatype STRING +indexfield[6].collectiontype WEIGHTEDSET +indexfield[6].prefix false +indexfield[6].phrases false +indexfield[6].positions true +indexfield[6].averageelementlen 512 +indexfield[7].name "my_uri.scheme" +indexfield[7].indextype VESPA +indexfield[7].datatype STRING +indexfield[7].collectiontype WEIGHTEDSET +indexfield[7].prefix false +indexfield[7].phrases false +indexfield[7].positions true +indexfield[7].averageelementlen 512
\ No newline at end of file diff --git a/config-model/src/test/derived/uri_wset/uri_wset.sd b/config-model/src/test/derived/uri_wset/uri_wset.sd new file mode 100644 index 00000000000..547ec7dc728 --- /dev/null +++ b/config-model/src/test/derived/uri_wset/uri_wset.sd @@ -0,0 +1,8 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +search uri_wset { + document uri_wset { + field my_uri type weightedset<uri> { + indexing: index + } + } +} |