aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2021-10-13 00:00:32 +0200
committerGitHub <noreply@github.com>2021-10-13 00:00:32 +0200
commita5e37d9dfada0dbc346857b09be18779d2652adf (patch)
tree7db1ebe0d36cc3b76b90f7eabca6c7cf037422ed /config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java
parent35155da6c455db4247197560033103e102c04a00 (diff)
parent5a96592dcb33d28dfb062fcf53ba1956d1de53ab (diff)
Merge pull request #19521 from vespa-engine/balder/on-exeute-in-rank-profilev7.482.13
Add support for control of execute on match, rerank, and summary.
Diffstat (limited to 'config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java')
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java20
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))