You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jp...@apache.org on 2015/02/24 19:50:18 UTC

svn commit: r1662082 [5/5] - in /lucene/dev/branches/branch_5x: ./ lucene/ lucene/analysis/ lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/ lucene/backward-codecs/ lucene/backward-codecs/src/test/org/apache/lucene/index/ lucene/benc...

Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java?rev=1662082&r1=1662081&r2=1662082&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java Tue Feb 24 18:50:15 2015
@@ -179,7 +179,7 @@ public class SolrIndexSearcher extends I
    * and postFilter as well as any needed collector wrappers for dealing with options 
    * specified in the QueryCOmmand.
    */
-  private void buildAndRunCollectorChain(QueryResult qr, Query query, Filter luceneFilter,
+  private void buildAndRunCollectorChain(QueryResult qr, Query query,
       Collector collector, QueryCommand cmd, DelegatingCollector postFilter) throws IOException {
     
     final boolean terminateEarly = (cmd.getFlags() & TERMINATE_EARLY) == TERMINATE_EARLY;
@@ -198,7 +198,7 @@ public class SolrIndexSearcher extends I
     }
     
     try {
-      super.search(query, luceneFilter, collector);
+      super.search(query, collector);
       if(collector instanceof DelegatingCollector) {
         ((DelegatingCollector)collector).finish();
       }
@@ -948,7 +948,11 @@ public class SolrIndexSearcher extends I
       collector = pf.postFilter;
     }
 
-    search(main, pf.filter, collector);
+    if (pf.filter != null) {
+      search(new FilteredQuery(main, pf.filter), collector);
+    } else {
+      search(main, collector);
+    }
 
     if(collector instanceof DelegatingCollector) {
       ((DelegatingCollector) collector).finish();
@@ -1228,10 +1232,10 @@ public class SolrIndexSearcher extends I
 
     try {
       if (filter == null) {
-        super.search(query, null, collector);
+        super.search(query, collector);
       } else {
         Filter luceneFilter = filter.getTopFilter();
-        super.search(query, luceneFilter, collector);
+        super.search(new FilteredQuery(query, luceneFilter), collector);
       }
     } catch ( ExitableDirectoryReader.ExitingReaderException e) {
         log.warn("Query: " + query + "; " + e.getMessage());
@@ -1595,7 +1599,9 @@ public class SolrIndexSearcher extends I
     Query query = QueryUtils.makeQueryable(cmd.getQuery());
 
     ProcessedFilter pf = getProcessedFilter(cmd.getFilter(), cmd.getFilterList());
-    final Filter luceneFilter = pf.filter;
+    if (pf.filter != null) {
+      query = new FilteredQuery(query, pf.filter);
+    }
 
     // handle zero case...
     if (lastDocRequested<=0) {
@@ -1637,7 +1643,7 @@ public class SolrIndexSearcher extends I
         };
       }
       
-      buildAndRunCollectorChain(qr, query, luceneFilter, collector, cmd, pf.postFilter);
+      buildAndRunCollectorChain(qr, query, collector, cmd, pf.postFilter);
 
       nDocsReturned=0;
       ids = new int[nDocsReturned];
@@ -1649,7 +1655,7 @@ public class SolrIndexSearcher extends I
     } else {
       final TopDocsCollector topCollector = buildTopDocsCollector(len, cmd);
       Collector collector = topCollector;
-      buildAndRunCollectorChain(qr, query, luceneFilter, collector, cmd, pf.postFilter);
+      buildAndRunCollectorChain(qr, query, collector, cmd, pf.postFilter);
 
       totalHits = topCollector.getTotalHits();
       TopDocs topDocs = topCollector.topDocs(0, len);
@@ -1690,9 +1696,10 @@ public class SolrIndexSearcher extends I
     int smallSetSize = maxDoc>>6;
 
     ProcessedFilter pf = getProcessedFilter(cmd.getFilter(), cmd.getFilterList());
-    final Filter luceneFilter = pf.filter;
-
     Query query = QueryUtils.makeQueryable(cmd.getQuery());
+    if (pf.filter != null) {
+      query = new FilteredQuery(query, pf.filter);
+    }
 
     // handle zero case...
     if (lastDocRequested<=0) {
@@ -1728,7 +1735,7 @@ public class SolrIndexSearcher extends I
         collector = MultiCollector.wrap(setCollector, topScoreCollector);
        }
        
-       buildAndRunCollectorChain(qr, query, luceneFilter, collector, cmd, pf.postFilter);
+       buildAndRunCollectorChain(qr, query, collector, cmd, pf.postFilter);
 
       set = setCollector.getDocSet();
 
@@ -1745,7 +1752,7 @@ public class SolrIndexSearcher extends I
       DocSetCollector setCollector = new DocSetCollector(maxDoc>>6, maxDoc);
       Collector collector = MultiCollector.wrap(topCollector, setCollector);
 
-      buildAndRunCollectorChain(qr, query, luceneFilter, collector, cmd, pf.postFilter);
+      buildAndRunCollectorChain(qr, query, collector, cmd, pf.postFilter);
 
       set = setCollector.getDocSet();      
 
@@ -2074,7 +2081,7 @@ public class SolrIndexSearcher extends I
       BooleanQuery bq = new BooleanQuery();
       bq.add(QueryUtils.makeQueryable(a), BooleanClause.Occur.MUST);
       bq.add(new ConstantScoreQuery(b.getTopFilter()), BooleanClause.Occur.MUST);
-      super.search(bq, null, collector);
+      super.search(bq, collector);
       return collector.getTotalHits();
     }
   }

Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/grouping/CommandHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/grouping/CommandHandler.java?rev=1662082&r1=1662081&r2=1662082&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/grouping/CommandHandler.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/grouping/CommandHandler.java Tue Feb 24 18:50:15 2015
@@ -26,6 +26,7 @@ import org.apache.lucene.index.ExitableD
 import org.apache.lucene.queries.function.ValueSource;
 import org.apache.lucene.search.Collector;
 import org.apache.lucene.search.Filter;
