summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2018-08-24 13:21:47 +0200
committerJon Bratseth <bratseth@oath.com>2018-08-24 13:21:47 +0200
commita745e61162fba144bba003aabbfbab601456ed73 (patch)
tree9aee65bc8e2d76c8e87c73ba4c02647716a0c4f0 /config-model/src/main/java
parent4cfbebbc39f08218596e43fffbea8f9a4cd77538 (diff)
Cleanup rank profile registry
Diffstat (limited to 'config-model/src/main/java')
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java6
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/RankProfileRegistry.java33
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/derived/RankProfileList.java4
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/DiversitySettingsValidator.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/FilterFieldNames.java4
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/MatchPhaseSettingsValidator.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/Processor.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/RankingExpressionTypeValidator.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/ReservedMacroNames.java3
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/multifieldresolver/RankProfileTypeSettingsProcessor.java4
10 files changed, 30 insertions, 32 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 aef6c02b7fc..d87c46ef3cb 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java
@@ -152,7 +152,7 @@ public class RankProfile implements Serializable, Cloneable {
return search != null ? search.applicationPackage() : model.applicationPackage();
}
- /** Returns the rankinng constants of the owner of this */
+ /** Returns the ranking constants of the owner of this */
public RankingConstants rankingConstants() {
return search != null ? search.rankingConstants() : model.rankingConstants();
}
@@ -182,13 +182,13 @@ public class RankProfile implements Serializable, Cloneable {
public RankProfile getInherited() {
if (getSearch() == null) return getInheritedFromRegistry(inheritedName);
- RankProfile inheritedInThisSearch = rankProfileRegistry.getRankProfile(search, inheritedName);
+ RankProfile inheritedInThisSearch = rankProfileRegistry.get(search, inheritedName);
if (inheritedInThisSearch != null) return inheritedInThisSearch;
return getInheritedFromRegistry(inheritedName);
}
private RankProfile getInheritedFromRegistry(String inheritedName) {
- for (RankProfile r : rankProfileRegistry.allRankProfiles()) {
+ for (RankProfile r : rankProfileRegistry.all()) {
if (r.getName().equals(inheritedName)) {
return r;
}
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/RankProfileRegistry.java b/config-model/src/main/java/com/yahoo/searchdefinition/RankProfileRegistry.java
index 8b1d6381a22..599eef57b2f 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/RankProfileRegistry.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/RankProfileRegistry.java
@@ -1,8 +1,6 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.searchdefinition;
-import com.yahoo.searchdefinition.expressiontransforms.ExpressionTransforms;
-
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
@@ -16,7 +14,7 @@ import java.util.Set;
* Having both of these mappings consolidated here make it easier to remove dependencies on these mappings at
* run time, since it is essentially only used when building rank profile config at deployment time.
*
- * TODO: Rank profiles should be stored under its owning Search instance.
+ * Global rank profiles are represented by the Search key null.
*
* @author Ulf Lilleengen
*/
@@ -30,8 +28,8 @@ public class RankProfileRegistry {
public static RankProfileRegistry createRankProfileRegistryWithBuiltinRankProfiles(Search search) {
RankProfileRegistry rankProfileRegistry = new RankProfileRegistry();
- rankProfileRegistry.addRankProfile(new DefaultRankProfile(search, rankProfileRegistry));
- rankProfileRegistry.addRankProfile(new UnrankedRankProfile(search, rankProfileRegistry));
+ rankProfileRegistry.add(new DefaultRankProfile(search, rankProfileRegistry));
+ rankProfileRegistry.add(new UnrankedRankProfile(search, rankProfileRegistry));
return rankProfileRegistry;
}
@@ -40,16 +38,16 @@ public class RankProfileRegistry {
*
* @param rankProfile the rank profile to add
*/
- public void addRankProfile(RankProfile rankProfile) {
+ public void add(RankProfile rankProfile) {
if ( ! rankProfiles.containsKey(rankProfile.getSearch())) {
rankProfiles.put(rankProfile.getSearch(), new LinkedHashMap<>());
}
- checkForDuplicateRankProfile(rankProfile);
+ checkForDuplicate(rankProfile);
rankProfiles.get(rankProfile.getSearch()).put(rankProfile.getName(), rankProfile);
rankProfileToSearch.put(rankProfile, rankProfile.getSearch());
}
- private void checkForDuplicateRankProfile(RankProfile rankProfile) {
+ private void checkForDuplicate(RankProfile rankProfile) {
String rankProfileName = rankProfile.getName();
RankProfile existingRangProfileWithSameName = rankProfiles.get(rankProfile.getSearch()).get(rankProfileName);
if (existingRangProfileWithSameName == null) return;
@@ -63,11 +61,11 @@ public class RankProfileRegistry {
/**
* Returns a named rank profile, null if the search definition doesn't have one with the given name
*
- * @param search The {@link Search} that owns the rank profile.
- * @param name The name of the rank profile
- * @return The RankProfile to return.
+ * @param search the {@link Search} that owns the rank profile.
+ * @param name the name of the rank profile
+ * @return the RankProfile to return.
*/
- public RankProfile getRankProfile(Search search, String name) {
+ public RankProfile get(Search search, String name) {
return rankProfiles.get(search).get(name);
}
@@ -75,16 +73,17 @@ public class RankProfileRegistry {
* Rank profiles that are collected across clusters.
* @return A set of global {@link RankProfile} instances.
*/
- public Set<RankProfile> allRankProfiles() {
+ public Set<RankProfile> all() {
return rankProfileToSearch.keySet();
}
/**
- * Rank profiles that are collected for a given search definition
- * @param search {@link Search} to get rank profiles for.
- * @return A collection of local {@link RankProfile} instances.
+ * Returns the rank profiles of a given search definition.
+ *
+ * @param search {@link Search} to get rank profiles for
+ * @return a collection of {@link RankProfile} instances
*/
- public Collection<RankProfile> localRankProfiles(Search search) {
+ public Collection<RankProfile> rankProfilesOf(Search search) {
Map<String, RankProfile> mapping = rankProfiles.get(search);
if (mapping == null) {
return Collections.emptyList();
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/derived/RankProfileList.java b/config-model/src/main/java/com/yahoo/searchdefinition/derived/RankProfileList.java
index 1e978e43d6a..a0bac42d9b9 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/derived/RankProfileList.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/derived/RankProfileList.java
@@ -38,13 +38,13 @@ public class RankProfileList extends Derived implements RankProfilesConfig.Produ
ImportedModels importedModels,
Search search,
AttributeFields attributeFields) {
- RawRankProfile defaultProfile = new RawRankProfile(rankProfileRegistry.getRankProfile(search, "default"),
+ RawRankProfile defaultProfile = new RawRankProfile(rankProfileRegistry.get(search, "default"),
queryProfiles,
importedModels,
attributeFields);
rankProfiles.put(defaultProfile.getName(), defaultProfile);
- for (RankProfile rank : rankProfileRegistry.localRankProfiles(search)) {
+ for (RankProfile rank : rankProfileRegistry.rankProfilesOf(search)) {
if ("default".equals(rank.getName())) continue;
RawRankProfile rawRank = new RawRankProfile(rank, queryProfiles, importedModels, attributeFields);
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/DiversitySettingsValidator.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/DiversitySettingsValidator.java
index a936045af3a..6b78da2146b 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/DiversitySettingsValidator.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/DiversitySettingsValidator.java
@@ -21,7 +21,7 @@ public class DiversitySettingsValidator extends Processor {
public void process(boolean validate) {
if ( ! validate) return;
- for (RankProfile rankProfile : rankProfileRegistry.localRankProfiles(search)) {
+ for (RankProfile rankProfile : rankProfileRegistry.rankProfilesOf(search)) {
if (rankProfile.getMatchPhaseSettings() != null && rankProfile.getMatchPhaseSettings().getDiversity() != null) {
validate(rankProfile, rankProfile.getMatchPhaseSettings().getDiversity());
}
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/FilterFieldNames.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/FilterFieldNames.java
index 39d35cce694..0c75314ffa2 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/FilterFieldNames.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/FilterFieldNames.java
@@ -33,7 +33,7 @@ public class FilterFieldNames extends Processor {
}
}
- for (RankProfile profile : rankProfileRegistry.localRankProfiles(search)) {
+ for (RankProfile profile : rankProfileRegistry.rankProfilesOf(search)) {
Set<String> filterFields = new LinkedHashSet<>();
findFilterFields(search, profile, filterFields);
for (Iterator<String> itr = filterFields.iterator(); itr.hasNext(); ) {
@@ -45,7 +45,7 @@ public class FilterFieldNames extends Processor {
}
private void filterField(String f) {
- for (RankProfile rp : rankProfileRegistry.localRankProfiles(search)) {
+ for (RankProfile rp : rankProfileRegistry.rankProfilesOf(search)) {
rp.filterFields().add(f);
}
}
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/MatchPhaseSettingsValidator.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/MatchPhaseSettingsValidator.java
index 043eb1f82eb..479384e09ef 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/MatchPhaseSettingsValidator.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/MatchPhaseSettingsValidator.java
@@ -23,7 +23,7 @@ public class MatchPhaseSettingsValidator extends Processor {
public void process(boolean validate) {
if ( ! validate) return;
- for (RankProfile rankProfile : rankProfileRegistry.localRankProfiles(search)) {
+ for (RankProfile rankProfile : rankProfileRegistry.rankProfilesOf(search)) {
RankProfile.MatchPhaseSettings settings = rankProfile.getMatchPhaseSettings();
if (settings != null) {
validateMatchPhaseSettings(rankProfile, settings);
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/Processor.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/Processor.java
index b0fbc6c1998..b938e40d9a2 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/Processor.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/Processor.java
@@ -100,7 +100,7 @@ public abstract class Processor {
{
List<RankProfile.RankSetting> someRankSettings = new java.util.ArrayList<>();
- for (RankProfile profile : rankProfileRegistry.localRankProfiles(search)) {
+ for (RankProfile profile : rankProfileRegistry.rankProfilesOf(search)) {
for (Iterator j = profile.declaredRankSettingIterator(); j.hasNext(); ) {
RankProfile.RankSetting setting = (RankProfile.RankSetting)j.next();
if (setting.getType().equals(type)) {
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/RankingExpressionTypeValidator.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/RankingExpressionTypeValidator.java
index f7f314f8444..81455991cc9 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/RankingExpressionTypeValidator.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/RankingExpressionTypeValidator.java
@@ -36,7 +36,7 @@ public class RankingExpressionTypeValidator extends Processor {
public void process(boolean validate) {
if ( ! validate) return;
- for (RankProfile profile : rankProfileRegistry.localRankProfiles(search)) {
+ for (RankProfile profile : rankProfileRegistry.rankProfilesOf(search)) {
try {
validate(profile);
}
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/ReservedMacroNames.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/ReservedMacroNames.java
index b8eb1e1d8cf..adcebed9254 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/ReservedMacroNames.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/ReservedMacroNames.java
@@ -9,7 +9,6 @@ import com.yahoo.searchdefinition.Search;
import com.yahoo.searchlib.rankingexpression.parser.RankingExpressionParserConstants;
import com.yahoo.vespa.model.container.search.QueryProfiles;
-import java.util.HashSet;
import java.util.Set;
import java.util.logging.Level;
@@ -31,7 +30,7 @@ public class ReservedMacroNames extends Processor {
public void process(boolean validate) {
if ( ! validate) return;
- for (RankProfile rp : rankProfileRegistry.allRankProfiles()) {
+ for (RankProfile rp : rankProfileRegistry.all()) {
for (String macroName : rp.getMacros().keySet()) {
if (reservedNames.contains(macroName)) {
deployLogger.log(Level.WARNING, "Macro \"" + macroName + "\" " +
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/multifieldresolver/RankProfileTypeSettingsProcessor.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/multifieldresolver/RankProfileTypeSettingsProcessor.java
index 21567edb94b..cc1638347f6 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/multifieldresolver/RankProfileTypeSettingsProcessor.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/multifieldresolver/RankProfileTypeSettingsProcessor.java
@@ -66,7 +66,7 @@ public class RankProfileTypeSettingsProcessor extends Processor {
}
private void addAttributeTypeToRankProfiles(String attributeName, String attributeType) {
- for (RankProfile profile : rankProfileRegistry.allRankProfiles()) {
+ for (RankProfile profile : rankProfileRegistry.all()) {
profile.addAttributeType(attributeName, attributeType);
}
}
@@ -90,7 +90,7 @@ public class RankProfileTypeSettingsProcessor extends Processor {
}
private void addQueryFeatureTypeToRankProfiles(String queryFeature, String queryFeatureType) {
- for (RankProfile profile : rankProfileRegistry.allRankProfiles()) {
+ for (RankProfile profile : rankProfileRegistry.all()) {
profile.addQueryFeatureType(queryFeature, queryFeatureType);
}
}