You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by us...@apache.org on 2010/10/21 15:02:09 UTC
svn commit: r1025984 -
/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/search/MultiTermQuery.java
Author: uschindler
Date: Thu Oct 21 13:02:09 2010
New Revision: 1025984
URL: http://svn.apache.org/viewvc?rev=1025984&view=rev
Log:
Also remove the useless counting in MTQ on 3.x
Modified:
lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/search/MultiTermQuery.java
Modified: lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/search/MultiTermQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/search/MultiTermQuery.java?rev=1025984&r1=1025983&r2=1025984&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/search/MultiTermQuery.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/search/MultiTermQuery.java Thu Oct 21 13:02:09 2010
@@ -99,24 +99,17 @@ public abstract class MultiTermQuery ext
private abstract static class BooleanQueryRewrite extends RewriteMethod {
- protected final int collectTerms(IndexReader reader, MultiTermQuery query, TermCollector collector) throws IOException {
+ protected final void collectTerms(IndexReader reader, MultiTermQuery query, TermCollector collector) throws IOException {
final FilteredTermEnum enumerator = query.getEnum(reader);
- int count = 0;
try {
do {
- Term t = enumerator.term();
- if (t != null) {
- if (collector.collect(t, enumerator.difference())) {
- count++;
- } else {
- break;
- }
- }
+ final Term t = enumerator.term();
+ if (t == null || !collector.collect(t, enumerator.difference()))
+ break;
} while (enumerator.next());
} finally {
enumerator.close();
}
- return count;
}
protected interface TermCollector {
@@ -130,14 +123,15 @@ public abstract class MultiTermQuery ext
@Override
public Query rewrite(final IndexReader reader, final MultiTermQuery query) throws IOException {
final BooleanQuery result = new BooleanQuery(true);
- query.incTotalNumberOfTerms(collectTerms(reader, query, new TermCollector() {
+ collectTerms(reader, query, new TermCollector() {
public boolean collect(Term t, float boost) {
TermQuery tq = new TermQuery(t); // found a match
tq.setBoost(query.getBoost() * boost); // set the boost
result.add(tq, BooleanClause.Occur.SHOULD); // add to query
return true;
}
- }));
+ });
+ query.incTotalNumberOfTerms(result.clauses().size());
return result;
}