aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-05-24 23:12:30 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2021-05-24 23:12:30 +0200
commitd48aef4da0697e5de5b7d7e9acb45b66a4141f62 (patch)
treefc6f49d59df60f7b13bd5e81be2be5b001c94e75 /config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java
parent3a72ff213327ef7f09183261f7c70bd1498ca19a (diff)
Must add name of the rankprofile to make the macro unique.
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.java11
1 files changed, 7 insertions, 4 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 61fd2e3fb41..ef3d90e579b 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java
@@ -374,10 +374,13 @@ public class RankProfile implements Cloneable {
this.firstPhaseRanking = rankingExpression;
}
+ private String getUniqueExpressionName(String name) {
+ return getName() + "." + name;
+ }
public String getFirstPhaseFile() {
String name = FIRST_PHASE;
if (externalFileExpressions.contains(name)) {
- return rankExpressionFiles().get(name).getFileName();
+ return rankExpressionFiles().get(getUniqueExpressionName(name)).getFileName();
}
if ((firstPhaseRanking == null) && (getInherited() != null)) {
return getInherited().getFirstPhaseFile();
@@ -388,7 +391,7 @@ public class RankProfile implements Cloneable {
public String getSecondPhaseFile() {
String name = SECOND_PHASE;
if (externalFileExpressions.contains(name)) {
- return rankExpressionFiles().get(name).getFileName();
+ return rankExpressionFiles().get(getUniqueExpressionName(name)).getFileName();
}
if ((secondPhaseRanking == null) && (getInherited() != null)) {
return getInherited().getSecondPhaseFile();
@@ -398,7 +401,7 @@ public class RankProfile implements Cloneable {
public String getExpressionFile(String name) {
if (externalFileExpressions.contains(name)) {
- return rankExpressionFiles().get(name).getFileName();
+ return rankExpressionFiles().get(getUniqueExpressionName(name)).getFileName();
}
if (getInherited() != null) {
return getInherited().getExpressionFile(name);
@@ -718,7 +721,7 @@ public class RankProfile implements Cloneable {
throw new IllegalArgumentException("In " + getName() +", " + expName + ", ranking references file '" + file +
"' in subdirectory, which is not supported.");
- rankExpressionFiles().add(new RankExpressionFile(expName, fileName));
+ rankExpressionFiles().add(new RankExpressionFile(getUniqueExpressionName(expName), fileName));
externalFileExpressions.add(expName);
return search.getRankingExpression(fileName);
}