diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2023-03-07 11:25:36 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-07 11:25:36 +0100 |
commit | e96f4343377d6579e2da72f9e5ee1d67a75a8364 (patch) | |
tree | c3d7febce784ab0a78506368cc9172ffb95a8063 /config-model | |
parent | f1474b050a571d97cd67bbb9240813e2d8b35bbd (diff) | |
parent | 879d2d9bcc84a3e246c9d48b7cf701b49633c7a0 (diff) |
Merge pull request #26316 from vespa-engine/arnej/setup-rank-profiles-evaluation-for-streaming-also
add RankProfilesEvaluatorComponent instances for streaming search clu…
Diffstat (limited to 'config-model')
5 files changed, 29 insertions, 6 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 d97840d4cbf..b2a38bd6b08 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 @@ -77,12 +77,12 @@ public class ContainerSearch extends ContainerSubsystem<SearchChains> if (searchCluster instanceof IndexedSearchCluster indexed) { var dispatcher = new DispatcherComponent(indexed); owningCluster.addComponent(dispatcher); - if (globalPhase) { - for (var documentDb : indexed.getDocumentDbs()) { - var factory = new RankProfilesEvaluatorComponent(documentDb); - if (! owningCluster.getComponentsMap().containsKey(factory.getComponentId())) { - owningCluster.addComponent(factory); - } + } + if (globalPhase) { + for (var documentDb : searchCluster.getDocumentDbs()) { + var factory = new RankProfilesEvaluatorComponent(documentDb); + if (! owningCluster.getComponentsMap().containsKey(factory.getComponentId())) { + owningCluster.addComponent(factory); } } } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java index 708a3f220ac..4ed8c5ab2e8 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java @@ -203,9 +203,11 @@ public class IndexedSearchCluster extends SearchCluster } } + @Override public List<DocumentDatabase> getDocumentDbs() { return documentDbs; } + public boolean hasDocumentDB(String name) { for (DocumentDatabase db : documentDbs) { if (db.getName().equals(name)) { diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/SearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/search/SearchCluster.java index 61455fcbf34..818c43d0f93 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/search/SearchCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/search/SearchCluster.java @@ -55,6 +55,9 @@ public abstract class SearchCluster extends TreeConfigProducer<AnyConfigProducer */ public abstract void deriveFromSchemas(DeployState deployState); + /** Returns the document databases contained in this cluster */ + public abstract List<DocumentDatabase> getDocumentDbs(); + /** Returns a list of the document type names used in this search cluster */ public List<String> getDocumentNames() { return schemas.values() diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/StreamingSearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/search/StreamingSearchCluster.java index 6293a6d6cf2..3cedae2f896 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/search/StreamingSearchCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/search/StreamingSearchCluster.java @@ -17,6 +17,8 @@ import com.yahoo.vespa.config.search.vsm.VsmfieldsConfig; import com.yahoo.vespa.config.search.vsm.VsmsummaryConfig; import com.yahoo.vespa.configdefinition.IlscriptsConfig; +import java.util.List; + /** * A search cluster of type streaming. * @@ -80,6 +82,15 @@ public class StreamingSearchCluster extends SearchCluster implements } @Override + public List<DocumentDatabase> getDocumentDbs() { + if (derived() == null) { + throw new IllegalArgumentException("missing derivedConfig"); + } + var db = new DocumentDatabase(this, docTypeName, derived()); + return List.of(db); + } + + @Override public void defaultDocumentsConfig() { } @Override diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/search/searchchain/MockSearchClusters.java b/config-model/src/test/java/com/yahoo/vespa/model/container/search/searchchain/MockSearchClusters.java index 81c7b778ed3..b2ae4e553f5 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/container/search/searchchain/MockSearchClusters.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/container/search/searchchain/MockSearchClusters.java @@ -9,8 +9,10 @@ import com.yahoo.config.model.producer.AbstractConfigProducerRoot; import com.yahoo.prelude.fastsearch.DocumentdbInfoConfig; import com.yahoo.search.config.IndexInfoConfig; import com.yahoo.vespa.configdefinition.IlscriptsConfig; +import com.yahoo.vespa.model.search.DocumentDatabase; import com.yahoo.vespa.model.search.SearchCluster; import java.util.HashMap; +import java.util.List; import java.util.Map; public class MockSearchClusters { @@ -28,6 +30,11 @@ public class MockSearchClusters { public void deriveFromSchemas(DeployState deployState) { } @Override + public List<DocumentDatabase> getDocumentDbs() { + return List.of(); + } + + @Override public int getRowBits() { return 0; } |