You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by sa...@apache.org on 2016/06/17 23:07:37 UTC

[1/3] lucene-solr:branch_5_5: SOLR-9165: disable "cursorMark" when testing for valid SpellCheck Collations

Repository: lucene-solr
Updated Branches:
  refs/heads/branch_5_5 6d8fda0d6 -> 845f57d16
  refs/heads/branch_5x 1850d9bbb -> b4d81f784
  refs/heads/branch_6_0 b866e594d -> 7b79571d9


SOLR-9165: disable "cursorMark" when testing for valid SpellCheck Collations


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

Branch: refs/heads/branch_5_5
Commit: 845f57d16ad1b9f6b499d8597f2fb1edbd571474
Parents: 6d8fda0
Author: jdyer1 <jd...@apache.org>
Authored: Thu May 26 14:46:43 2016 -0500
Committer: Steve Rowe <sa...@apache.org>
Committed: Fri Jun 17 19:06:15 2016 -0400

----------------------------------------------------------------------
 solr/CHANGES.txt                                |  3 ++
 .../solr/spelling/SpellCheckCollator.java       |  3 ++
 .../solr/spelling/SpellCheckCollatorTest.java   | 30 ++++++++++++++++++++
 3 files changed, 36 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/845f57d1/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index bd5a91d..9de5260 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -78,6 +78,9 @@ Bug Fixes
 
 * SOLR-9151: Fix SolrCLI so that bin/solr -e cloud example can be run from any CWD (janhoy)
 
+* SOLR-9165: Spellcheck does not return collations if "maxCollationTries" is used with "cursorMark".
+  (James Dyer)
+
 Other Changes
 ----------------------
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/845f57d1/solr/core/src/java/org/apache/solr/spelling/SpellCheckCollator.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/spelling/SpellCheckCollator.java b/solr/core/src/java/org/apache/solr/spelling/SpellCheckCollator.java
index 528cdc3..0738081 100644
--- a/solr/core/src/java/org/apache/solr/spelling/SpellCheckCollator.java
+++ b/solr/core/src/java/org/apache/solr/spelling/SpellCheckCollator.java
@@ -24,6 +24,7 @@ import java.util.List;
 import org.apache.lucene.analysis.Token;
 import org.apache.lucene.index.IndexReader;
 import org.apache.solr.common.params.CommonParams;
+import org.apache.solr.common.params.CursorMarkParams;
 import org.apache.solr.common.params.DisMaxParams;
 import org.apache.solr.common.params.GroupParams;
 import org.apache.solr.common.params.ModifiableSolrParams;
