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 {