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/14 13:57:14 UTC
lucene-solr:branch_7x: SOLR-12660: Refine output form and register
stream function
Repository: lucene-solr
Updated Branches:
refs/heads/branch_7x edfc35dcb -> f018159bb
SOLR-12660: Refine output form and register stream 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/f018159b
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/f018159b
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/f018159b
Branch: refs/heads/branch_7x
Commit: f018159bb1331845b433160c7df197e24c38aa98
Parents: edfc35d
Author: Joel Bernstein <jb...@apache.org>
Authored: Tue Aug 14 09:50:34 2018 -0400
Committer: Joel Bernstein <jb...@apache.org>
Committed: Tue Aug 14 09:57:00 2018 -0400
----------------------------------------------------------------------
.../org/apache/solr/client/solrj/io/Lang.java | 1 +
.../client/solrj/io/eval/OutliersEvaluator.java | 20 +++++++---------
.../apache/solr/client/solrj/io/TestLang.java | 2 +-
.../solrj/io/stream/MathExpressionTest.java | 20 +++++++---------
.../solrj/io/stream/StreamDecoratorTest.java | 25 ++++++++++++++++++++
5 files changed, 43 insertions(+), 25 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f018159b/solr/solrj/src/java/org/apache/solr/client/solrj/io/Lang.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/Lang.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/Lang.java
index c6485bb..c9e1326 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/Lang.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/Lang.java
@@ -249,6 +249,7 @@ public class Lang {
.withFunctionName("knnRegress", KnnRegressionEvaluator.class)
.withFunctionName("gaussfit", GaussFitEvaluator.class)
.withFunctionName("outliers", OutliersEvaluator.class)
+ .withFunctionName("stream", GetStream.class)
// Boolean Stream Evaluators
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f018159b/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/OutliersEvaluator.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/OutliersEvaluator.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/OutliersEvaluator.java
index 85d298f..5a14a52 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/OutliersEvaluator.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/OutliersEvaluator.java
@@ -93,16 +93,14 @@ public class OutliersEvaluator extends RecursiveObjectEvaluator implements ManyV
double cumProb = d.cumulativeProbability(n.intValue());
if(low >= 0 && cumProb <= low) {
- t.put("lowOutlier", true);
- t.put("lowOutlierValue", n);
- t.put("cumulativeProbablity", cumProb);
+ t.put("lowOutlierValue_d", n);
+ t.put("cumulativeProbablity_d", cumProb);
outliers.add(t);
}
if(hi >= 0 && cumProb >= hi) {
- t.put("highOutlier", true);
- t.put("highOutlierValue", n);
- t.put("cumulativeProbablity", cumProb);
+ t.put("highOutlierValue_d", n);
+ t.put("cumulativeProbablity_d", cumProb);
outliers.add(t);
}
}
@@ -119,17 +117,15 @@ public class OutliersEvaluator extends RecursiveObjectEvaluator implements ManyV
double cumProb = d.cumulativeProbability(n.doubleValue());
if(low >= 0 && cumProb <= low) {
- t.put("lowOutlier", true);
- t.put("lowOutlierValue", n);
- t.put("cumulativeProbablity", cumProb);
+ t.put("lowOutlierValue_d", n);
+ t.put("cumulativeProbablity_d", cumProb);
outliers.add(t);
}
if(hi >= 0 && cumProb >= hi) {
- t.put("highOutlier", true);
- t.put("highOutlierValue", n);
- t.put("cumulativeProbablity", cumProb);
+ t.put("highOutlierValue_d", n);
+ t.put("cumulativeProbablity_d", cumProb);
outliers.add(t);
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f018159b/solr/solrj/src/test/org/apache/solr/client/solrj/io/TestLang.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/TestLang.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/TestLang.java
index c615bcb..3abd196 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/TestLang.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/TestLang.java
@@ -70,7 +70,7 @@ public class TestLang extends LuceneTestCase {
"mod", "ceil", "floor", "sin", "asin", "sinh", "cos", "acos", "cosh", "tan", "atan", "tanh", "round", "sqrt",
"cbrt", "coalesce", "uuid", "if", "convert", "valueAt", "memset", "fft", "ifft", "euclidean","manhattan",
"earthMovers", "canberra", "chebyshev", "ones", "zeros", "setValue", "getValue", "knnRegress", "gaussfit",
- "outliers"};
+ "outliers", "stream"};
@Test
public void testLang() {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f018159b/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 be51050..bfd4160 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
@@ -3296,32 +3296,28 @@ public class MathExpressionTest extends SolrCloudTestCase {
Map high = out.get(0);
assertEquals(((String)high.get("id")), "1");
- assertEquals(((Number)high.get("cumulativeProbablity")).doubleValue(), 0.9772498680518208, 0.0 );
- assertEquals(((Number)high.get("highOutlierValue")).doubleValue(), 110.0, 0.0);
- assertEquals(((Boolean)high.get("highOutlier")).booleanValue(), true);
+ assertEquals(((Number)high.get("cumulativeProbablity_d")).doubleValue(), 0.9772498680518208, 0.0 );
+ assertEquals(((Number)high.get("highOutlierValue_d")).doubleValue(), 110.0, 0.0);
Map low = out.get(1);
assertEquals(((String)low.get("id")), "2");
- assertEquals(((Number)low.get("cumulativeProbablity")).doubleValue(), 0.022750131948179167, 0.0 );
- assertEquals(((Number)low.get("lowOutlierValue")).doubleValue(), 90, 0.0);
- assertEquals(((Boolean)low.get("lowOutlier")).booleanValue(), true);
+ assertEquals(((Number)low.get("cumulativeProbablity_d")).doubleValue(), 0.022750131948179167, 0.0 );
+ assertEquals(((Number)low.get("lowOutlierValue_d")).doubleValue(), 90, 0.0);
List<Map> out1 = (List<Map>)tuples.get(0).get("f");
assertEquals(out1.size(), 2);
Map high1 = out1.get(0);
assert(high1.get("id") == null);
- assertEquals(((Number)high1.get("cumulativeProbablity")).doubleValue(), 0.9772498680518208, 0.0 );
- assertEquals(((Number)high1.get("highOutlierValue")).doubleValue(), 110.0, 0.0);
- assertEquals(((Boolean)high1.get("highOutlier")).booleanValue(), true);
+ assertEquals(((Number)high1.get("cumulativeProbablity_d")).doubleValue(), 0.9772498680518208, 0.0 );
+ assertEquals(((Number)high1.get("highOutlierValue_d")).doubleValue(), 110.0, 0.0);
Map low1 = out1.get(1);
assert(low1.get("id") == null);
- assertEquals(((Number)low1.get("cumulativeProbablity")).doubleValue(), 0.022750131948179167, 0.0 );
- assertEquals(((Number)low1.get("lowOutlierValue")).doubleValue(), 90, 0.0);
- assertEquals(((Boolean)low1.get("lowOutlier")).booleanValue(), true);
+ assertEquals(((Number)low1.get("cumulativeProbablity_d")).doubleValue(), 0.022750131948179167, 0.0 );
+ assertEquals(((Number)low1.get("lowOutlierValue_d")).doubleValue(), 90, 0.0);
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f018159b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamDecoratorTest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamDecoratorTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamDecoratorTest.java
index be919eb..ba050ff 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamDecoratorTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamDecoratorTest.java
@@ -3491,6 +3491,31 @@ public class StreamDecoratorTest extends SolrCloudTestCase {
}
@Test
+ public void testStream() throws Exception {
+ UpdateRequest updateRequest = new UpdateRequest();
+ updateRequest.add(id, "hello", "test_t", "l b c d c e", "test_i", "5");
+ updateRequest.add(id, "hello1", "test_t", "l b c d c", "test_i", "4");
+
+ updateRequest.commit(cluster.getSolrClient(), COLLECTIONORALIAS);
+
+ String expr = "search("+COLLECTIONORALIAS+", q=\"id:hello1\", fl=\"id,test_t, test_i\", sort=\"id desc\")";
+ String cat = "let(a ="+expr+",stream(a))";
+ ModifiableSolrParams paramsLoc = new ModifiableSolrParams();
+ paramsLoc.set("expr", cat);
+ paramsLoc.set("qt", "/stream");
+
+ String url = cluster.getJettySolrRunners().get(0).getBaseUrl().toString()+"/"+COLLECTIONORALIAS;
+ TupleStream solrStream = new SolrStream(url, paramsLoc);
+
+ StreamContext context = new StreamContext();
+ solrStream.setStreamContext(context);
+ List<Tuple> tuples = getTuples(solrStream);
+ assertTrue(tuples.size() == 1);
+
+
+ }
+
+ @Test
@LuceneTestCase.BadApple(bugUrl="https://issues.apache.org/jira/browse/SOLR-12028") // 2-Aug-2018
public void testExecutorStream() throws Exception {
CollectionAdminRequest.createCollection("workQueue", "conf", 2, 1).processAndWait(cluster.getSolrClient(), DEFAULT_TIMEOUT);