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 14:51:06 UTC

svn commit: r1025978 - /lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/MultiTermQuery.java

Author: uschindler
Date: Thu Oct 21 12:51:06 2010
New Revision: 1025978

URL: http://svn.apache.org/viewvc?rev=1025978&view=rev
Log:
fix caching on Mike's last commit. Also remove counting at all.

Modified:
    lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/MultiTermQuery.java

Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/MultiTermQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/MultiTermQuery.java?rev=1025978&r1=1025977&r2=1025978&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/MultiTermQuery.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/MultiTermQuery.java Thu Oct 21 12:51:06 2010
@@ -247,10 +247,9 @@ 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 List<IndexReader> subReaders = new ArrayList<IndexReader>();
       ReaderUtil.gatherSubReaders(subReaders, reader);
-      int count = 0;
       Comparator<BytesRef> lastTermComp = null;
       
       for (IndexReader r : subReaders) {
@@ -281,15 +280,11 @@ public abstract class MultiTermQuery ext
         collector.setNextEnum(termsEnum);
         BytesRef bytes;
         while ((bytes = termsEnum.next()) != null) {
-          if (collector.collect(bytes)) {
-            termsEnum.cacheCurrentTerm();
-            count++;
-          } else {
-            return count; // interrupt whole term collection, so also don't iterate other subReaders
-          }
+          termsEnum.cacheCurrentTerm();
+          if (!collector.collect(bytes))
+            return; // interrupt whole term collection, so also don't iterate other subReaders
         }
       }
-      return count;
     }
     
     protected static abstract class TermCollector {



Re: svn commit: r1025978 - /lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/MultiTermQuery.java

Posted by Michael McCandless <lu...@mikemccandless.com>.
Thanks Uwe!

Mike

On Thu, Oct 21, 2010 at 8:51 AM,  <us...@apache.org> wrote:
> Author: uschindler
> Date: Thu Oct 21 12:51:06 2010
> New Revision: 1025978
>
> URL: http://svn.apache.org/viewvc?rev=1025978&view=rev
> Log:
> fix caching on Mike's last commit. Also remove counting at all.
>
> Modified:
>    lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/MultiTermQuery.java
>
> Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/MultiTermQuery.java
> URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/MultiTermQuery.java?rev=1025978&r1=1025977&r2=1025978&view=diff
> ==============================================================================
> --- lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/MultiTermQuery.java (original)
> +++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/MultiTermQuery.java Thu Oct 21 12:51:06 2010
> @@ -247,10 +247,9 @@ 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 List<IndexReader> subReaders = new ArrayList<IndexReader>();
>       ReaderUtil.gatherSubReaders(subReaders, reader);
> -      int count = 0;
>       Comparator<BytesRef> lastTermComp = null;
>
>       for (IndexReader r : subReaders) {
> @@ -281,15 +280,11 @@ public abstract class MultiTermQuery ext
>         collector.setNextEnum(termsEnum);
>         BytesRef bytes;
>         while ((bytes = termsEnum.next()) != null) {
> -          if (collector.collect(bytes)) {
> -            termsEnum.cacheCurrentTerm();
> -            count++;
> -          } else {
> -            return count; // interrupt whole term collection, so also don't iterate other subReaders
> -          }
> +          termsEnum.cacheCurrentTerm();
> +          if (!collector.collect(bytes))
> +            return; // interrupt whole term collection, so also don't iterate other subReaders
>         }
>       }
> -      return count;
>     }
>
>     protected static abstract class TermCollector {
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org