diff options
author | Jon Bratseth <bratseth@gmail.com> | 2022-05-04 17:52:26 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2022-05-04 17:52:26 +0200 |
commit | dce62098d5afa27ab6945d4c05fea6b6a3feb9b2 (patch) | |
tree | c3c27e81f3ccdf7affddc9b568e9a765921226b3 /container-search | |
parent | f25396044fbc0f0ab4ee4b84100893ccbbd5be29 (diff) |
Add 'input' as alias to 'ranking.feature'
Diffstat (limited to 'container-search')
5 files changed, 10 insertions, 9 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/query/Ranking.java b/container-search/src/main/java/com/yahoo/search/query/Ranking.java index fd0cd5a85b7..e11786c2f2e 100644 --- a/container-search/src/main/java/com/yahoo/search/query/Ranking.java +++ b/container-search/src/main/java/com/yahoo/search/query/Ranking.java @@ -69,7 +69,7 @@ public class Ranking implements Cloneable { argumentType.addField(new FieldDescription(DIVERSITY, new QueryProfileFieldType(Diversity.getArgumentType()))); argumentType.addField(new FieldDescription(SOFTTIMEOUT, new QueryProfileFieldType(SoftTimeout.getArgumentType()))); argumentType.addField(new FieldDescription(MATCHING, new QueryProfileFieldType(Matching.getArgumentType()))); - argumentType.addField(new FieldDescription(FEATURES, "query-profile", "rankfeature")); // Repeated at the end of RankFeatures + argumentType.addField(new FieldDescription(FEATURES, "query-profile", "rankfeature input")); // Repeated at the end of RankFeatures argumentType.addField(new FieldDescription(PROPERTIES, "query-profile", "rankproperty")); argumentType.freeze(); argumentTypeName = new CompoundName(argumentType.getId().getName()); diff --git a/container-search/src/main/java/com/yahoo/search/query/properties/QueryProperties.java b/container-search/src/main/java/com/yahoo/search/query/properties/QueryProperties.java index 0fd11d9edd7..828d4117eee 100644 --- a/container-search/src/main/java/com/yahoo/search/query/properties/QueryProperties.java +++ b/container-search/src/main/java/com/yahoo/search/query/properties/QueryProperties.java @@ -137,12 +137,7 @@ public class QueryProperties extends Properties { } else if (key.size() == 3 && key.get(1).equals(Presentation.FORMAT)) { if (key.last().equals(Presentation.TENSORS)) return query.getPresentation().getTensorShortForm(); } - } - else if (key.first().equals("rankfeature") || key.first().equals("featureoverride")) { // featureoverride is deprecated - return query.getRanking().getFeatures().getObject(key.rest().toString()); - } else if (key.first().equals("rankproperty")) { - return query.getRanking().getProperties().get(key.rest().toString()); - } else if (key.size()==1) { + } else if (key.size() == 1) { if (key.equals(Query.HITS)) return query.getHits(); if (key.equals(Query.OFFSET)) return query.getOffset(); if (key.equals(Query.TRACE_LEVEL)) return query.getTraceLevel(); @@ -160,6 +155,7 @@ public class QueryProperties extends Properties { @Override public void set(CompoundName key, Object value, Map<String,String> context) { + System.out.println("Setting " + key); // Note: The defaults here are never used try { if (key.size() == 2 && key.first().equals(Model.MODEL)) { diff --git a/container-search/src/main/java/com/yahoo/search/query/properties/QueryPropertyAliases.java b/container-search/src/main/java/com/yahoo/search/query/properties/QueryPropertyAliases.java index e46668ffb83..d089283a4b9 100644 --- a/container-search/src/main/java/com/yahoo/search/query/properties/QueryPropertyAliases.java +++ b/container-search/src/main/java/com/yahoo/search/query/properties/QueryPropertyAliases.java @@ -24,6 +24,7 @@ public class QueryPropertyAliases extends PropertyAliases { @Override protected CompoundName unalias(CompoundName nameOrAlias) { if (nameOrAlias.first().equalsIgnoreCase("rankfeature") + || nameOrAlias.first().equalsIgnoreCase("input") || nameOrAlias.first().equalsIgnoreCase("featureoverride")) // deprecated: TODO Remove on Vespa 8 return nameOrAlias.rest().prepend("ranking", "features"); else if (nameOrAlias.first().equalsIgnoreCase("rankproperty")) diff --git a/container-search/src/main/java/com/yahoo/search/query/ranking/RankFeatures.java b/container-search/src/main/java/com/yahoo/search/query/ranking/RankFeatures.java index dab824a6fef..aaab86f248c 100644 --- a/container-search/src/main/java/com/yahoo/search/query/ranking/RankFeatures.java +++ b/container-search/src/main/java/com/yahoo/search/query/ranking/RankFeatures.java @@ -191,8 +191,12 @@ public class RankFeatures implements Cloneable { return JSON.encode(features); } + // See also QueryPropertyAliases public static boolean isFeatureName(String fullPropertyName) { - return fullPropertyName.startsWith("ranking.features.") || fullPropertyName.startsWith("rankfeature."); + return fullPropertyName.startsWith("ranking.features.") || + fullPropertyName.startsWith("rankfeature.") || + fullPropertyName.startsWith("featureoverride.") || + fullPropertyName.startsWith("input."); } } diff --git a/container-search/src/test/java/com/yahoo/search/query/RankProfileInputTest.java b/container-search/src/test/java/com/yahoo/search/query/RankProfileInputTest.java index f34ad783277..e30e8bf119a 100644 --- a/container-search/src/test/java/com/yahoo/search/query/RankProfileInputTest.java +++ b/container-search/src/test/java/com/yahoo/search/query/RankProfileInputTest.java @@ -188,7 +188,7 @@ public class RankProfileInputTest { return new Query.Builder() .setSchemaInfo(createSchemaInfo()) .setQueryProfile(createQueryProfile()) // Use the instantiation path with query profiles - .setRequest(HttpRequest.createTestRequest("?" + urlEncode("ranking.features.query(myTensor1)") + + .setRequest(HttpRequest.createTestRequest("?" + urlEncode("input.query(myTensor1)") + "=" + urlEncode(tensorString) + "&ranking=" + profile + "&" + additionalParams, |