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:45:23 UTC
lucene-solr:master: SOLR-12629: The predict evaluator should work
with the polyfit function
Repository: lucene-solr
Updated Branches:
refs/heads/master 389865319 -> 2ca5a6d12
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/2ca5a6d1
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/2ca5a6d1
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/2ca5a6d1
Branch: refs/heads/master
Commit: 2ca5a6d12e48e5d58811d7991da028cb2d70e86f
Parents: 3898653
Author: Joel Bernstein <jb...@apache.org>
Authored: Tue Aug 7 10:12:07 2018 -0400
Committer: Joel <jo...@alfresco.com>
Committed: Tue Aug 7 10:31:53 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/2ca5a6d1/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/2ca5a6d1/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