diff options
author | Jon Bratseth <bratseth@gmail.com> | 2022-05-11 16:05:57 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2022-05-11 16:05:57 +0200 |
commit | 7ea7f1fd2917698cc30c9cea3a81ebf2f99f3d70 (patch) | |
tree | 0879b5f098aff4474bc3d6ccc5b19187893bbe3b /config-model/src/main/java/com/yahoo/searchdefinition/derived/RankProfileList.java | |
parent | 1f587cfa6583c16fa40d960aaa33db77478aca7a (diff) |
Pass DeployState
Diffstat (limited to 'config-model/src/main/java/com/yahoo/searchdefinition/derived/RankProfileList.java')
-rw-r--r-- | config-model/src/main/java/com/yahoo/searchdefinition/derived/RankProfileList.java | 37 |
1 files changed, 20 insertions, 17 deletions
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 c36bd96d309..a55c97f4ebb 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 @@ -3,6 +3,7 @@ package com.yahoo.searchdefinition.derived; import ai.vespa.rankingexpression.importer.configmodelview.ImportedMlModels; import com.yahoo.config.model.api.ModelContext; +import com.yahoo.config.model.deploy.DeployState; import com.yahoo.search.query.profile.QueryProfileRegistry; import com.yahoo.searchdefinition.OnnxModel; import com.yahoo.searchdefinition.OnnxModels; @@ -60,16 +61,12 @@ public class RankProfileList extends Derived implements RankProfilesConfig.Produ LargeRankExpressions largeRankExpressions, OnnxModels onnxModels, AttributeFields attributeFields, - RankProfileRegistry rankProfileRegistry, - QueryProfileRegistry queryProfiles, - ImportedMlModels importedModels, - ModelContext.Properties deployProperties, - ExecutorService executor) { + DeployState deployState) { setName(schema == null ? "default" : schema.getName()); this.rankingConstants = rankingConstants; this.largeRankExpressions = largeRankExpressions; this.onnxModels = onnxModels; // as ONNX models come from parsing rank expressions - deriveRankProfiles(rankProfileRegistry, queryProfiles, importedModels, schema, attributeFields, deployProperties, executor); + deriveRankProfiles(schema, attributeFields, deployState); } private boolean areDependenciesReady(RankProfile rank, RankProfileRegistry registry) { @@ -78,28 +75,34 @@ public class RankProfileList extends Derived implements RankProfilesConfig.Produ (rank.schema() != null && rank.inheritedNames().stream().allMatch(name -> registry.resolve(rank.schema().getDocument(), name) != null)); } - private void deriveRankProfiles(RankProfileRegistry rankProfileRegistry, - QueryProfileRegistry queryProfiles, - ImportedMlModels importedModels, - Schema schema, + private void deriveRankProfiles(Schema schema, AttributeFields attributeFields, - ModelContext.Properties deployProperties, - ExecutorService executor) { + DeployState deployState) { if (schema != null) { // profiles belonging to a search have a default profile - RawRankProfile rawRank = new RawRankProfile(rankProfileRegistry.get(schema, "default"), - largeRankExpressions, queryProfiles, importedModels, attributeFields, deployProperties); + RawRankProfile rawRank = new RawRankProfile(deployState.rankProfileRegistry().get(schema, "default"), + largeRankExpressions, + deployState.getQueryProfiles().getRegistry(), + deployState.getImportedModels(), + attributeFields, + deployState.getProperties()); rankProfiles.put(rawRank.getName(), rawRank); } Map<String, RankProfile> remaining = new LinkedHashMap<>(); - rankProfileRegistry.rankProfilesOf(schema).forEach(rank -> remaining.put(rank.name(), rank)); + deployState.rankProfileRegistry().rankProfilesOf(schema).forEach(rank -> remaining.put(rank.name(), rank)); remaining.remove("default"); while (!remaining.isEmpty()) { List<RankProfile> ready = new ArrayList<>(); remaining.forEach((name, rank) -> { - if (areDependenciesReady(rank, rankProfileRegistry)) ready.add(rank); + if (areDependenciesReady(rank, deployState.rankProfileRegistry())) ready.add(rank); }); - processRankProfiles(ready, queryProfiles, importedModels, schema, attributeFields, deployProperties, executor); + processRankProfiles(ready, + deployState.getQueryProfiles().getRegistry(), + deployState.getImportedModels(), + schema, + attributeFields, + deployState.getProperties(), + deployState.getExecutor()); ready.forEach(rank -> remaining.remove(rank.name())); } } |