diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2021-10-12 14:13:46 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2021-10-12 22:12:20 +0200 |
commit | 5a96592dcb33d28dfb062fcf53ba1956d1de53ab (patch) | |
tree | 7db1ebe0d36cc3b76b90f7eabca6c7cf037422ed /config-model/src/main/java/com/yahoo | |
parent | 35155da6c455db4247197560033103e102c04a00 (diff) |
Add support for control of execute on match, rerank, and summary.
Diffstat (limited to 'config-model/src/main/java/com/yahoo')
-rw-r--r-- | config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java b/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java index 77182e05f9b..68faa462fdd 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java @@ -673,6 +673,26 @@ public class RankProfile implements Cloneable { inputFeatures.put(ref, declaredType); } + public static class ExecuteOperation { + public enum Phase { onmatch, onrerank, onsummary} + final Phase phase; + final String attribute; + final String operation; + ExecuteOperation(Phase phase, String attribute, String operation) { + this.phase = phase; + this.attribute = attribute; + this.operation = operation; + } + } + private final List<ExecuteOperation> executeOperations = new ArrayList<>(); + + public void addExecuteOperation(ExecuteOperation.Phase phase, String attribute, String operation) { + executeOperations.add(new ExecuteOperation(phase, attribute, operation)); + addRankProperty("vespa.execute." + phase + ".attribute", attribute); + addRankProperty("vespa.execute." + phase + ".operation", operation); + } + public List<ExecuteOperation> getExecuteOperations() { return executeOperations; } + public RankingExpressionFunction findFunction(String name) { RankingExpressionFunction function = functions.get(name); return ((function == null) && (getInherited() != null)) |