summaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/search/result/FeatureData.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/result/FeatureData.java')
-rw-r--r--container-search/src/main/java/com/yahoo/search/result/FeatureData.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/result/FeatureData.java b/container-search/src/main/java/com/yahoo/search/result/FeatureData.java
index ed1b5aa0706..4895db04462 100644
--- a/container-search/src/main/java/com/yahoo/search/result/FeatureData.java
+++ b/container-search/src/main/java/com/yahoo/search/result/FeatureData.java
@@ -68,7 +68,7 @@ public class FeatureData implements Inspectable, JsonProducer {
* (that is, if it is a tensor with nonzero rank)
*/
public Double getDouble(String featureName) {
- Inspector featureValue = value.field(featureName);
+ Inspector featureValue = getInspector(featureName);
if ( ! featureValue.valid()) return null;
switch (featureValue.type()) {
@@ -83,7 +83,7 @@ public class FeatureData implements Inspectable, JsonProducer {
* This will return any feature value: Scalars are returned as a rank 0 tensor.
*/
public Tensor getTensor(String featureName) {
- Inspector featureValue = value.field(featureName);
+ Inspector featureValue = getInspector(featureName);
if ( ! featureValue.valid()) return null;
switch (featureValue.type()) {
@@ -93,6 +93,14 @@ public class FeatureData implements Inspectable, JsonProducer {
}
}
+ private Inspector getInspector(String featureName) {
+ Inspector featureValue = value.field(featureName);
+ if (featureValue.valid()) return featureValue;
+
+ // Try to wrap by rankingExpression(name)
+ return value.field("rankingExpression(" + featureName + ")");
+ }
+
/** Returns the names of the features available in this */
public Set<String> featureNames() {
if (this == empty) return Collections.emptySet();