Clean up of the paging code.

Project: http://git-wip-us.apache.org/repos/asf/incubator-blur/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-blur/commit/4ef6e5ce
Tree: http://git-wip-us.apache.org/repos/asf/incubator-blur/tree/4ef6e5ce
Diff: http://git-wip-us.apache.org/repos/asf/incubator-blur/diff/4ef6e5ce

Branch: refs/heads/0.1.5
Commit: 4ef6e5ce6390a767690d1fa6ca8ccd0a65cbc0b1
Parents: 61b184a
Author: Aaron McCurry <[email protected]>
Authored: Sat Mar 30 21:38:59 2013 -0400
Committer: Aaron McCurry <[email protected]>
Committed: Sat Mar 30 21:38:59 2013 -0400

----------------------------------------------------------------------
 .../apache/blur/lucene/search/IterablePaging.java  |   37 ++++++---------
 .../apache/blur/lucene/search/PagingCollector.java |   12 ++---
 .../apache/blur/search/TestingPagingCollector.java |    8 ++--
 3 files changed, 23 insertions(+), 34 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/4ef6e5ce/src/blur-core/src/main/java/org/apache/blur/lucene/search/IterablePaging.java
----------------------------------------------------------------------
diff --git 
a/src/blur-core/src/main/java/org/apache/blur/lucene/search/IterablePaging.java 
b/src/blur-core/src/main/java/org/apache/blur/lucene/search/IterablePaging.java
index 4e2cbc5..586b68a 100644
--- 
a/src/blur-core/src/main/java/org/apache/blur/lucene/search/IterablePaging.java
+++ 
b/src/blur-core/src/main/java/org/apache/blur/lucene/search/IterablePaging.java
@@ -25,6 +25,7 @@ import java.util.concurrent.atomic.AtomicLong;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.ScoreDoc;
+import org.apache.lucene.search.TopDocs;
 import org.apache.lucene.search.TopScoreDocCollector;
 
 /**
@@ -32,31 +33,25 @@ import org.apache.lucene.search.TopScoreDocCollector;
  */
 public class IterablePaging implements Iterable<ScoreDoc> {
 
-  private static int DEFAULT_NUMBER_OF_HITS_TO_COLLECT = 1000;
-  private IndexSearcher searcher;
-  private Query query;
-  private TotalHitsRef totalHitsRef = new TotalHitsRef();
-  private ProgressRef progressRef = new ProgressRef();
+  private final IndexSearcher searcher;
+  private final Query query;
+  private final AtomicBoolean running;
+  private final int numHitsToCollect;
+
+  private TotalHitsRef totalHitsRef;
+  private ProgressRef progressRef;
   private int skipTo;
-  private int numHitsToCollect = DEFAULT_NUMBER_OF_HITS_TO_COLLECT;
   private int gather = -1;
-  private AtomicBoolean running;
-
-  public IterablePaging(AtomicBoolean running, IndexSearcher searcher, Query 
query) throws IOException {
-    this(running, searcher, query, DEFAULT_NUMBER_OF_HITS_TO_COLLECT, null, 
null);
-  }
 
-  public IterablePaging(AtomicBoolean running, IndexSearcher searcher, Query 
query, int numHitsToCollect) throws IOException {
-    this(running, searcher, query, numHitsToCollect, null, null);
-  }
-
-  public IterablePaging(AtomicBoolean running, IndexSearcher searcher, Query 
query, int numHitsToCollect, TotalHitsRef totalHitsRef, ProgressRef 
progressRef) throws IOException {
+  public IterablePaging(AtomicBoolean running, IndexSearcher searcher, Query 
query,
+      int numHitsToCollect, TotalHitsRef totalHitsRef, ProgressRef 
progressRef) throws IOException {
     this.running = running;
     this.query = searcher.rewrite(query);
     this.searcher = searcher;
     this.numHitsToCollect = numHitsToCollect;
-    this.totalHitsRef = totalHitsRef == null ? this.totalHitsRef : 
totalHitsRef;
-    this.progressRef = progressRef == null ? this.progressRef : progressRef;
+    this.totalHitsRef = totalHitsRef == null ? new TotalHitsRef() : 
totalHitsRef;
+    this.progressRef = progressRef == null ? new ProgressRef() : progressRef;
+
   }
 
   public static class TotalHitsRef {
@@ -178,7 +173,8 @@ public class IterablePaging implements Iterable<ScoreDoc> {
         StopExecutionCollector stopExecutionCollector = new 
StopExecutionCollector(collector, running);
         searcher.search(query, stopExecutionCollector);
         totalHitsRef.totalHits.set(collector.getTotalHits());
-        scoreDocs = collector.topDocs().scoreDocs;
+        TopDocs topDocs = collector.topDocs();
+        scoreDocs = topDocs.scoreDocs;
       } catch (IOException e) {
         e.printStackTrace();
         throw new RuntimeException(e);
@@ -228,7 +224,4 @@ public class IterablePaging implements Iterable<ScoreDoc> {
     return iterator;
   }
 
-  public static void setDefaultNumberOfHitsToCollect(int num) {
-    DEFAULT_NUMBER_OF_HITS_TO_COLLECT = num;
-  }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/4ef6e5ce/src/blur-core/src/main/java/org/apache/blur/lucene/search/PagingCollector.java
----------------------------------------------------------------------
diff --git 
a/src/blur-core/src/main/java/org/apache/blur/lucene/search/PagingCollector.java
 
b/src/blur-core/src/main/java/org/apache/blur/lucene/search/PagingCollector.java
index 385c29d..fec888c 100644
--- 
a/src/blur-core/src/main/java/org/apache/blur/lucene/search/PagingCollector.java
+++ 
b/src/blur-core/src/main/java/org/apache/blur/lucene/search/PagingCollector.java
@@ -95,25 +95,21 @@ public class PagingCollector extends 
TopDocsCollector<ScoreDoc> {
 
   public static class HitQueue extends PriorityQueue<ScoreDoc> {
 
-    private boolean prePopulate;
-
     HitQueue(int size, boolean prePopulate) {
-      super(size);
-      this.prePopulate = prePopulate;
+      super(size, prePopulate);
     }
 
     @Override
     protected ScoreDoc getSentinelObject() {
-      return !prePopulate ? null : new ScoreDoc(Integer.MAX_VALUE, 
Float.NEGATIVE_INFINITY);
+      return new ScoreDoc(Integer.MAX_VALUE, Float.NEGATIVE_INFINITY);
     }
 
     @Override
     protected final boolean lessThan(ScoreDoc hitA, ScoreDoc hitB) {
-      if (hitA.score == hitB.score) {
+      if (hitA.score == hitB.score)
         return hitA.doc > hitB.doc;
-      } else {
+      else
         return hitA.score < hitB.score;
-      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/4ef6e5ce/src/blur-core/src/test/java/org/apache/blur/search/TestingPagingCollector.java
----------------------------------------------------------------------
diff --git 
a/src/blur-core/src/test/java/org/apache/blur/search/TestingPagingCollector.java
 
b/src/blur-core/src/test/java/org/apache/blur/search/TestingPagingCollector.java
index 14ae610..5eaad3f 100644
--- 
a/src/blur-core/src/test/java/org/apache/blur/search/TestingPagingCollector.java
+++ 
b/src/blur-core/src/test/java/org/apache/blur/search/TestingPagingCollector.java
@@ -39,7 +39,6 @@ import org.apache.lucene.search.TermQuery;
 import org.apache.lucene.store.RAMDirectory;
 import org.junit.Test;
 
-
 /**
  * Testing the paging collector.
  * 
@@ -60,12 +59,13 @@ public class TestingPagingCollector {
     ProgressRef progressRef = new ProgressRef();
 
     TermQuery query = new TermQuery(new Term("f1", "value"));
-    IterablePaging paging = new IterablePaging(new AtomicBoolean(true), 
searcher, query, 100);
+    IterablePaging paging = new IterablePaging(new AtomicBoolean(true), 
searcher, query, 100, null, null);
 
     for (ScoreDoc sd : 
paging.skipTo(90).gather(20).totalHits(totalHitsRef).progress(progressRef)) {
 
-      System.out.println("time [" + progressRef.queryTime() + "] " + "total 
hits [" + totalHitsRef.totalHits() + "] " + "searches [" + 
progressRef.searchesPerformed() + "] "
-          + "position [" + progressRef.currentHitPosition() + "] " + "doc id 
[" + sd.doc + "] " + "score [" + sd.score + "]");
+      System.out.println("time [" + progressRef.queryTime() + "] " + "total 
hits [" + totalHitsRef.totalHits() + "] "
+          + "searches [" + progressRef.searchesPerformed() + "] " + "position 
[" + progressRef.currentHitPosition()
+          + "] " + "doc id [" + sd.doc + "] " + "score [" + sd.score + "]");
     }
   }
 

Reply via email to