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 2014/08/15 13:17:53 UTC

svn commit: r1618152 - in /lucene/dev/branches/branch_4x: ./ solr/ solr/core/ solr/core/src/java/org/apache/solr/core/ solr/core/src/java/org/apache/solr/response/ solr/core/src/java/org/apache/solr/search/ solr/core/src/test-files/solr/collection1/con...

Author: jbernste
Date: Fri Aug 15 11:17:53 2014
New Revision: 1618152

URL: http://svn.apache.org/r1618152
Log:
SOLR-5244: Exporting Full Sorted Result Sets

Added:
    lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/response/SortingResponseWriter.java
      - copied, changed from r1618068, lucene/dev/trunk/solr/core/src/java/org/apache/solr/response/SortingResponseWriter.java
    lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/search/ExportQParserPlugin.java
      - copied, changed from r1618068, lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/ExportQParserPlugin.java
    lucene/dev/branches/branch_4x/solr/core/src/test-files/solr/collection1/conf/schema-sortingresponse.xml
      - copied unchanged from r1618068, lucene/dev/trunk/solr/core/src/test-files/solr/collection1/conf/schema-sortingresponse.xml
    lucene/dev/branches/branch_4x/solr/core/src/test-files/solr/collection1/conf/solrconfig-sortingresponse.xml
      - copied unchanged from r1618068, lucene/dev/trunk/solr/core/src/test-files/solr/collection1/conf/solrconfig-sortingresponse.xml
    lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/response/TestSortingResponseWriter.java
      - copied unchanged from r1618068, lucene/dev/trunk/solr/core/src/test/org/apache/solr/response/TestSortingResponseWriter.java
Modified:
    lucene/dev/branches/branch_4x/   (props changed)
    lucene/dev/branches/branch_4x/solr/   (props changed)
    lucene/dev/branches/branch_4x/solr/core/   (props changed)
    lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/core/SolrCore.java
    lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/search/QParserPlugin.java
    lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/search/QueryEqualityTest.java
    lucene/dev/branches/branch_4x/solr/example/   (props changed)
    lucene/dev/branches/branch_4x/solr/example/solr/collection1/conf/solrconfig.xml

Modified: lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/core/SolrCore.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/core/SolrCore.java?rev=1618152&r1=1618151&r2=1618152&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/core/SolrCore.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/core/SolrCore.java Fri Aug 15 11:17:53 2014
@@ -63,6 +63,7 @@ import org.apache.solr.response.RawRespo
 import org.apache.solr.response.RubyResponseWriter;
 import org.apache.solr.response.SchemaXmlResponseWriter;
 import org.apache.solr.response.SolrQueryResponse;
+import org.apache.solr.response.SortingResponseWriter;
 import org.apache.solr.response.XMLResponseWriter;
 import org.apache.solr.response.transform.TransformerFactory;
 import org.apache.solr.rest.ManagedResourceStorage;
@@ -2057,6 +2058,7 @@ public final class SolrCore implements S
     m.put("raw", new RawResponseWriter());
     m.put("javabin", new BinaryResponseWriter());
     m.put("csv", new CSVResponseWriter());
+    m.put("xsort", new SortingResponseWriter());
     m.put("schema.xml", new SchemaXmlResponseWriter());
     DEFAULT_RESPONSE_WRITERS = Collections.unmodifiableMap(m);
   }

Copied: lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/response/SortingResponseWriter.java (from r1618068, lucene/dev/trunk/solr/core/src/java/org/apache/solr/response/SortingResponseWriter.java)
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/response/SortingResponseWriter.java?p2=lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/response/SortingResponseWriter.java&p1=lucene/dev/trunk/solr/core/src/java/org/apache/solr/response/SortingResponseWriter.java&r1=1618068&r2=1618152&rev=1618152&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/response/SortingResponseWriter.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/response/SortingResponseWriter.java Fri Aug 15 11:17:53 2014
@@ -1110,7 +1110,7 @@ public class SortingResponseWriter imple
     private String field;
     private FieldType fieldType;
     private boolean numeric;
