summaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/prelude
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2022-04-06 11:10:19 +0200
committerJon Bratseth <bratseth@gmail.com>2022-04-06 11:10:19 +0200
commit52286f5e1486eb20c2f49d37ceffb46b6121b045 (patch)
treeec21ff624ed74c3addfa92053db96a90ea6b68bf /container-search/src/main/java/com/yahoo/prelude
parenta2d552abed7412a4aa7fb89146946d03107389ec (diff)
Add inputs to RankProfile
Diffstat (limited to 'container-search/src/main/java/com/yahoo/prelude')
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/fastsearch/DocumentDatabase.java7
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/fastsearch/RankProfile.java19
2 files changed, 22 insertions, 4 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 26087318ce1..c45c2b1855b 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,7 @@
package com.yahoo.prelude.fastsearch;
import com.google.common.collect.ImmutableMap;
+import com.yahoo.tensor.TensorType;
import java.util.ArrayList;
import java.util.Collection;
@@ -56,8 +57,12 @@ public class DocumentDatabase {
private static Collection<RankProfile> toRankProfiles(Collection<DocumentdbInfoConfig.Documentdb.Rankprofile> rankProfileConfigList) {
List<RankProfile> rankProfiles = new ArrayList<>();
for (DocumentdbInfoConfig.Documentdb.Rankprofile c : rankProfileConfigList)
- rankProfiles.add(new RankProfile(c.name(), c.hasSummaryFeatures(), c.hasRankFeatures()));
+ rankProfiles.add(new RankProfile(c.name(), c.hasSummaryFeatures(), c.hasRankFeatures(), inputs(c)));
return rankProfiles;
}
+ private static Map<String, TensorType> inputs(DocumentdbInfoConfig.Documentdb.Rankprofile c) {
+ return c.input().stream().collect(Collectors.toMap(i -> i.name(), i -> TensorType.fromSpec(i.type())));
+ }
+
}
diff --git a/container-search/src/main/java/com/yahoo/prelude/fastsearch/RankProfile.java b/container-search/src/main/java/com/yahoo/prelude/fastsearch/RankProfile.java
index 859cffdb6ee..ecc1c6bbbd5 100644
--- a/container-search/src/main/java/com/yahoo/prelude/fastsearch/RankProfile.java
+++ b/container-search/src/main/java/com/yahoo/prelude/fastsearch/RankProfile.java
@@ -1,6 +1,11 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.prelude.fastsearch;
+import com.yahoo.tensor.TensorType;
+
+import java.util.Collections;
+import java.util.Map;
+
/**
* Information about a rank profile
*
@@ -11,19 +16,27 @@ class RankProfile {
private final String name;
private final boolean hasSummaryFeatures;
private final boolean hasRankFeatures;
+ private final Map<String, TensorType> inputs;
- public RankProfile(String name, boolean hasSummaryFeatures, boolean hasRankFeatures) {
+ public RankProfile(String name,
+ boolean hasSummaryFeatures,
+ boolean hasRankFeatures,
+ Map<String, TensorType> inputs) {
this.name = name;
this.hasSummaryFeatures = hasSummaryFeatures;
this.hasRankFeatures = hasRankFeatures;
+ this.inputs = Collections.unmodifiableMap(inputs);
}
public String getName() { return name; }
- /** Returns true if this rank profile has summary features */
+ /** Returns true if this rank profile has summary features. */
public boolean hasSummaryFeatures() { return hasSummaryFeatures; }
- /** Returns true if this rank profile has rank features */
+ /** Returns true if this rank profile has rank features. */
public boolean hasRankFeatures() { return hasRankFeatures; }
+ /** Returns the inputs explicitly declared in this rank profile. */
+ public Map<String, TensorType> inputs() { return inputs; }
+
}