summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2018-07-20 12:48:23 +0200
committerJon Bratseth <bratseth@oath.com>2018-07-20 12:48:23 +0200
commit89496953aa57fb86465e554c009e38a0fff83577 (patch)
treec83e7ae4deb983ec76a4429ffa104d10d0c3932d /searchlib
parent7da071be1acf39adacb8b31b9922a6e3754a279b (diff)
Basic Java model evaluation
Diffstat (limited to 'searchlib')
-rwxr-xr-xsearchlib/src/main/java/com/yahoo/searchlib/rankingexpression/RankingExpression.java2
-rw-r--r--searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/AbstractArrayContext.java1
-rw-r--r--searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/ContextIndex.java8
3 files changed, 9 insertions, 2 deletions
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/RankingExpression.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/RankingExpression.java
index aec5b2367bf..3adae63c803 100755
--- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/RankingExpression.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/RankingExpression.java
@@ -276,7 +276,7 @@ public class RankingExpression implements Serializable {
* Returns the value of evaluating this expression over the given context.
*
* @param context The variable bindings to use for this evaluation.
- * @return The evaluation result.
+ * @return the evaluation result.
* @throws IllegalArgumentException if there are variables which are not bound in the given map
*/
public Value evaluate(Context context) {
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/AbstractArrayContext.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/AbstractArrayContext.java
index 893e31c7087..41bf827748a 100644
--- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/AbstractArrayContext.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/AbstractArrayContext.java
@@ -54,6 +54,7 @@ public abstract class AbstractArrayContext extends Context implements Cloneable,
protected final double[] doubleValues() { return indexedBindings.doubleValues(); }
protected final boolean ignoreUnknownValues() { return ignoreUnknownValues; }
+ @Override
public Set<String> names() {
return indexedBindings.names();
}
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/ContextIndex.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/ContextIndex.java
index 4f1465cd1f5..ad6facbf0af 100644
--- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/ContextIndex.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/ContextIndex.java
@@ -1,7 +1,9 @@
package com.yahoo.searchlib.rankingexpression.evaluation;
/**
- * Indexed context lookup methods
+ * Indexed context lookup methods.
+ * Any context which implements these methods supports optimizations where map lookups
+ * are replaced by indexed lookups.
*
* @author bratseth
*/
@@ -17,4 +19,8 @@ public interface ContextIndex {
*/
int getIndex(String name);
+ Value get(int index);
+
+ double getDouble(int index);
+
}