summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2018-09-25 16:49:52 -0700
committerJon Bratseth <bratseth@oath.com>2018-09-25 16:49:52 -0700
commitb03429e1aa5c07bd5c56ccf09196c16288736458 (patch)
tree99e51341e77a6b260b405a52d66bfda41459ff0b
parent11884899e39c54abeb79bacbe723df0ff34ce869 (diff)
Skip return type info if default
-rw-r--r--config-model/src/test/derived/gemini2/rank-profiles.cfg4
-rw-r--r--config-model/src/test/derived/rankexpression/rank-profiles.cfg60
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/RankingExpressionConstantsTestCase.java2
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionsTestCase.java17
-rw-r--r--searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/SerializationContext.java1
5 files changed, 9 insertions, 75 deletions
diff --git a/config-model/src/test/derived/gemini2/rank-profiles.cfg b/config-model/src/test/derived/gemini2/rank-profiles.cfg
index 2b73e923c88..aa4f963320d 100644
--- a/config-model/src/test/derived/gemini2/rank-profiles.cfg
+++ b/config-model/src/test/derived/gemini2/rank-profiles.cfg
@@ -21,13 +21,9 @@ 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 d109ca4f0ec..9629ad863d4 100644
--- a/config-model/src/test/derived/rankexpression/rank-profiles.cfg
+++ b/config-model/src/test/derived/rankexpression/rank-profiles.cfg
@@ -128,8 +128,6 @@ 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"
@@ -147,16 +145,10 @@ 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"
@@ -172,15 +164,11 @@ 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"
@@ -190,16 +178,10 @@ 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"
@@ -221,16 +203,10 @@ 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"
@@ -252,16 +228,10 @@ 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"
@@ -279,14 +249,8 @@ 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"
@@ -296,18 +260,10 @@ 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"
@@ -317,14 +273,8 @@ 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"
@@ -334,22 +284,12 @@ 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 2c1f4c8ecb6..150469cc928 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(3).toString());
+ assertEquals("(rankingExpression(firstphase).rankingScript,16.6)", rankProperties.get(2).toString());
}
@Test
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 7d62bc5089d..fd048737b43 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(7, rankProperties.size());
+ assertEquals(6, rankProperties.size());
assertEquals("rankingExpression(titlematch$).rankingScript", rankProperties.get(0).getFirst());
assertEquals("var1 * var2 + 890", rankProperties.get(0).getSecond());
@@ -49,17 +49,14 @@ 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(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(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(titlematch$@c7e4c2d0e6d9f2a1.1d4ed08e56cce2e6).rankingScript", rankProperties.get(4).getFirst());
- assertEquals("7 * 8 + 890", rankProperties.get(4).getSecond());
+ assertEquals("rankingExpression(titlematch$@c7e4c2d0e6d9f2a1.1d4ed08e56cce2e6).rankingScript", rankProperties.get(3).getFirst());
+ assertEquals("7 * 8 + 890", rankProperties.get(3).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());
+ assertEquals("rankingExpression(titlematch$@126063073eb2deb.ab95cd69909927c).rankingScript", rankProperties.get(2).getFirst());
+ assertEquals("4 * 5 + 890", rankProperties.get(2).getSecond());
}
@Test(expected = IllegalArgumentException.class)
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/SerializationContext.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/SerializationContext.java
index 94d663b4954..0b68e71c21a 100644
--- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/SerializationContext.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/SerializationContext.java
@@ -89,6 +89,7 @@ public class SerializationContext extends FunctionReferenceContext {
/** Adds the serialization of the return type of a function */
public void addFunctionTypeSerialization(String functionName, TensorType type) {
+ if (type.rank() == 0) return; // no explicit type implies scalar (aka rank 0 tensor)
serializedFunctions.put("rankingExpression(" + functionName + ").type", type.toString());
}