@@ -118,6 +119,8 @@ public class SpellCheckCollator {
         params.set(CommonParams.FL, "id");
         // we'll sort by doc id to ensure no scoring is done.
         params.set(CommonParams.SORT, "_docid_ asc");
+        // CursorMark does not like _docid_ sorting, and we don't need it.
+        params.remove(CursorMarkParams.CURSOR_MARK_PARAM);
         // If a dismax query, don't add unnecessary clauses for scoring
         params.remove(DisMaxParams.TIE);
         params.remove(DisMaxParams.PF);

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/845f57d1/solr/core/src/test/org/apache/solr/spelling/SpellCheckCollatorTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/spelling/SpellCheckCollatorTest.java b/solr/core/src/test/org/apache/solr/spelling/SpellCheckCollatorTest.java
index 9711149..a31a19d 100644
--- a/solr/core/src/test/org/apache/solr/spelling/SpellCheckCollatorTest.java
+++ b/solr/core/src/test/org/apache/solr/spelling/SpellCheckCollatorTest.java
@@ -25,6 +25,7 @@ import org.apache.lucene.util.TestUtil;
 import org.apache.solr.SolrTestCaseJ4;
 import org.apache.solr.common.params.SolrParams;
 import org.apache.solr.common.params.CommonParams;
+import org.apache.solr.common.params.CursorMarkParams;
 import org.apache.solr.common.params.GroupParams;
 import org.apache.solr.common.params.ModifiableSolrParams;
 import org.apache.solr.common.params.SpellingParams;
@@ -594,5 +595,34 @@ public class SpellCheckCollatorTest extends SolrTestCaseJ4 {
     List<?> collations = (List<?>) collationList.getAll("collation");
     assertTrue(collations.size() == 2);
   }
+  @Test
+  public void testWithCursorMark() throws Exception
+  {
+    SolrCore core = h.getCore();
+    SearchComponent speller = core.getSearchComponent("spellcheck");
+    assertTrue("speller is null and it shouldn't be", speller != null);
+    
+    ModifiableSolrParams params = new ModifiableSolrParams();   
+    params.add(SpellCheckComponent.COMPONENT_NAME, "true");
+    params.add(SpellCheckComponent.SPELLCHECK_BUILD, "true");
+    params.add(SpellCheckComponent.SPELLCHECK_COUNT, "10");   
+    params.add(SpellCheckComponent.SPELLCHECK_COLLATE, "true");
+    params.add(SpellCheckComponent.SPELLCHECK_MAX_COLLATION_TRIES, "2");
+    params.add(SpellCheckComponent.SPELLCHECK_MAX_COLLATIONS, "1");
+    params.add(CommonParams.Q, "lowerfilt:(+fauth)");
+    params.add(CommonParams.SORT, "id asc");
+    params.add(CursorMarkParams.CURSOR_MARK_PARAM, CursorMarkParams.CURSOR_MARK_START);
+    SolrRequestHandler handler = core.getRequestHandler("spellCheckCompRH");
+    SolrQueryResponse rsp = new SolrQueryResponse();
+    rsp.addResponseHeader(new SimpleOrderedMap());
+    SolrQueryRequest req = new LocalSolrQueryRequest(core, params);
+    handler.handleRequest(req, rsp);
+    req.close();
+    NamedList values = rsp.getValues();
+    NamedList spellCheck = (NamedList) values.get("spellcheck");
+    NamedList collationList = (NamedList) spellCheck.get("collations");
+    List<?> collations = (List<?>) collationList.getAll("collation");
+    assertTrue(collations.size() == 1);
+  }
   
 }


[2/3] lucene-solr:branch_5x: SOLR-9165: disable "cursorMark" when testing for valid SpellCheck Collations

Posted by sa...@apache.org.
SOLR-9165: disable "cursorMark" when testing for valid SpellCheck Collations


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

Branch: refs/heads/branch_5x
Commit: b4d81f784136b6c3fd19940055b812862baa99ca
Parents: 1850d9b
Author: jdyer1 <jd...@apache.org>
Authored: Thu May 26 14:46:43 2016 -0500
Committer: Steve Rowe <sa...@apache.org>
Committed: Fri Jun 17 19:06:58 2016 -0400

----------------------------------------------------------------------
 .../solr/spelling/SpellCheckCollator.java       |  3 ++
 .../solr/spelling/SpellCheckCollatorTest.java   | 30 ++++++++++++++++++++
 2 files changed, 33 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b4d81f78/solr/core/src/java/org/apache/solr/spelling/SpellCheckCollator.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/spelling/SpellCheckCollator.java b/solr/core/src/java/org/apache/solr/spelling/SpellCheckCollator.java
index 528cdc3..0738081 100644
--- a/solr/core/src/java/org/apache/solr/spelling/SpellCheckCollator.java
+++ b/solr/core/src/java/org/apache/solr/spelling/SpellCheckCollator.java
@@ -24,6 +24,7 @@ import java.util.List;
 import org.apache.lucene.analysis.Token;
 import org.apache.lucene.index.IndexReader;
 import org.apache.solr.common.params.CommonParams;
+import org.apache.solr.common.params.CursorMarkParams;
 import org.apache.solr.common.params.DisMaxParams;
 import org.apache.solr.common.params.GroupParams;
 import org.apache.solr.common.params.ModifiableSolrParams;
