From 6788825d4f9f2a092af45bdf14447fa9a762151a Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Sun, 17 Mar 2024 12:34:31 +0100 Subject: Revert "Single searchcluster take 5" --- .../model/container/search/ContainerSearch.java | 27 ++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) (limited to 'config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java') diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java b/config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java index a71d1025ece..91622e9fe31 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java @@ -5,6 +5,7 @@ import com.yahoo.config.application.api.ApplicationPackage; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.container.QrSearchersConfig; import com.yahoo.prelude.semantics.SemanticRulesConfig; +import com.yahoo.schema.derived.SchemaInfo; import com.yahoo.search.config.IndexInfoConfig; import com.yahoo.search.config.SchemaInfoConfig; import com.yahoo.search.dispatch.Dispatcher; @@ -34,15 +35,15 @@ import static com.yahoo.vespa.model.container.PlatformBundles.SEARCH_AND_DOCPROC * @author gjoranv * @author Tony Vaagenes */ -public class ContainerSearch extends ContainerSubsystem implements +public class ContainerSearch extends ContainerSubsystem + implements IndexInfoConfig.Producer, IlscriptsConfig.Producer, QrSearchersConfig.Producer, QueryProfilesConfig.Producer, SemanticRulesConfig.Producer, PageTemplatesConfig.Producer, - SchemaInfoConfig.Producer -{ + SchemaInfoConfig.Producer { public static final String QUERY_PROFILE_REGISTRY_CLASS = CompiledQueryProfileRegistry.class.getName(); @@ -168,7 +169,25 @@ public class ContainerSearch extends ContainerSubsystem implements @Override public void getConfig(QrSearchersConfig.Builder builder) { - searchClusters.forEach(sc -> builder.searchcluster(sc.getQrSearcherConfig())); + for (int i = 0; i < searchClusters.size(); i++) { + SearchCluster sys = findClusterWithId(searchClusters, i); + var scB = new QrSearchersConfig.Searchcluster.Builder().name(sys.getClusterName()); + for (SchemaInfo spec : sys.schemas().values()) { + scB.searchdef(spec.fullSchema().getName()); + } + scB.rankprofiles_configid(sys.getConfigId()); + scB.indexingmode(QrSearchersConfig.Searchcluster.Indexingmode.Enum.valueOf(sys.getIndexingModeName())); + scB.storagecluster(new QrSearchersConfig.Searchcluster.Storagecluster.Builder().routespec(sys.getStorageRouteSpec())); + builder.searchcluster(scB); + } + } + + private static SearchCluster findClusterWithId(List clusters, int index) { + for (SearchCluster sys : clusters) { + if (sys.getClusterIndex() == index) + return sys; + } + throw new IllegalArgumentException("No search cluster with index " + index + " exists"); } } -- cgit v1.2.3