diff options
author | Jon Bratseth <bratseth@oath.com> | 2018-08-24 13:21:47 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@oath.com> | 2018-08-24 13:21:47 +0200 |
commit | a745e61162fba144bba003aabbfbab601456ed73 (patch) | |
tree | 9aee65bc8e2d76c8e87c73ba4c02647716a0c4f0 /config-model/src/main/java | |
parent | 4cfbebbc39f08218596e43fffbea8f9a4cd77538 (diff) |
Cleanup rank profile registry
Diffstat (limited to 'config-model/src/main/java')
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); } } |