@@ -118,6 +119,8 @@ public class SpellCheckCollator {
         params.set(CommonParams.FL, "id");
         // we'll sort by doc id to ensure no scoring is done.
         params.set(CommonParams.SORT, "_docid_ asc");
+        // CursorMark does not like _docid_ sorting, and we don't need it.
+        params.remove(CursorMarkParams.CURSOR_MARK_PARAM);
         // If a dismax query, don't add unnecessary clauses for scoring
         params.remove(DisMaxParams.TIE);
         params.remove(DisMaxParams.PF);

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b4d81f78/solr/core/src/test/org/apache/solr/spelling/SpellCheckCollatorTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/spelling/SpellCheckCollatorTest.java b/solr/core/src/test/org/apache/solr/spelling/SpellCheckCollatorTest.java
index 9711149..a31a19d 100644
--- a/solr/core/src/test/org/apache/solr/spelling/SpellCheckCollatorTest.java
+++ b/solr/core/src/test/org/apache/solr/spelling/SpellCheckCollatorTest.java
@@ -25,6 +25,7 @@ import org.apache.lucene.util.TestUtil;
 import org.apache.solr.SolrTestCaseJ4;
 import org.apache.solr.common.params.SolrParams;
 import org.apache.solr.common.params.CommonParams;
+import org.apache.solr.common.params.CursorMarkParams;
 import org.apache.solr.common.params.GroupParams;
 import org.apache.solr.common.params.ModifiableSolrParams;
 import org.apache.solr.common.params.SpellingParams;
@@ -594,5 +595,34 @@ public class SpellCheckCollatorTest extends SolrTestCaseJ4 {
     List<?> collations = (List<?>) collationList.getAll("collation");
     assertTrue(collations.size() == 2);
   }
+  @Test
+  public void testWithCursorMark() throws Exception
+  {
+    SolrCore core = h.getCore();
+    SearchComponent speller = core.getSearchComponent("spellcheck");
+    assertTrue("speller is null and it shouldn't be", speller != null);
+    
+    ModifiableSolrParams params = new ModifiableSolrParams();   
+    params.add(SpellCheckComponent.COMPONENT_NAME, "true");
+    params.add(SpellCheckComponent.SPELLCHECK_BUILD, "true");
+    params.add(SpellCheckComponent.SPELLCHECK_COUNT, "10");   
+    params.add(SpellCheckComponent.SPELLCHECK_COLLATE, "true");
+    params.add(SpellCheckComponent.SPELLCHECK_MAX_COLLATION_TRIES, "2");
+    params.add(SpellCheckComponent.SPELLCHECK_MAX_COLLATIONS, "1");
+    params.add(CommonParams.Q, "lowerfilt:(+fauth)");
+    params.add(CommonParams.SORT, "id asc");
+    params.add(CursorMarkParams.CURSOR_MARK_PARAM, CursorMarkParams.CURSOR_MARK_START);
+    SolrRequestHandler handler = core.getRequestHandler("spellCheckCompRH");
+    SolrQueryResponse rsp = new SolrQueryResponse();
+    rsp.addResponseHeader(new SimpleOrderedMap());
+    SolrQueryRequest req = new LocalSolrQueryRequest(core, params);
+    handler.handleRequest(req, rsp);
+    req.close();
+    NamedList values = rsp.getValues();
+    NamedList spellCheck = (NamedList) values.get("spellcheck");
+    NamedList collationList = (NamedList) spellCheck.get("collations");
+    List<?> collations = (List<?>) collationList.getAll("collation");
+    assertTrue(collations.size() == 1);
+  }
   
 }


[3/3] lucene-solr:branch_6_0: SOLR-9165: disable "cursorMark" when testing for valid SpellCheck Collations

Posted by sa...@apache.org.
SOLR-9165: disable "cursorMark" when testing for valid SpellCheck Collations


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

Branch: refs/heads/branch_6_0
Commit: 7b79571d948365658e00f0bb431c082dedca1aaf
Parents: b866e59
Author: jdyer1 <jd...@apache.org>
Authored: Thu May 26 14:46:43 2016 -0500
Committer: Steve Rowe <sa...@apache.org>
Committed: Fri Jun 17 19:07:28 2016 -0400

----------------------------------------------------------------------
 .../solr/spelling/SpellCheckCollator.java       |  3 ++
 .../solr/spelling/SpellCheckCollatorTest.java   | 30 ++++++++++++++++++++
 2 files changed, 33 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7b79571d/solr/core/src/java/org/apache/solr/spelling/SpellCheckCollator.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/spelling/SpellCheckCollator.java b/solr/core/src/java/org/apache/solr/spelling/SpellCheckCollator.java