-    private CharsRefBuilder cref = new CharsRefBuilder();
+    private CharsRef cref = new CharsRef();
 
     public MultiFieldWriter(String field, FieldType fieldType, boolean numeric) {
       this.field = field;
@@ -1207,7 +1207,7 @@ public class SortingResponseWriter imple
   class StringFieldWriter extends FieldWriter {
     private String field;
     private FieldType fieldType;
-    private CharsRefBuilder cref = new CharsRefBuilder();
+    private CharsRef cref = new CharsRef();
 
     public StringFieldWriter(String field, FieldType fieldType) {
       this.field = field;

Copied: lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/search/ExportQParserPlugin.java (from r1618068, lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/ExportQParserPlugin.java)
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/search/ExportQParserPlugin.java?p2=lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/search/ExportQParserPlugin.java&p1=lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/ExportQParserPlugin.java&r1=1618068&r2=1618152&rev=1618152&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/ExportQParserPlugin.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/search/ExportQParserPlugin.java Fri Aug 15 11:17:53 2014
@@ -136,10 +136,9 @@ public class ExportQParserPlugin extends
       this.sets = sets;
     }
     
-    public void doSetNextReader(AtomicReaderContext context) throws IOException {
+    public void setNextReader(AtomicReaderContext context) throws IOException {
       this.set = new FixedBitSet(context.reader().maxDoc());
       this.sets[context.ord] = set;
-
     }
     
     public void collect(int docId) throws IOException{

Modified: lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/search/QParserPlugin.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/search/QParserPlugin.java?rev=1618152&r1=1618151&r2=1618152&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/search/QParserPlugin.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/search/QParserPlugin.java Fri Aug 15 11:17:53 2014
@@ -62,7 +62,8 @@ public abstract class QParserPlugin impl
     CollapsingQParserPlugin.NAME, CollapsingQParserPlugin.class,
     SimpleQParserPlugin.NAME, SimpleQParserPlugin.class,
     ComplexPhraseQParserPlugin.NAME, ComplexPhraseQParserPlugin.class,
-    ReRankQParserPlugin.NAME, ReRankQParserPlugin.class
+    ReRankQParserPlugin.NAME, ReRankQParserPlugin.class,
+    ExportQParserPlugin.NAME, ExportQParserPlugin.class
   };
 
   /** return a {@link QParser} */

Modified: lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/search/QueryEqualityTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/search/QueryEqualityTest.java?rev=1618152&r1=1618151&r2=1618152&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/search/QueryEqualityTest.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/search/QueryEqualityTest.java Fri Aug 15 11:17:53 2014
@@ -160,6 +160,15 @@ public class QueryEqualityTest extends S
     }
   }
 
+  public void testExportQuery() throws Exception {
+    SolrQueryRequest req = req("q", "*:*");
+    try {
+      assertQueryEquals("xport", req, "{!xport}");
+    } finally {
+      req.close();
+    }
+  }
+
   public void testQuerySwitch() throws Exception {
     SolrQueryRequest req = req("myXXX", "XXX", 
                                "myField", "foo_s",

Modified: lucene/dev/branches/branch_4x/solr/example/solr/collection1/conf/solrconfig.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/example/solr/collection1/conf/solrconfig.xml?rev=1618152&r1=1618151&r2=1618152&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/example/solr/collection1/conf/solrconfig.xml (original)
+++ lucene/dev/branches/branch_4x/solr/example/solr/collection1/conf/solrconfig.xml Fri Aug 15 11:17:53 2014
@@ -926,7 +926,28 @@
      </lst>
   </requestHandler>
 
- 
+  <!--
+    The export request handler is used to export full sorted result sets.
+    Do not change these defaults.
+  -->
+
+  <requestHandler name="/export" class="solr.SearchHandler">
+    <lst name="invariants">
+      <str name="rq">{!xport}</str>
+      <str name="wt">xsort</str>
+      <str name="distrib">false</str>
+    </lst>
+
+    <arr name="components">
+      <str>query</str>
+    </arr>
+  </requestHandler>
+
+
+
+
+
+
   <!-- A Robust Example 
        
        This example SearchHandler declaration shows off usage of the