diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2021-05-24 23:12:30 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2021-05-24 23:12:30 +0200 |
commit | d48aef4da0697e5de5b7d7e9acb45b66a4141f62 (patch) | |
tree | fc6f49d59df60f7b13bd5e81be2be5b001c94e75 /config-model/src | |
parent | 3a72ff213327ef7f09183261f7c70bd1498ca19a (diff) |
Must add name of the rankprofile to make the macro unique.
Diffstat (limited to 'config-model/src')
-rw-r--r-- | config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java | 11 |
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); } |