+import org.apache.lucene.search.FilteredQuery;
 import org.apache.lucene.search.MultiCollector;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.TimeLimitingCollector;
@@ -208,8 +209,8 @@ public class CommandHandler {
    * Invokes search with the specified filter and collector.  
    * If a time limit has been specified then wrap the collector in the TimeLimitingCollector
    */
-  private void searchWithTimeLimiter(final Query query, 
-                                     final ProcessedFilter filter, 
+  private void searchWithTimeLimiter(Query query, 
+                                     ProcessedFilter filter, 
                                      Collector collector) throws IOException {
     if (queryCommand.getTimeAllowed() > 0 ) {
       collector = new TimeLimitingCollector(collector, TimeLimitingCollector.getGlobalCounter(), queryCommand.getTimeAllowed());
@@ -220,14 +221,16 @@ public class CommandHandler {
       collector = MultiCollector.wrap(collector, hitCountCollector);
     }
 
-    Filter luceneFilter = filter.filter;
+    if (filter.filter != null) {
+      query = new FilteredQuery(query, filter.filter);
+    }
     if (filter.postFilter != null) {
       filter.postFilter.setLastDelegate(collector);
       collector = filter.postFilter;
     }
 
     try {
-      searcher.search(query, luceneFilter, collector);
+      searcher.search(query, collector);
     } catch (TimeLimitingCollector.TimeExceededException | ExitableDirectoryReader.ExitingReaderException x) {
       partialResults = true;
       logger.warn( "Query: " + query + "; " + x.getMessage() );

Modified: lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/search/TestSort.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/search/TestSort.java?rev=1662082&r1=1662081&r2=1662082&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/search/TestSort.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/search/TestSort.java Tue Feb 24 18:50:15 2015
@@ -40,6 +40,7 @@ import org.apache.lucene.search.DocIdSet
 import org.apache.lucene.search.Filter;
 import org.apache.lucene.search.FilterCollector;
 import org.apache.lucene.search.FilterLeafCollector;
+import org.apache.lucene.search.FilteredQuery;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.LeafCollector;
 import org.apache.lucene.search.MatchAllDocsQuery;
@@ -52,8 +53,8 @@ import org.apache.lucene.search.TopField
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.RAMDirectory;
 import org.apache.lucene.uninverting.UninvertingReader;
-import org.apache.lucene.util.Bits;
 import org.apache.lucene.util.BitDocIdSet;
+import org.apache.lucene.util.Bits;
 import org.apache.lucene.util.FixedBitSet;
 import org.apache.lucene.util.TestUtil;
 import org.apache.solr.SolrTestCaseJ4;
@@ -295,7 +296,7 @@ public class TestSort extends SolrTestCa
 
         };
 
-        searcher.search(new MatchAllDocsQuery(), filt, myCollector);
+        searcher.search(new FilteredQuery(new MatchAllDocsQuery(), filt), myCollector);
 
         Collections.sort(collectedDocs, new Comparator<MyDoc>() {
           @Override

Modified: lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/search/function/TestOrdValues.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/search/function/TestOrdValues.java?rev=1662082&r1=1662081&r2=1662082&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/search/function/TestOrdValues.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/search/function/TestOrdValues.java Tue Feb 24 18:50:15 2015
@@ -97,7 +97,7 @@ public class TestOrdValues extends Lucen
     Query q = new FunctionQuery(vs);
     log("test: " + q);
     QueryUtils.check(random(), q, s);
-    ScoreDoc[] h = s.search(q, null, 1000).scoreDocs;
+    ScoreDoc[] h = s.search(q, 1000).scoreDocs;
     assertEquals("All docs should be matched!", N_DOCS, h.length);
     String prevID = inOrder
             ? "IE"   // greater than all ids of docs in this test ("ID0001", etc.)
@@ -145,7 +145,7 @@ public class TestOrdValues extends Lucen
       vs = new ReverseOrdFieldSource(field);
     }
     Query q = new FunctionQuery(vs);
-    TopDocs td = s.search(q, null, 1000);
+    TopDocs td = s.search(q, 1000);
     assertEquals("All docs should be matched!", N_DOCS, td.totalHits);
     ScoreDoc sd[] = td.scoreDocs;
     for (int i = 0; i < sd.length; i++) {