You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jb...@apache.org on 2018/08/07 14:49:52 UTC
lucene-solr:branch_7x: SOLR-12629: The predict evaluator should work
with the polyfit function
Repository: lucene-solr
Updated Branches:
refs/heads/branch_7x 0f1ca480e -> b28517043
SOLR-12629: The predict evaluator should work with the polyfit function
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/b2851704
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/b2851704
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/b2851704
Branch: refs/heads/branch_7x
Commit: b28517043eaa54ff16cf49af48f12236643ff8d2
Parents: 0f1ca48
Author: Joel Bernstein <jb...@apache.org>
Authored: Tue Aug 7 10:12:07 2018 -0400
Committer: Joel Bernstein <jb...@apache.org>
Committed: Tue Aug 7 10:46:37 2018 -0400
----------------------------------------------------------------------
.../solr/client/solrj/io/eval/PolyFitEvaluator.java | 7 ++++++-
.../client/solrj/io/stream/MathExpressionTest.java | 15 ++++++++++++++-
2 files changed, 20 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b2851704/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/PolyFitEvaluator.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/PolyFitEvaluator.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/PolyFitEvaluator.java
index 5320f18..5292c94 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/PolyFitEvaluator.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/PolyFitEvaluator.java
@@ -96,6 +96,11 @@ public class PolyFitEvaluator extends RecursiveNumericEvaluator implements ManyV
list.add(yvalue);
}
- return list;
+
+ VectorFunction vec = new VectorFunction(pf, list);
+ vec.addToContext("x", x);
+ vec.addToContext("y", y);
+
+ return vec;
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b2851704/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/MathExpressionTest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/MathExpressionTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/MathExpressionTest.java
index 3806b22..98a52a6 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/MathExpressionTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/MathExpressionTest.java
@@ -2856,7 +2856,8 @@ public class MathExpressionTest extends SolrCloudTestCase {
public void testPolyfit() throws Exception {
String cexpr = "let(echo=true," +
" a=array(0,1,2,3,4,5,6,7)," +
- " fit=polyfit(a, 1))";
+ " fit=polyfit(a, 1)," +
+ " predictions=predict(fit, a))";
ModifiableSolrParams paramsLoc = new ModifiableSolrParams();
paramsLoc.set("expr", cexpr);
paramsLoc.set("qt", "/stream");
@@ -2876,6 +2877,18 @@ public class MathExpressionTest extends SolrCloudTestCase {
assertTrue(out.get(5).intValue() == 5);
assertTrue(out.get(6).intValue() == 6);
assertTrue(out.get(7).intValue() == 7);
+
+
+ out = (List<Number>)tuples.get(0).get("predictions");
+ assertTrue(out.size() == 8);
+ assertTrue(out.get(0).intValue() == 0);
+ assertTrue(out.get(1).intValue() == 1);
+ assertTrue(out.get(2).intValue() == 2);
+ assertTrue(out.get(3).intValue() == 3);
+ assertTrue(out.get(4).intValue() == 4);
+ assertTrue(out.get(5).intValue() == 5);
+ assertTrue(out.get(6).intValue() == 6);
+ assertTrue(out.get(7).intValue() == 7);
}
@Test