diff options
Diffstat (limited to 'vespajlib/src/main/java/com/yahoo/data/access/helpers/MatchFeatureData.java')
-rw-r--r-- | vespajlib/src/main/java/com/yahoo/data/access/helpers/MatchFeatureData.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/data/access/helpers/MatchFeatureData.java b/vespajlib/src/main/java/com/yahoo/data/access/helpers/MatchFeatureData.java index f7d72ade20d..4f8bd64f85a 100644 --- a/vespajlib/src/main/java/com/yahoo/data/access/helpers/MatchFeatureData.java +++ b/vespajlib/src/main/java/com/yahoo/data/access/helpers/MatchFeatureData.java @@ -13,6 +13,7 @@ import java.util.ArrayList; import java.util.AbstractMap.SimpleEntry; import java.util.List; import java.util.Map; +import java.util.function.Function; /** * MatchFeatureData helps pack match features for hits into @@ -85,6 +86,16 @@ public class MatchFeatureData { } return new Value.DoubleValue(doubleValues[index]); } + + public HitValue subsetFilter(Function<Hashlet<String,Integer>, Hashlet<String,Integer>> filter) { + return new HitValue(filter.apply(hashlet), dataValues, doubleValues); + } + // used only from subsetFilter() above + private HitValue(Hashlet<String,Integer> hashlet, byte[][] dataValues, double[] doubleValues) { + this.hashlet = hashlet; + this.dataValues = dataValues; + this.doubleValues = doubleValues; + } } public HitValue addHit() { |