summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2021-05-24 22:04:25 +0200
committerGitHub <noreply@github.com>2021-05-24 22:04:25 +0200
commit0e3770ebac4ae1752064545221a0895aa3dee866 (patch)
tree4dffcc45ca43e9fee46773aef14f5b16dddf70eb /config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java
parent14ae655d9dfe0aa694cd75c041a21306d83eedf6 (diff)
Revert "Produce ranking-expressions config."
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.java55
1 files changed, 5 insertions, 50 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..74a9ef25615 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java
@@ -78,8 +78,6 @@ public class RankProfile implements Cloneable {
/** The ranking expression to be used for second phase */
private RankingExpression secondPhaseRanking = null;
- private Set<String> externalFileExpressions = new HashSet<>();
-
/** Number of hits to be reranked in second phase, -1 means use default */
private int rerankCount = -1;
@@ -165,10 +163,6 @@ public class RankProfile implements Cloneable {
return search != null ? search.rankingConstants() : model.rankingConstants();
}
- public RankExpressionFiles rankExpressionFiles() {
- return search != null ? search.rankExpressionFiles() : model.rankExpressionFiles();
- }
-
public Map<String, OnnxModel> onnxModels() {
return search != null ? search.onnxModels().asMap() : Collections.emptyMap();
}
@@ -374,41 +368,9 @@ public class RankProfile implements Cloneable {
this.firstPhaseRanking = rankingExpression;
}
- public String getFirstPhaseFile() {
- String name = FIRST_PHASE;
- if (externalFileExpressions.contains(name)) {
- return rankExpressionFiles().get(name).getFileName();
- }
- if ((firstPhaseRanking == null) && (getInherited() != null)) {
- return getInherited().getFirstPhaseFile();
- }
- return null;
- }
-
- public String getSecondPhaseFile() {
- String name = SECOND_PHASE;
- if (externalFileExpressions.contains(name)) {
- return rankExpressionFiles().get(name).getFileName();
- }
- if ((secondPhaseRanking == null) && (getInherited() != null)) {
- return getInherited().getSecondPhaseFile();
- }
- return null;
- }
-
- public String getExpressionFile(String name) {
- if (externalFileExpressions.contains(name)) {
- return rankExpressionFiles().get(name).getFileName();
- }
- if (getInherited() != null) {
- return getInherited().getExpressionFile(name);
- }
- return null;
- }
-
public void setFirstPhaseRanking(String expression) {
try {
- this.firstPhaseRanking = parseRankingExpression(FIRST_PHASE, expression);
+ this.firstPhaseRanking = parseRankingExpression("firstphase", expression);
}
catch (ParseException e) {
throw new IllegalArgumentException("Illegal first phase ranking function", e);
@@ -701,25 +663,18 @@ public class RankProfile implements Cloneable {
}
}
- private static String extractFileName(String expression) {
+ private Reader openRankingExpressionReader(String expName, String expression) {
+ if ( ! expression.startsWith("file:")) return new StringReader(expression);
+
String fileName = expression.substring("file:".length()).trim();
if ( ! fileName.endsWith(ApplicationPackage.RANKEXPRESSION_NAME_SUFFIX))
fileName = fileName + ApplicationPackage.RANKEXPRESSION_NAME_SUFFIX;
- return fileName;
- }
-
- private Reader openRankingExpressionReader(String expName, String expression) {
- if ( ! expression.startsWith("file:")) return new StringReader(expression);
-
- String fileName = extractFileName(expression);
File file = new File(fileName);
- if ( ! file.isAbsolute() && file.getPath().contains("/")) // See ticket 4102122
+ if ( ! (file.isAbsolute()) && file.getPath().contains("/")) // See ticket 4102122
throw new IllegalArgumentException("In " + getName() +", " + expName + ", ranking references file '" + file +
"' in subdirectory, which is not supported.");
- rankExpressionFiles().add(new RankExpressionFile(expName, fileName));
- externalFileExpressions.add(expName);
return search.getRankingExpression(fileName);
}