diff options
Diffstat (limited to 'config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/SearchChains.java')
-rw-r--r-- | config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/SearchChains.java | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/SearchChains.java b/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/SearchChains.java index 3f1de25f71f..3cf887a5928 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/SearchChains.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/SearchChains.java @@ -41,9 +41,17 @@ public class SearchChains extends Chains<SearchChain> { private void setSearchClusterForLocalProvider(Map<String, ? extends SearchCluster> clusterIndexByName) { for (LocalProvider provider : localProviders()) { - SearchCluster cluster = clusterIndexByName.get(provider.getClusterName()); - if (cluster == null) - throw new IllegalArgumentException("No searchable content cluster with id '" + provider.getClusterName() + "'"); + String clusterName = provider.getClusterName(); + SearchCluster cluster = clusterIndexByName.get(clusterName); + if (cluster == null) { + if (clusterName.contains(".")) { // Is there a super cluster ... + String prefix = clusterName.substring(0, clusterName.indexOf('.')); + cluster = clusterIndexByName.get(prefix); + } + if (cluster == null) { + throw new IllegalArgumentException("No searchable content cluster with id '" + provider.getClusterName() + "'"); + } + } provider.setSearchCluster(cluster); } } |