aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2024-03-17 12:35:09 +0100
committerGitHub <noreply@github.com>2024-03-17 12:35:09 +0100
commit8e2d974cc20b9b5922f93fc06d93c930bcf485fb (patch)
tree9701d8227774f4f957729b5185c9bdd51c99ac3b /config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java
parent2e3832e4cf34f65ed24485f08b24a3370b97ee07 (diff)
parent6788825d4f9f2a092af45bdf14447fa9a762151a (diff)
Merge pull request #30666 from vespa-engine/revert-30658-revert-30652-revert-30644-revert-30643-revert-30642-revert-30640-revert-30620-revert-30616-revert-30615-balder/single-searchcluster
Revert "Single searchcluster take 5"
Diffstat (limited to 'config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java27
1 files changed, 23 insertions, 4 deletions
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<SearchChains> implements
+public class ContainerSearch extends ContainerSubsystem<SearchChains>
+ 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<SearchChains> 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<SearchCluster> clusters, int index) {
+ for (SearchCluster sys : clusters) {
+ if (sys.getClusterIndex() == index)
+ return sys;
+ }
+ throw new IllegalArgumentException("No search cluster with index " + index + " exists");
}
}