diff options
author | Jon Bratseth <bratseth@verizonmedia.com> | 2019-11-12 15:44:51 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@verizonmedia.com> | 2019-11-12 15:44:51 +0100 |
commit | 5aab29c7d5800cf9d0d6e4aa9093d8eb080dcb07 (patch) | |
tree | 59052462ea48ed6c56ed677a2af34776b89e382b /container-search/src/main/java/com/yahoo/search/result/FeatureData.java | |
parent | f114eb8bc6c09322aa46ac7209f7a9f801ca79e0 (diff) |
Allow function value lookup without rankingExpression() wrapper
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.java | 12 |
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(); |