You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2011/10/12 23:23:35 UTC

svn commit: r1182586 - /lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/TermScorer.java

Author: rmuir
Date: Wed Oct 12 21:23:35 2011
New Revision: 1182586

URL: http://svn.apache.org/viewvc?rev=1182586&view=rev
Log:
make bulk buffers in termscorer final

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

Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/TermScorer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/TermScorer.java?rev=1182586&r1=1182585&r2=1182586&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/TermScorer.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/TermScorer.java Wed Oct 12 21:23:35 2011
@@ -25,15 +25,15 @@ import org.apache.lucene.search.similari
 /** Expert: A <code>Scorer</code> for documents matching a <code>Term</code>.
  */
 final class TermScorer extends Scorer {
-  private DocsEnum docsEnum;
+  private final DocsEnum docsEnum;
   private int doc = -1;
   private int freq;
 
   private int pointer;
   private int pointerMax;
 
-  private int[] docs;
-  private int[] freqs;
+  private final int[] docs;
+  private final int[] freqs;
   private final DocsEnum.BulkReadResult bulkResult;
   private final Similarity.ExactDocScorer docScorer;
   
@@ -53,6 +53,8 @@ final class TermScorer extends Scorer {
     this.docScorer = docScorer;
     this.docsEnum = td;
     bulkResult = td.getBulkResult();
+    docs = bulkResult.docs.ints;
+    freqs = bulkResult.freqs.ints;
   }
 
   @Override
@@ -60,12 +62,6 @@ final class TermScorer extends Scorer {
     score(c, Integer.MAX_VALUE, nextDoc());
   }
 
-  private final void refillBuffer() throws IOException {
-    pointerMax = docsEnum.read();  // refill
-    docs = bulkResult.docs.ints;
-    freqs = bulkResult.freqs.ints;
-  }
-
   // firstDocID is ignored since nextDoc() sets 'doc'
   @Override
   public boolean score(Collector c, int end, int firstDocID) throws IOException {
@@ -74,7 +70,7 @@ final class TermScorer extends Scorer {
       //System.out.println("TS: collect doc=" + doc);
       c.collect(doc);                      // collect score
       if (++pointer >= pointerMax) {
-        refillBuffer();
+        pointerMax = docsEnum.read();  // refill
         if (pointerMax != 0) {
           pointer = 0;
         } else {
@@ -109,7 +105,7 @@ final class TermScorer extends Scorer {
   public int nextDoc() throws IOException {
     pointer++;
     if (pointer >= pointerMax) {
-      refillBuffer();
+      pointerMax = docsEnum.read();  // refill
       if (pointerMax != 0) {
         pointer = 0;
       } else {