diff options
author | Jon Bratseth <bratseth@oath.com> | 2018-09-20 09:30:01 -0700 |
---|---|---|
committer | Jon Bratseth <bratseth@oath.com> | 2018-09-20 09:30:01 -0700 |
commit | 0436890e9520083c2227a6afb4780f0b588f977b (patch) | |
tree | 3098101201e2e49ae9e281e8fb6eaf5aa7c539b3 /config-model | |
parent | 7994462805a16f4665e52a0b9f9770d3c7563556 (diff) |
Output type information
Diffstat (limited to 'config-model')
5 files changed, 82 insertions, 11 deletions
diff --git a/config-model/src/test/derived/gemini2/rank-profiles.cfg b/config-model/src/test/derived/gemini2/rank-profiles.cfg index aa4f963320d..2b73e923c88 100644 --- a/config-model/src/test/derived/gemini2/rank-profiles.cfg +++ b/config-model/src/test/derived/gemini2/rank-profiles.cfg @@ -21,9 +21,13 @@ rankprofile[].fef.property[].name "rankingExpression(wrapper1@2d437c13405e61d6). rankprofile[].fef.property[].value "rankingExpression(wrapper2@2d437c13405e61d6)" rankprofile[].fef.property[].name "rankingExpression(toplevel).rankingScript" rankprofile[].fef.property[].value "rankingExpression(wrapper1@2d437c13405e61d6)" +rankprofile[].fef.property[].name "rankingExpression(toplevel).type" +rankprofile[].fef.property[].value "tensor()" rankprofile[].fef.property[].name "rankingExpression(wrapper2@8fc8470e911f253f).rankingScript" rankprofile[].fef.property[].value "attribute(wrong)" rankprofile[].fef.property[].name "rankingExpression(wrapper1@8fc8470e911f253f).rankingScript" rankprofile[].fef.property[].value "rankingExpression(wrapper2@8fc8470e911f253f)" rankprofile[].fef.property[].name "rankingExpression(interfering).rankingScript" rankprofile[].fef.property[].value "rankingExpression(wrapper1@8fc8470e911f253f)" +rankprofile[].fef.property[].name "rankingExpression(interfering).type" +rankprofile[].fef.property[].value "tensor()" diff --git a/config-model/src/test/derived/rankexpression/rank-profiles.cfg b/config-model/src/test/derived/rankexpression/rank-profiles.cfg index 9629ad863d4..d109ca4f0ec 100644 --- a/config-model/src/test/derived/rankexpression/rank-profiles.cfg +++ b/config-model/src/test/derived/rankexpression/rank-profiles.cfg @@ -128,6 +128,8 @@ rankprofile[].fef.property[].name "rankingExpression(fourtimessum).rankingScript rankprofile[].fef.property[].value "4 * (var1 + var2)" rankprofile[].fef.property[].name "rankingExpression(myfeature).rankingScript" rankprofile[].fef.property[].value "70 * fieldMatch(title).completeness * pow(0 - fieldMatch(title).earliness,2) + 30 * pow(0 - fieldMatch(description).earliness,2)" +rankprofile[].fef.property[].name "rankingExpression(myfeature).type" +rankprofile[].fef.property[].value "tensor()" rankprofile[].fef.property[].name "rankingExpression(fourtimessum@5cf279212355b980.67f1e87166cfef86).rankingScript" rankprofile[].fef.property[].value "4 * (match + rankBoost)" rankprofile[].fef.property[].name "vespa.rank.firstphase" @@ -145,10 +147,16 @@ rankprofile[].fef.property[].name "rankingExpression(fourtimessum).rankingScript rankprofile[].fef.property[].value "4 * (var1 + var2)" rankprofile[].fef.property[].name "rankingExpression(myfeature).rankingScript" rankprofile[].fef.property[].value "70 * fieldMatch(title).completeness * pow(0 - fieldMatch(title).earliness,2) + 30 * pow(0 - fieldMatch(description).earliness,2)" +rankprofile[].fef.property[].name "rankingExpression(myfeature).type" +rankprofile[].fef.property[].value "tensor()" rankprofile[].fef.property[].name "rankingExpression(mysummaryfeature).rankingScript" rankprofile[].fef.property[].value "70 * fieldMatch(title).completeness" +rankprofile[].fef.property[].name "rankingExpression(mysummaryfeature).type" +rankprofile[].fef.property[].value "tensor()" rankprofile[].fef.property[].name "rankingExpression(mysummaryfeature2).rankingScript" rankprofile[].fef.property[].value "71 * fieldMatch(title).completeness" +rankprofile[].fef.property[].name "rankingExpression(mysummaryfeature2).type" +rankprofile[].fef.property[].value "tensor()" rankprofile[].fef.property[].name "rankingExpression(fourtimessum@2b1138e8965e7ff5.67f1e87166cfef86).rankingScript" rankprofile[].fef.property[].value "4 * (match + match)" rankprofile[].fef.property[].name "vespa.rank.firstphase" @@ -164,11 +172,15 @@ rankprofile[].fef.property[].value "rankingExpression(mysummaryfeature)" rankprofile[].name "macros3" rankprofile[].fef.property[].name "rankingExpression(onlyusedinsummaryfeature).rankingScript" rankprofile[].fef.property[].value "5" +rankprofile[].fef.property[].name "rankingExpression(onlyusedinsummaryfeature).type" +rankprofile[].fef.property[].value "tensor()" rankprofile[].fef.property[].name "vespa.summary.feature" rankprofile[].fef.property[].value "rankingExpression(matches(title,rankingExpression(onlyusedinsummaryfeature)))" rankprofile[].name "macros3-inherited" rankprofile[].fef.property[].name "rankingExpression(onlyusedinsummaryfeature).rankingScript" rankprofile[].fef.property[].value "5" +rankprofile[].fef.property[].name "rankingExpression(onlyusedinsummaryfeature).type" +rankprofile[].fef.property[].value "tensor()" rankprofile[].fef.property[].name "vespa.summary.feature" rankprofile[].fef.property[].value "rankingExpression(matches(title,rankingExpression(onlyusedinsummaryfeature)))" rankprofile[].name "macros-inherited" @@ -178,10 +190,16 @@ rankprofile[].fef.property[].name "rankingExpression(fourtimessum).rankingScript rankprofile[].fef.property[].value "4 * (var1 + var2)" rankprofile[].fef.property[].name "rankingExpression(myfeature).rankingScript" rankprofile[].fef.property[].value "70 * fieldMatch(title).completeness * pow(0 - fieldMatch(title).earliness,2) + 30 * pow(0 - fieldMatch(description).earliness,2)" +rankprofile[].fef.property[].name "rankingExpression(myfeature).type" +rankprofile[].fef.property[].value "tensor()" rankprofile[].fef.property[].name "rankingExpression(mysummaryfeature).rankingScript" rankprofile[].fef.property[].value "80 * fieldMatch(title).completeness" +rankprofile[].fef.property[].name "rankingExpression(mysummaryfeature).type" +rankprofile[].fef.property[].value "tensor()" rankprofile[].fef.property[].name "rankingExpression(mysummaryfeature2).rankingScript" rankprofile[].fef.property[].value "71 * fieldMatch(title).completeness" +rankprofile[].fef.property[].name "rankingExpression(mysummaryfeature2).type" +rankprofile[].fef.property[].value "tensor()" rankprofile[].fef.property[].name "rankingExpression(fourtimessum@2b1138e8965e7ff5.67f1e87166cfef86).rankingScript" rankprofile[].fef.property[].value "4 * (match + match)" rankprofile[].fef.property[].name "vespa.rank.firstphase" @@ -203,10 +221,16 @@ rankprofile[].fef.property[].name "rankingExpression(fourtimessum).rankingScript rankprofile[].fef.property[].value "4 * (var1 + var2)" rankprofile[].fef.property[].name "rankingExpression(myfeature).rankingScript" rankprofile[].fef.property[].value "70 * fieldMatch(title).completeness * pow(0 - fieldMatch(title).earliness,2) + 30 * pow(0 - fieldMatch(description).earliness,2)" +rankprofile[].fef.property[].name "rankingExpression(myfeature).type" +rankprofile[].fef.property[].value "tensor()" rankprofile[].fef.property[].name "rankingExpression(mysummaryfeature).rankingScript" rankprofile[].fef.property[].value "80 * fieldMatch(title).completeness" +rankprofile[].fef.property[].name "rankingExpression(mysummaryfeature).type" +rankprofile[].fef.property[].value "tensor()" rankprofile[].fef.property[].name "rankingExpression(mysummaryfeature2).rankingScript" rankprofile[].fef.property[].value "71 * fieldMatch(title).completeness" +rankprofile[].fef.property[].name "rankingExpression(mysummaryfeature2).type" +rankprofile[].fef.property[].value "tensor()" rankprofile[].fef.property[].name "rankingExpression(fourtimessum@2b1138e8965e7ff5.67f1e87166cfef86).rankingScript" rankprofile[].fef.property[].value "4 * (match + match)" rankprofile[].fef.property[].name "vespa.rank.firstphase" @@ -228,10 +252,16 @@ rankprofile[].fef.property[].name "rankingExpression(fourtimessum).rankingScript rankprofile[].fef.property[].value "4 * (var1 + var2)" rankprofile[].fef.property[].name "rankingExpression(myfeature).rankingScript" rankprofile[].fef.property[].value "700 * fieldMatch(title).completeness" +rankprofile[].fef.property[].name "rankingExpression(myfeature).type" +rankprofile[].fef.property[].value "tensor()" rankprofile[].fef.property[].name "rankingExpression(mysummaryfeature).rankingScript" rankprofile[].fef.property[].value "80 * fieldMatch(title).completeness" +rankprofile[].fef.property[].name "rankingExpression(mysummaryfeature).type" +rankprofile[].fef.property[].value "tensor()" rankprofile[].fef.property[].name "rankingExpression(mysummaryfeature2).rankingScript" rankprofile[].fef.property[].value "71 * fieldMatch(title).completeness" +rankprofile[].fef.property[].name "rankingExpression(mysummaryfeature2).type" +rankprofile[].fef.property[].value "tensor()" rankprofile[].fef.property[].name "vespa.rank.firstphase" rankprofile[].fef.property[].value "rankingExpression(firstphase)" rankprofile[].fef.property[].name "rankingExpression(firstphase).rankingScript" @@ -249,8 +279,14 @@ rankprofile[].fef.property[].name "rankingExpression(m1).rankingScript" rankprofile[].fef.property[].value "700 * fieldMatch(title).completeness" rankprofile[].fef.property[].name "rankingExpression(m2).rankingScript" rankprofile[].fef.property[].value "rankingExpression(m1) * 67" +rankprofile[].fef.property[].name "rankingExpression(m2).type" +rankprofile[].fef.property[].value "tensor()" +rankprofile[].fef.property[].name "rankingExpression(m1).type" +rankprofile[].fef.property[].value "tensor()" rankprofile[].fef.property[].name "rankingExpression(m4).rankingScript" rankprofile[].fef.property[].value "703 * fieldMatch(fromfile).completeness" +rankprofile[].fef.property[].name "rankingExpression(m4).type" +rankprofile[].fef.property[].value "tensor()" rankprofile[].fef.property[].name "vespa.rank.secondphase" rankprofile[].fef.property[].value "rankingExpression(secondphase)" rankprofile[].fef.property[].name "rankingExpression(secondphase).rankingScript" @@ -260,10 +296,18 @@ rankprofile[].fef.property[].name "rankingExpression(m1).rankingScript" rankprofile[].fef.property[].value "700 * fieldMatch(title).completeness" rankprofile[].fef.property[].name "rankingExpression(m2).rankingScript" rankprofile[].fef.property[].value "rankingExpression(m1) * 67" +rankprofile[].fef.property[].name "rankingExpression(m2).type" +rankprofile[].fef.property[].value "tensor()" +rankprofile[].fef.property[].name "rankingExpression(m1).type" +rankprofile[].fef.property[].value "tensor()" rankprofile[].fef.property[].name "rankingExpression(m4).rankingScript" rankprofile[].fef.property[].value "701 * fieldMatch(title).completeness" +rankprofile[].fef.property[].name "rankingExpression(m4).type" +rankprofile[].fef.property[].value "tensor()" rankprofile[].fef.property[].name "rankingExpression(m3).rankingScript" rankprofile[].fef.property[].value "if (isNan(attribute(nrtgmp)) == 1, 0.0, rankingExpression(m2))" +rankprofile[].fef.property[].name "rankingExpression(m3).type" +rankprofile[].fef.property[].value "tensor()" rankprofile[].fef.property[].name "vespa.rank.secondphase" rankprofile[].fef.property[].value "rankingExpression(secondphase)" rankprofile[].fef.property[].name "rankingExpression(secondphase).rankingScript" @@ -273,8 +317,14 @@ rankprofile[].fef.property[].name "rankingExpression(m1).rankingScript" rankprofile[].fef.property[].value "700 * fieldMatch(title).completeness" rankprofile[].fef.property[].name "rankingExpression(m2).rankingScript" rankprofile[].fef.property[].value "rankingExpression(m1) * 67" +rankprofile[].fef.property[].name "rankingExpression(m2).type" +rankprofile[].fef.property[].value "tensor()" +rankprofile[].fef.property[].name "rankingExpression(m1).type" +rankprofile[].fef.property[].value "tensor()" rankprofile[].fef.property[].name "rankingExpression(m4).rankingScript" rankprofile[].fef.property[].value "703 * fieldMatch(fromfile).completeness" +rankprofile[].fef.property[].name "rankingExpression(m4).type" +rankprofile[].fef.property[].value "tensor()" rankprofile[].fef.property[].name "vespa.rank.secondphase" rankprofile[].fef.property[].value "rankingExpression(secondphase)" rankprofile[].fef.property[].name "rankingExpression(secondphase).rankingScript" @@ -284,12 +334,22 @@ rankprofile[].fef.property[].name "rankingExpression(m1).rankingScript" rankprofile[].fef.property[].value "700 * fieldMatch(title).completeness" rankprofile[].fef.property[].name "rankingExpression(m2).rankingScript" rankprofile[].fef.property[].value "rankingExpression(m1) * 67" +rankprofile[].fef.property[].name "rankingExpression(m2).type" +rankprofile[].fef.property[].value "tensor()" +rankprofile[].fef.property[].name "rankingExpression(m1).type" +rankprofile[].fef.property[].value "tensor()" rankprofile[].fef.property[].name "rankingExpression(m4).rankingScript" rankprofile[].fef.property[].value "701 * fieldMatch(title).completeness" +rankprofile[].fef.property[].name "rankingExpression(m4).type" +rankprofile[].fef.property[].value "tensor()" rankprofile[].fef.property[].name "rankingExpression(m3).rankingScript" rankprofile[].fef.property[].value "if (isNan(attribute(nrtgmp)) == 1, 0.0, rankingExpression(m2))" +rankprofile[].fef.property[].name "rankingExpression(m3).type" +rankprofile[].fef.property[].value "tensor()" rankprofile[].fef.property[].name "rankingExpression(m5).rankingScript" rankprofile[].fef.property[].value "if (isNan(attribute(glmpfw)) == 1, rankingExpression(m1), rankingExpression(m4))" +rankprofile[].fef.property[].name "rankingExpression(m5).type" +rankprofile[].fef.property[].value "tensor()" rankprofile[].fef.property[].name "vespa.rank.secondphase" rankprofile[].fef.property[].value "rankingExpression(secondphase)" rankprofile[].fef.property[].name "rankingExpression(secondphase).rankingScript" diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/RankingExpressionConstantsTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/RankingExpressionConstantsTestCase.java index 150469cc928..2c1f4c8ecb6 100644 --- a/config-model/src/test/java/com/yahoo/searchdefinition/RankingExpressionConstantsTestCase.java +++ b/config-model/src/test/java/com/yahoo/searchdefinition/RankingExpressionConstantsTestCase.java @@ -82,7 +82,7 @@ public class RankingExpressionConstantsTestCase extends SearchDefinitionTestCase new ImportedModels(), new AttributeFields(s)).configProperties(); assertEquals("(rankingExpression(foo).rankingScript,14.0)", rankProperties.get(0).toString()); - assertEquals("(rankingExpression(firstphase).rankingScript,16.6)", rankProperties.get(2).toString()); + assertEquals("(rankingExpression(firstphase).rankingScript,16.6)", rankProperties.get(3).toString()); } @Test diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/RankingExpressionShadowingTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/RankingExpressionShadowingTestCase.java index e15d4075b19..4f99922a422 100644 --- a/config-model/src/test/java/com/yahoo/searchdefinition/RankingExpressionShadowingTestCase.java +++ b/config-model/src/test/java/com/yahoo/searchdefinition/RankingExpressionShadowingTestCase.java @@ -211,12 +211,16 @@ public class RankingExpressionShadowingTestCase extends SearchDefinitionTestCase censorBindingHash(testRankProperties.get(1).toString())); assertEquals("(rankingExpression(hidden_layer).rankingScript,rankingExpression(relu@))", censorBindingHash(testRankProperties.get(2).toString())); + assertEquals("(rankingExpression(hidden_layer).type,tensor(x[]))", + censorBindingHash(testRankProperties.get(3).toString())); assertEquals("(rankingExpression(final_layer).rankingScript,sigmoid(reduce(rankingExpression(hidden_layer) * constant(W_final), sum, hidden) + constant(b_final)))", - testRankProperties.get(3).toString()); - assertEquals("(vespa.rank.secondphase,rankingExpression(secondphase))", testRankProperties.get(4).toString()); - assertEquals("(rankingExpression(secondphase).rankingScript,reduce(rankingExpression(final_layer), sum))", + assertEquals("(rankingExpression(final_layer).type,tensor(x[]))", testRankProperties.get(5).toString()); + assertEquals("(vespa.rank.secondphase,rankingExpression(secondphase))", + testRankProperties.get(6).toString()); + assertEquals("(rankingExpression(secondphase).rankingScript,reduce(rankingExpression(final_layer), sum))", + testRankProperties.get(7).toString()); } private QueryProfileRegistry queryProfileWith(String field, String type) { diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionsTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionsTestCase.java index fd048737b43..7d62bc5089d 100644 --- a/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionsTestCase.java +++ b/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionsTestCase.java @@ -41,7 +41,7 @@ public class RankingExpressionsTestCase extends SearchDefinitionTestCase { new QueryProfileRegistry(), new ImportedModels(), new AttributeFields(search)).configProperties(); - assertEquals(6, rankProperties.size()); + assertEquals(7, rankProperties.size()); assertEquals("rankingExpression(titlematch$).rankingScript", rankProperties.get(0).getFirst()); assertEquals("var1 * var2 + 890", rankProperties.get(0).getSecond()); @@ -49,14 +49,17 @@ public class RankingExpressionsTestCase extends SearchDefinitionTestCase { assertEquals("rankingExpression(artistmatch).rankingScript", rankProperties.get(1).getFirst()); assertEquals("78 + closeness(distance)", rankProperties.get(1).getSecond()); - assertEquals("rankingExpression(firstphase).rankingScript", rankProperties.get(5).getFirst()); - assertEquals("0.8 + 0.2 * rankingExpression(titlematch$@126063073eb2deb.ab95cd69909927c) + 0.8 * rankingExpression(titlematch$@c7e4c2d0e6d9f2a1.1d4ed08e56cce2e6) * closeness(distance)", rankProperties.get(5).getSecond()); + assertEquals("rankingExpression(firstphase).rankingScript", rankProperties.get(6).getFirst()); + assertEquals("0.8 + 0.2 * rankingExpression(titlematch$@126063073eb2deb.ab95cd69909927c) + 0.8 * rankingExpression(titlematch$@c7e4c2d0e6d9f2a1.1d4ed08e56cce2e6) * closeness(distance)", rankProperties.get(6).getSecond()); - assertEquals("rankingExpression(titlematch$@c7e4c2d0e6d9f2a1.1d4ed08e56cce2e6).rankingScript", rankProperties.get(3).getFirst()); - assertEquals("7 * 8 + 890", rankProperties.get(3).getSecond()); + assertEquals("rankingExpression(titlematch$@c7e4c2d0e6d9f2a1.1d4ed08e56cce2e6).rankingScript", rankProperties.get(4).getFirst()); + assertEquals("7 * 8 + 890", rankProperties.get(4).getSecond()); - assertEquals("rankingExpression(titlematch$@126063073eb2deb.ab95cd69909927c).rankingScript", rankProperties.get(2).getFirst()); - assertEquals("4 * 5 + 890", rankProperties.get(2).getSecond()); + assertEquals("rankingExpression(artistmatch).type", rankProperties.get(2).getFirst()); + assertEquals("tensor()", rankProperties.get(2).getSecond()); + + assertEquals("rankingExpression(titlematch$@126063073eb2deb.ab95cd69909927c).rankingScript", rankProperties.get(3).getFirst()); + assertEquals("4 * 5 + 890", rankProperties.get(3).getSecond()); } @Test(expected = IllegalArgumentException.class) |