index 528cdc3..0738081 100644
--- a/solr/core/src/java/org/apache/solr/spelling/SpellCheckCollator.java
+++ b/solr/core/src/java/org/apache/solr/spelling/SpellCheckCollator.java
@@ -24,6 +24,7 @@ import java.util.List;
 import org.apache.lucene.analysis.Token;
 import org.apache.lucene.index.IndexReader;
 import org.apache.solr.common.params.CommonParams;
+import org.apache.solr.common.params.CursorMarkParams;
 import org.apache.solr.common.params.DisMaxParams;
 import org.apache.solr.common.params.GroupParams;
 import org.apache.solr.common.params.ModifiableSolrParams;
@@ -118,6 +119,8 @@ public class SpellCheckCollator {
         params.set(CommonParams.FL, "id");
         // we'll sort by doc id to ensure no scoring is done.
         params.set(CommonParams.SORT, "_docid_ asc");
+        // CursorMark does not like _docid_ sorting, and we don't need it.
+        params.remove(CursorMarkParams.CURSOR_MARK_PARAM);
         // If a dismax query, don't add unnecessary clauses for scoring
         params.remove(DisMaxParams.TIE);
         params.remove(DisMaxParams.PF);

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7b79571d/solr/core/src/test/org/apache/solr/spelling/SpellCheckCollatorTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/spelling/SpellCheckCollatorTest.java b/solr/core/src/test/org/apache/solr/spelling/SpellCheckCollatorTest.java
index 9711149..a31a19d 100644
--- a/solr/core/src/test/org/apache/solr/spelling/SpellCheckCollatorTest.java
+++ b/solr/core/src/test/org/apache/solr/spelling/SpellCheckCollatorTest.java
@@ -25,6 +25,7 @@ import org.apache.lucene.util.TestUtil;
 import org.apache.solr.SolrTestCaseJ4;
 import org.apache.solr.common.params.SolrParams;
 import org.apache.solr.common.params.CommonParams;
+import org.apache.solr.common.params.CursorMarkParams;
 import org.apache.solr.common.params.GroupParams;
 import org.apache.solr.common.params.ModifiableSolrParams;
 import org.apache.solr.common.params.SpellingParams;
@@ -594,5 +595,34 @@ public class SpellCheckCollatorTest extends SolrTestCaseJ4 {
     List<?> collations = (List<?>) collationList.getAll("collation");
     assertTrue(collations.size() == 2);
   }
+  @Test
+  public void testWithCursorMark() throws Exception
+  {
+    SolrCore core = h.getCore();
+    SearchComponent speller = core.getSearchComponent("spellcheck");
+    assertTrue("speller is null and it shouldn't be", speller != null);
+    
+    ModifiableSolrParams params = new ModifiableSolrParams();   
+    params.add(SpellCheckComponent.COMPONENT_NAME, "true");
+    params.add(SpellCheckComponent.SPELLCHECK_BUILD, "true");
+    params.add(SpellCheckComponent.SPELLCHECK_COUNT, "10");   
+    params.add(SpellCheckComponent.SPELLCHECK_COLLATE, "true");
+    params.add(SpellCheckComponent.SPELLCHECK_MAX_COLLATION_TRIES, "2");
+    params.add(SpellCheckComponent.SPELLCHECK_MAX_COLLATIONS, "1");
+    params.add(CommonParams.Q, "lowerfilt:(+fauth)");
+    params.add(CommonParams.SORT, "id asc");
+    params.add(CursorMarkParams.CURSOR_MARK_PARAM, CursorMarkParams.CURSOR_MARK_START);
+    SolrRequestHandler handler = core.getRequestHandler("spellCheckCompRH");
+    SolrQueryResponse rsp = new SolrQueryResponse();
+    rsp.addResponseHeader(new SimpleOrderedMap());
+    SolrQueryRequest req = new LocalSolrQueryRequest(core, params);
+    handler.handleRequest(req, rsp);
+    req.close();
+    NamedList values = rsp.getValues();
+    NamedList spellCheck = (NamedList) values.get("spellcheck");
+    NamedList collationList = (NamedList) spellCheck.get("collations");
+    List<?> collations = (List<?>) collationList.getAll("collation");
+    assertTrue(collations.size() == 1);
+  }
   
 }