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++) {