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 2017/06/05 18:36:33 UTC

[19/41] lucene-solr:branch_6x: SOLR-10731: Add k parameter

SOLR-10731: Add k parameter


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/80e295d5
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/80e295d5
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/80e295d5

Branch: refs/heads/branch_6x
Commit: 80e295d53301711e10337725040c3e4227e40d4e
Parents: e2fbaf3
Author: Joel Bernstein <jb...@apache.org>
Authored: Wed May 24 20:04:20 2017 -0400
Committer: Joel Bernstein <jb...@apache.org>
Committed: Mon Jun 5 13:48:25 2017 -0400

----------------------------------------------------------------------
 .../org/apache/solr/client/solrj/io/stream/KnnStream.java   | 9 +++++++++
 .../solr/client/solrj/io/stream/StreamExpressionTest.java   | 9 ++++++++-
 2 files changed, 17 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/80e295d5/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/KnnStream.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/KnnStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/KnnStream.java
index 1d5f187..f2ba0b9 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/KnnStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/KnnStream.java
@@ -47,6 +47,8 @@ import org.apache.solr.common.SolrDocumentList;
 import org.apache.solr.common.params.ModifiableSolrParams;
 
 import static org.apache.solr.common.params.CommonParams.Q;
+import static org.apache.solr.common.params.CommonParams.ROWS;
+
 
 public class KnnStream extends TupleStream implements Expressible  {
 
@@ -195,6 +197,13 @@ public class KnnStream extends TupleStream implements Expressible  {
       }
     }
 
+    String k = params.get("k");
+
+    if(k != null) {
+      params.add(ROWS, k);
+      params.remove(k);
+    }
+
     params.add(Q, "{!mlt"+builder.toString()+"}"+id);
 
     QueryRequest request = new QueryRequest(params);

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/80e295d5/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionTest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionTest.java
index 04af631..47b1d31 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionTest.java
@@ -943,6 +943,13 @@ public class StreamExpressionTest extends SolrCloudTestCase {
       assertOrder(tuples, 2, 3, 4);
 
       sParams = new ModifiableSolrParams(StreamingTest.mapParams(CommonParams.QT, "/stream"));
+      sParams.add("expr", "knn(" + COLLECTIONORALIAS + ", id=\"1\", qf=\"a_t\", k=\"2\", fl=\"id, score\", mintf=\"1\")");
+      solrStream = new SolrStream(jetty.getBaseUrl().toString() + "/collection1", sParams);
+      tuples = getTuples(solrStream);
+      assertTrue(tuples.size() == 2);
+      assertOrder(tuples, 2, 3);
+
+      sParams = new ModifiableSolrParams(StreamingTest.mapParams(CommonParams.QT, "/stream"));
       sParams.add("expr", "knn(" + COLLECTIONORALIAS + ", id=\"1\", qf=\"a_t\", rows=\"4\", fl=\"id, score\", mintf=\"1\", maxdf=\"0\")");
       solrStream = new SolrStream(jetty.getBaseUrl().toString() + "/collection1", sParams);
       tuples = getTuples(solrStream);
@@ -955,7 +962,7 @@ public class StreamExpressionTest extends SolrCloudTestCase {
       assertTrue(tuples.size() == 0);
 
       sParams = new ModifiableSolrParams(StreamingTest.mapParams(CommonParams.QT, "/stream"));
-      sParams.add("expr", "knn(" + COLLECTIONORALIAS + ", id=\"1\", qf=\"a_t\", rows=\"2\", fl=\"id, score\", mintf=\"1\", minwl=\"20\")");
+      sParams.add("expr", "knn(" + COLLECTIONORALIAS + ", id=\"1\", qf=\"a_t\", r=\"2\", fl=\"id, score\", mintf=\"1\", minwl=\"20\")");
       solrStream = new SolrStream(jetty.getBaseUrl().toString() + "/collection1", sParams);
       tuples = getTuples(solrStream);
       assertTrue(tuples.size() == 0);