summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-03-07 11:25:36 +0100
committerGitHub <noreply@github.com>2023-03-07 11:25:36 +0100
commite96f4343377d6579e2da72f9e5ee1d67a75a8364 (patch)
treec3d7febce784ab0a78506368cc9172ffb95a8063 /config-model
parentf1474b050a571d97cd67bbb9240813e2d8b35bbd (diff)
parent879d2d9bcc84a3e246c9d48b7cf701b49633c7a0 (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')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java12
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/search/SearchCluster.java3
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/search/StreamingSearchCluster.java11
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/container/search/searchchain/MockSearchClusters.java7
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;
}