aboutsummaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/prelude/fastsearch/DocumentDatabase.java
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2022-05-03 20:25:15 +0200
committerJon Bratseth <bratseth@gmail.com>2022-05-03 20:25:15 +0200
commit840e1572b6e6d44384e61dab60b1b33f1d52260d (patch)
treeedff126e54644de96ad1e2c12c6d7191fcd4edad /container-search/src/main/java/com/yahoo/prelude/fastsearch/DocumentDatabase.java
parent3ae5c8ae0b25b8619f97ca28fecde3c0ec510ebe (diff)
Revert "Merge pull request #22428 from vespa-engine/revert-22426-bratseth/schema-info-5"
This reverts commit d6cb1273bcebdea6b8404b242cecb81802d0fb60, reversing changes made to de8e6f7128dc6489800eae8ce8cdcc6e3414475e.
Diffstat (limited to 'container-search/src/main/java/com/yahoo/prelude/fastsearch/DocumentDatabase.java')
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/fastsearch/DocumentDatabase.java44
1 files changed, 9 insertions, 35 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/fastsearch/DocumentDatabase.java b/container-search/src/main/java/com/yahoo/prelude/fastsearch/DocumentDatabase.java
index 67038e0e771..72ccf4aa1dd 100644
--- a/container-search/src/main/java/com/yahoo/prelude/fastsearch/DocumentDatabase.java
+++ b/container-search/src/main/java/com/yahoo/prelude/fastsearch/DocumentDatabase.java
@@ -2,6 +2,8 @@
package com.yahoo.prelude.fastsearch;
import com.yahoo.search.schema.RankProfile;
+import com.yahoo.search.schema.Schema;
+import com.yahoo.search.schema.SchemaInfo;
import com.yahoo.tensor.TensorType;
import java.util.ArrayList;
@@ -17,48 +19,20 @@ import java.util.stream.Collectors;
*/
public class DocumentDatabase {
- // TODO: What about name conflicts when different search defs have the same rank profile/docsum?
-
public static final String MATCH_PROPERTY = "match";
public static final String SEARCH_DOC_TYPE_KEY = "documentdb.searchdoctype";
- private final String name;
+ private final Schema schema;
private final DocsumDefinitionSet docsumDefSet;
- private final Map<String, RankProfile> rankProfiles;
-
- public DocumentDatabase(DocumentdbInfoConfig.Documentdb documentDb) {
- this(documentDb.name(), new DocsumDefinitionSet(documentDb), toRankProfiles(documentDb.rankprofile()));
+ public DocumentDatabase(Schema schema) {
+ this.schema = schema;
+ this.docsumDefSet = new DocsumDefinitionSet(schema);
}
- public DocumentDatabase(String name, DocsumDefinitionSet docsumDefinitionSet, Collection<RankProfile> rankProfiles) {
- this.name = name;
- this.docsumDefSet = docsumDefinitionSet;
- this.rankProfiles = Map.copyOf(rankProfiles.stream().collect(Collectors.toMap(RankProfile::name, p -> p)));
- }
-
- public String getName() {
- return name;
- }
+ public Schema schema() { return schema; }
- public DocsumDefinitionSet getDocsumDefinitionSet() {
- return docsumDefSet;
- }
-
- /** Returns an unmodifiable map of all the rank profiles in this indexed by rank profile name */
- public Map<String, RankProfile> rankProfiles() { return rankProfiles; }
-
- private static Collection<RankProfile> toRankProfiles(Collection<DocumentdbInfoConfig.Documentdb.Rankprofile> rankProfileConfigList) {
- List<RankProfile> rankProfiles = new ArrayList<>();
- for (var profileConfig : rankProfileConfigList) {
- var builder = new RankProfile.Builder(profileConfig.name());
- builder.setHasSummaryFeatures(profileConfig.hasSummaryFeatures());
- builder.setHasRankFeatures(profileConfig.hasRankFeatures());
- for (var inputConfig : profileConfig.input())
- builder.addInput(inputConfig.name(), TensorType.fromSpec(inputConfig.type()));
- rankProfiles.add(builder.build());
- }
- return rankProfiles;
- }
+ /** Returns the document summary model in this which knows how to convert serialized data to hit fields. */
+ public DocsumDefinitionSet getDocsumDefinitionSet() { return docsumDefSet; }
}