More updates for the sorting feature.

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

Branch: refs/heads/apache-blur-0.2
Commit: 2f8179cb5830115a6c255de49f88ef50a9ddb21d
Parents: 3b36b78
Author: Aaron McCurry <[email protected]>
Authored: Tue Jan 28 13:01:33 2014 -0500
Committer: Aaron McCurry <[email protected]>
Committed: Tue Jan 28 13:01:33 2014 -0500

----------------------------------------------------------------------
 .../org/apache/blur/manager/IndexManager.java   |   4 +-
 .../results/BlurResultIterableSearcher.java     |  16 +-
 .../results/BlurResultIterableSimple.java       |   1 -
 .../BlurResultPeekableIteratorComparator.java   |  26 +
 .../java/org/apache/blur/utils/BlurUtil.java    |   6 +
 ...lurResultPeekableIteratorComparatorTest.java |   7 +-
 .../results/MultipleBlurResultIterableTest.java | 125 ++-
 .../blur/lucene/search/IterablePaging.java      |   8 +-
 .../lucene/search/TestingPagingCollector.java   |   6 +-
 .../org/apache/blur/thrift/generated/Blur.java  | 720 ++++++++---------
 .../blur/thrift/generated/BlurQueryStatus.java  |  48 +-
 .../blur/thrift/generated/BlurResult.java       | 174 ++++-
 .../blur/thrift/generated/BlurResults.java      | 148 ++--
 .../blur/thrift/generated/ColumnDefinition.java |  44 +-
 .../apache/blur/thrift/generated/Metric.java    | 132 ++--
 .../blur/thrift/generated/RowMutation.java      |  36 +-
 .../apache/blur/thrift/generated/Schema.java    |  88 +--
 .../apache/blur/thrift/generated/SortField.java | 620 +++++++++++++++
 .../blur/thrift/generated/TableDescriptor.java  | 152 ++--
 .../org/apache/blur/thrift/generated/User.java  |  44 +-
 .../src/main/scripts/interface/Blur.thrift      |  15 +-
 .../main/scripts/interface/gen-html/Blur.html   |  13 +-
 .../main/scripts/interface/gen-html/index.html  |   1 +
 .../org/apache/blur/thrift/generated/Blur.java  | 720 ++++++++---------
 .../blur/thrift/generated/BlurQueryStatus.java  |  48 +-
 .../blur/thrift/generated/BlurResult.java       | 174 ++++-
 .../blur/thrift/generated/BlurResults.java      | 148 ++--
 .../blur/thrift/generated/ColumnDefinition.java |  44 +-
 .../apache/blur/thrift/generated/Metric.java    | 132 ++--
 .../blur/thrift/generated/RowMutation.java      |  36 +-
 .../apache/blur/thrift/generated/Schema.java    |  88 +--
 .../apache/blur/thrift/generated/SortField.java | 620 +++++++++++++++
 .../blur/thrift/generated/TableDescriptor.java  | 152 ++--
 .../org/apache/blur/thrift/generated/User.java  |  44 +-
 .../src/main/scripts/interface/gen-js/Blur.js   | 640 +++++++--------
 .../main/scripts/interface/gen-js/Blur_types.js | 769 +++++++++++--------
 .../scripts/interface/gen-perl/Blur/Blur.pm     | 416 +++++-----
 .../scripts/interface/gen-perl/Blur/Types.pm    | 582 +++++++++-----
 .../main/scripts/interface/gen-rb/blur_types.rb |  58 +-
 docs/Blur.html                                  |  13 +-
 40 files changed, 4634 insertions(+), 2484 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/2f8179cb/blur-core/src/main/java/org/apache/blur/manager/IndexManager.java
----------------------------------------------------------------------
diff --git a/blur-core/src/main/java/org/apache/blur/manager/IndexManager.java 
b/blur-core/src/main/java/org/apache/blur/manager/IndexManager.java
index 83f2b25..72366cb 100644
--- a/blur-core/src/main/java/org/apache/blur/manager/IndexManager.java
+++ b/blur-core/src/main/java/org/apache/blur/manager/IndexManager.java
@@ -118,6 +118,7 @@ import org.apache.lucene.search.DocIdSet;
 import org.apache.lucene.search.DocIdSetIterator;
 import org.apache.lucene.search.Filter;
 import org.apache.lucene.search.Query;
+import org.apache.lucene.search.Sort;
 import org.apache.lucene.search.TermQuery;
 import org.apache.lucene.search.TopDocs;
 import org.apache.lucene.search.highlight.InvalidTokenOffsetsException;
@@ -1297,8 +1298,9 @@ public class IndexManager {
         // BlurResultIterableSearcher will close searcher, if shard server
         // context is null.
         trace2 = Trace.trace("query initial search");
+        Sort sort = null;
         return new BlurResultIterableSearcher(_running, rewrite, _table, 
shard, searcher, _selector,
-            _shardServerContext == null, _runSlow, _fetchCount, 
_maxHeapPerRowFetch, _context, _filter);
+            _shardServerContext == null, _runSlow, _fetchCount, 
_maxHeapPerRowFetch, _context, _filter, sort);
       } catch (BlurException e) {
         switch (_status.getQueryStatus().getState()) {
         case INTERRUPTED:

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/2f8179cb/blur-core/src/main/java/org/apache/blur/manager/results/BlurResultIterableSearcher.java
----------------------------------------------------------------------
diff --git 
a/blur-core/src/main/java/org/apache/blur/manager/results/BlurResultIterableSearcher.java
 
b/blur-core/src/main/java/org/apache/blur/manager/results/BlurResultIterableSearcher.java
index 6f669ab..047e79d 100644
--- 
a/blur-core/src/main/java/org/apache/blur/manager/results/BlurResultIterableSearcher.java
+++ 
b/blur-core/src/main/java/org/apache/blur/manager/results/BlurResultIterableSearcher.java
@@ -30,11 +30,14 @@ import org.apache.blur.thrift.generated.BlurException;
 import org.apache.blur.thrift.generated.BlurResult;
 import org.apache.blur.thrift.generated.Selector;
 import org.apache.blur.utils.BlurIterator;
+import org.apache.blur.utils.BlurUtil;
 import org.apache.blur.utils.Converter;
 import org.apache.blur.utils.IteratorConverter;
+import org.apache.lucene.search.FieldDoc;
 import org.apache.lucene.search.Filter;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.ScoreDoc;
+import org.apache.lucene.search.Sort;
 
 public class BlurResultIterableSearcher implements BlurResultIterable {
 
@@ -49,13 +52,15 @@ public class BlurResultIterableSearcher implements 
BlurResultIterable {
   private final boolean _closeSearcher;
   private final boolean _runSlow;
   private final IterablePaging _iterablePaging;
+  private final Sort _sort;
 
   private IndexSearcherClosable _searcher;
   private long _skipTo;
 
   public BlurResultIterableSearcher(AtomicBoolean running, Query query, String 
table, String shard,
       IndexSearcherClosable searcher, Selector selector, boolean 
closeSearcher, boolean runSlow, int fetchCount,
-      int maxHeapPerRowFetch, TableContext context, Filter filter) throws 
BlurException {
+      int maxHeapPerRowFetch, TableContext context, Filter filter, Sort sort) 
throws BlurException {
+    _sort = sort;
     _running = running;
     _query = query;
     _shard = shard;
@@ -64,13 +69,18 @@ public class BlurResultIterableSearcher implements 
BlurResultIterable {
     _runSlow = runSlow;
     _fetchCount = fetchCount;
     _iterablePaging = new IterablePaging(_running, _searcher, _query, 
_fetchCount, _totalHitsRef, _progressRef,
-        _runSlow);
+        _runSlow, _sort);
     _iteratorConverter = new IteratorConverter<ScoreDoc, BlurResult, 
BlurException>(_iterablePaging.iterator(),
         new Converter<ScoreDoc, BlurResult, BlurException>() {
           @Override
           public BlurResult convert(ScoreDoc scoreDoc) throws BlurException {
             String resolveId = resolveId(scoreDoc);
-            return new BlurResult(resolveId, scoreDoc.score, null);
+            if (_sort == null) {
+              return new BlurResult(resolveId, scoreDoc.score, null, null);
+            } else {
+              FieldDoc fieldDoc = (FieldDoc) scoreDoc;
+              return new BlurResult(resolveId, scoreDoc.score, null, 
BlurUtil.convertToSortFields(fieldDoc.fields));
+            }
           }
         });
     _shardInfo.put(_shard, (long) _totalHitsRef.totalHits());

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/2f8179cb/blur-core/src/main/java/org/apache/blur/manager/results/BlurResultIterableSimple.java
----------------------------------------------------------------------
diff --git 
a/blur-core/src/main/java/org/apache/blur/manager/results/BlurResultIterableSimple.java
 
b/blur-core/src/main/java/org/apache/blur/manager/results/BlurResultIterableSimple.java
index e595107..96e2a90 100644
--- 
a/blur-core/src/main/java/org/apache/blur/manager/results/BlurResultIterableSimple.java
+++ 
b/blur-core/src/main/java/org/apache/blur/manager/results/BlurResultIterableSimple.java
@@ -34,7 +34,6 @@ public class BlurResultIterableSimple implements 
BlurResultIterable {
   private long skipTo;
 
   public BlurResultIterableSimple(String shard, List<BlurResult> hits) {
-    Collections.sort(hits, BlurUtil.HITS_COMPARATOR);
     this.results = hits;
     this.shardInfo = new TreeMap<String, Long>();
     this.shardInfo.put(shard, (long) hits.size());

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/2f8179cb/blur-core/src/main/java/org/apache/blur/manager/results/BlurResultPeekableIteratorComparator.java
----------------------------------------------------------------------
diff --git 
a/blur-core/src/main/java/org/apache/blur/manager/results/BlurResultPeekableIteratorComparator.java
 
b/blur-core/src/main/java/org/apache/blur/manager/results/BlurResultPeekableIteratorComparator.java
index 7253af2..474697f 100644
--- 
a/blur-core/src/main/java/org/apache/blur/manager/results/BlurResultPeekableIteratorComparator.java
+++ 
b/blur-core/src/main/java/org/apache/blur/manager/results/BlurResultPeekableIteratorComparator.java
@@ -17,9 +17,11 @@ package org.apache.blur.manager.results;
  * limitations under the License.
  */
 import java.util.Comparator;
+import java.util.List;
 
 import org.apache.blur.thrift.generated.BlurException;
 import org.apache.blur.thrift.generated.BlurResult;
+import org.apache.blur.thrift.generated.SortField;
 
 public class BlurResultPeekableIteratorComparator implements 
Comparator<PeekableIterator<BlurResult, BlurException>> {
 
@@ -27,6 +29,7 @@ public class BlurResultPeekableIteratorComparator implements 
Comparator<Peekable
   public int compare(PeekableIterator<BlurResult, BlurException> o1, 
PeekableIterator<BlurResult, BlurException> o2) {
     BlurResult result1 = o1.peek();
     BlurResult result2 = o2.peek();
+
     if (result1 == null && result2 == null) {
       return 0;
     } else if (result1 == null) {
@@ -34,6 +37,29 @@ public class BlurResultPeekableIteratorComparator implements 
Comparator<Peekable
     } else if (result2 == null) {
       return -1;
     }
+
+    List<SortField> sortFields1 = result1.getSortFields();
+    List<SortField> sortFields2 = result2.getSortFields();
+    if (sortFields1 != null && sortFields2 != null) {
+      // Then we need to do a sort merge
+      int size1 = sortFields1.size();
+      int size2 = sortFields2.size();
+      if (size1 != size2) {
+        throw new RuntimeException("Result mismatch, sizes of sortfields must 
match [" + result1 + "] ["
+            + result2 + "]");
+      }
+      for (int i = 0; i < size1; i++) {
+        SortField sortField1 = sortFields1.get(i);
+        SortField sortField2 = sortFields2.get(i);
+        int compare = sortField1.compareTo(sortField2);
+        if (compare != 0) {
+          return compare;
+        }
+      }
+    } else if (sortFields1 == null || sortFields2 == null) {
+      throw new RuntimeException("Result mismatch, one of the 2 results have 
null sortfields [" + result1 + "] ["
+          + result2 + "]");
+    }
     int compare = Double.compare(result2.score, result1.score);
     if (compare == 0) {
       return result2.locationId.compareTo(result1.locationId);

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/2f8179cb/blur-core/src/main/java/org/apache/blur/utils/BlurUtil.java
----------------------------------------------------------------------
diff --git a/blur-core/src/main/java/org/apache/blur/utils/BlurUtil.java 
b/blur-core/src/main/java/org/apache/blur/utils/BlurUtil.java
index aecf229..7f1baaf 100644
--- a/blur-core/src/main/java/org/apache/blur/utils/BlurUtil.java
+++ b/blur-core/src/main/java/org/apache/blur/utils/BlurUtil.java
@@ -96,6 +96,7 @@ import org.apache.blur.thrift.generated.Row;
 import org.apache.blur.thrift.generated.RowMutation;
 import org.apache.blur.thrift.generated.RowMutationType;
 import org.apache.blur.thrift.generated.Selector;
+import org.apache.blur.thrift.generated.SortField;
 import org.apache.blur.thrift.util.ResetableTMemoryBuffer;
 import org.apache.blur.trace.Trace;
 import org.apache.blur.trace.Tracer;
@@ -1221,4 +1222,9 @@ public class BlurUtil {
     return (Iface) Proxy.newProxyInstance(Iface.class.getClassLoader(), new 
Class[] { Iface.class }, handler);
   }
 
+  public static List<SortField> convertToSortFields(Object[] fields) {
+    // TODO Auto-generated method stub
+    return null;
+  }
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/2f8179cb/blur-core/src/test/java/org/apache/blur/manager/results/BlurResultPeekableIteratorComparatorTest.java
----------------------------------------------------------------------
diff --git 
a/blur-core/src/test/java/org/apache/blur/manager/results/BlurResultPeekableIteratorComparatorTest.java
 
b/blur-core/src/test/java/org/apache/blur/manager/results/BlurResultPeekableIteratorComparatorTest.java
index b7eeb67..85aab8e 100644
--- 
a/blur-core/src/test/java/org/apache/blur/manager/results/BlurResultPeekableIteratorComparatorTest.java
+++ 
b/blur-core/src/test/java/org/apache/blur/manager/results/BlurResultPeekableIteratorComparatorTest.java
@@ -29,12 +29,11 @@ import org.apache.blur.utils.BlurIterator;
 import org.apache.blur.utils.BlurUtil;
 import org.junit.Test;
 
-
 public class BlurResultPeekableIteratorComparatorTest {
 
   @Test
   public void testResultPeekableIteratorComparator() throws BlurException {
-    List<PeekableIterator<BlurResult,BlurException>> results = new 
ArrayList<PeekableIterator<BlurResult,BlurException>>();
+    List<PeekableIterator<BlurResult, BlurException>> results = new 
ArrayList<PeekableIterator<BlurResult, BlurException>>();
     results.add(PeekableIterator.wrap(wrap(new 
ArrayList<BlurResult>(Arrays.asList(newResult("5", 5))).iterator())));
     results.add(PeekableIterator.wrap(wrap(new 
ArrayList<BlurResult>().iterator())));
     results.add(PeekableIterator.wrap(wrap(new 
ArrayList<BlurResult>().iterator())));
@@ -45,7 +44,7 @@ public class BlurResultPeekableIteratorComparatorTest {
 
     Collections.sort(results, BlurUtil.HITS_PEEKABLE_ITERATOR_COMPARATOR);
 
-    for (PeekableIterator<BlurResult,BlurException> iterator : results) {
+    for (PeekableIterator<BlurResult, BlurException> iterator : results) {
       System.out.println(iterator.peek());
     }
   }
@@ -55,7 +54,7 @@ public class BlurResultPeekableIteratorComparatorTest {
   }
 
   private BlurResult newResult(String id, double score) {
-    return new BlurResult(id, score, null);
+    return new BlurResult(id, score, null, null);
   }
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/2f8179cb/blur-core/src/test/java/org/apache/blur/manager/results/MultipleBlurResultIterableTest.java
----------------------------------------------------------------------
diff --git 
a/blur-core/src/test/java/org/apache/blur/manager/results/MultipleBlurResultIterableTest.java
 
b/blur-core/src/test/java/org/apache/blur/manager/results/MultipleBlurResultIterableTest.java
index d4f5e6f..b1aacf4 100644
--- 
a/blur-core/src/test/java/org/apache/blur/manager/results/MultipleBlurResultIterableTest.java
+++ 
b/blur-core/src/test/java/org/apache/blur/manager/results/MultipleBlurResultIterableTest.java
@@ -17,42 +17,143 @@ package org.apache.blur.manager.results;
  * limitations under the License.
  */
 
+import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.List;
+import java.util.Map.Entry;
+import java.util.Random;
 import java.util.UUID;
 
-import org.apache.blur.manager.results.BlurResultIterable;
-import org.apache.blur.manager.results.BlurResultIterableMultiple;
-import org.apache.blur.manager.results.BlurResultIterableSimple;
 import org.apache.blur.thrift.generated.BlurException;
 import org.apache.blur.thrift.generated.BlurResult;
+import org.apache.blur.thrift.generated.SortField;
 import org.apache.blur.utils.BlurIterator;
+import org.apache.blur.utils.BlurUtil;
 import org.junit.Test;
 
-
 public class MultipleBlurResultIterableTest {
 
   @Test
-  public void testMultipleHitsIterable() throws BlurException {
+  public void testMultipleHitsIterableNoSort() throws BlurException, 
IOException {
+    BlurResultIterableMultiple iterable = new BlurResultIterableMultiple();
+    Random random = new Random();
+    iterable.addBlurResultIterable(newBlurResultIterableNoSort(0, random, 0, 
0.1, 3, 2, 9, 10, 2));
+    iterable.addBlurResultIterable(newBlurResultIterableNoSort(1, random, 7, 
2, 9, 1, 34, 53, 12));
+    iterable.addBlurResultIterable(newBlurResultIterableNoSort(2, random, 4, 
3));
+    iterable.addBlurResultIterable(newBlurResultIterableNoSort(3, random, 7, 
2, 34, 132));
+    iterable.addBlurResultIterable(newBlurResultIterableNoSort(4, random));
+
+    BlurIterator<BlurResult, BlurException> iterator = iterable.iterator();
+    while (iterator.hasNext()) {
+      BlurResult hit = iterator.next();
+      System.out.println(hit);
+    }
+    iterable.close();
+  }
+
+  @SuppressWarnings("unchecked")
+  @Test
+  public void testMultipleHitsIterableSort() throws BlurException, IOException 
{
     BlurResultIterableMultiple iterable = new BlurResultIterableMultiple();
-    iterable.addBlurResultIterable(newBlurResultIterable(0, 0.1, 3, 2, 9, 10, 
2));
-    iterable.addBlurResultIterable(newBlurResultIterable(7, 2, 9, 1, 34, 53, 
12));
-    iterable.addBlurResultIterable(newBlurResultIterable(4, 3));
-    iterable.addBlurResultIterable(newBlurResultIterable(7, 2, 34, 132));
-    iterable.addBlurResultIterable(newBlurResultIterable());
+    Random random = new Random();
+    iterable.addBlurResultIterable(newBlurResultIterableSort(0, random, e(0, 
"a"), e(0.1, "b"), e(3, "y"), e(2, "r"),
+        e(9, null), e(10, "m"), e(2, "r")));
+    iterable.addBlurResultIterable(newBlurResultIterableSort(1, random, e(7, 
"bb"), e(2, "x"), e(9, "aaaa"),
+        e(1, "t-"), e(34, "erw"), e(53, "iow"), e(12, "rewt")));
 
     BlurIterator<BlurResult, BlurException> iterator = iterable.iterator();
     while (iterator.hasNext()) {
       BlurResult hit = iterator.next();
       System.out.println(hit);
     }
+    iterable.close();
+  }
+
+  private Entry<Double, List<SortField>> e(final double score, String s) {
+    final List<SortField> sortFields = new ArrayList<SortField>();
+    SortField sortField = new SortField();
+    if (s == null) {
+      sortField.setNullValue(true);
+    } else {
+      sortField.setStringValue(s);
+    }
+    sortFields.add(sortField);
+    return new Entry<Double, List<SortField>>() {
+
+      @Override
+      public List<SortField> getValue() {
+        return sortFields;
+      }
+
+      @Override
+      public Double getKey() {
+        return score;
+      }
+
+      @Override
+      public List<SortField> setValue(List<SortField> value) {
+        return null;
+      }
+    };
+  }
+
+  private BlurResultIterable newBlurResultIterableSort(int shard, Random 
random,
+      Entry<Double, List<SortField>>... entries) {
+    List<BlurResult> results = new ArrayList<BlurResult>();
+    for (Entry<Double, List<SortField>> entry : entries) {
+      String shardName = BlurUtil.getShardName(shard);
+      int docId = random.nextInt(Integer.MAX_VALUE);
+      Double score = entry.getKey();
+      results.add(new BlurResult(shardName + "/" + docId, score, null, 
entry.getValue()));
+    }
+    Collections.sort(results, new Comparator<BlurResult>() {
+      @Override
+      public int compare(BlurResult o1, BlurResult o2) {
+        List<SortField> sortFields1 = o1.getSortFields();
+        List<SortField> sortFields2 = o2.getSortFields();
+        if (sortFields1.size() != sortFields2.size()) {
+          throw new RuntimeException("SortFields must be the same size.");
+        }
+        for (int i = 0; i < sortFields1.size(); i++) {
+          SortField sortField1 = sortFields1.get(i);
+          SortField sortField2 = sortFields2.get(i);
+          int compare = sortField1.compareTo(sortField2);
+          if (compare != 0) {
+            return compare;
+          }
+        }
+        double score1 = o1.getScore();
+        double score2 = o2.getScore();
+        if (score1 == score2) {
+          return o1.getLocationId().compareTo(o2.getLocationId());
+        }
+        return (int) (score1 - score2);
+      }
+    });
+    return new BlurResultIterableSimple(UUID.randomUUID().toString(), results);
   }
 
-  private BlurResultIterable newBlurResultIterable(double... ds) {
+  private BlurResultIterable newBlurResultIterableNoSort(int shard, Random 
random, double... ds) {
     List<BlurResult> results = new ArrayList<BlurResult>();
     for (double d : ds) {
-      results.add(new BlurResult(UUID.randomUUID().toString() + "-" + 
Double.toString(d), d, null));
+      String shardName = BlurUtil.getShardName(shard);
+      int docId = random.nextInt(Integer.MAX_VALUE);
+      results.add(new BlurResult(shardName + "/" + docId, d, null, null));
     }
+    Collections.sort(results, new Comparator<BlurResult>() {
+      @Override
+      public int compare(BlurResult o1, BlurResult o2) {
+        double score1 = o1.getScore();
+        double score2 = o2.getScore();
+        if (score1 == score2) {
+          return o1.getLocationId().compareTo(o2.getLocationId());
+        }
+        return (int) (score1 - score2);
+      }
+    });
+    Collections.sort(results, BlurUtil.HITS_COMPARATOR);
     return new BlurResultIterableSimple(UUID.randomUUID().toString(), results);
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/2f8179cb/blur-query/src/main/java/org/apache/blur/lucene/search/IterablePaging.java
----------------------------------------------------------------------
diff --git 
a/blur-query/src/main/java/org/apache/blur/lucene/search/IterablePaging.java 
b/blur-query/src/main/java/org/apache/blur/lucene/search/IterablePaging.java
index 15fd094..b9502ed 100644
--- a/blur-query/src/main/java/org/apache/blur/lucene/search/IterablePaging.java
+++ b/blur-query/src/main/java/org/apache/blur/lucene/search/IterablePaging.java
@@ -56,10 +56,10 @@ public class IterablePaging implements 
BlurIterable<ScoreDoc, BlurException> {
   private int skipTo;
   private int gather = -1;
 
-  public IterablePaging(AtomicBoolean running, IndexSearcher searcher, Query 
query, int numHitsToCollect,
-      TotalHitsRef totalHitsRef, ProgressRef progressRef, boolean runSlow) 
throws BlurException {
-    this(running, searcher, query, numHitsToCollect, totalHitsRef, 
progressRef, runSlow, null);
-  }
+//  public IterablePaging(AtomicBoolean running, IndexSearcher searcher, Query 
query, int numHitsToCollect,
+//      TotalHitsRef totalHitsRef, ProgressRef progressRef, boolean runSlow) 
throws BlurException {
+//    this(running, searcher, query, numHitsToCollect, totalHitsRef, 
progressRef, runSlow, null);
+//  }
 
   public IterablePaging(AtomicBoolean running, IndexSearcher searcher, Query 
query, int numHitsToCollect,
       TotalHitsRef totalHitsRef, ProgressRef progressRef, boolean runSlow, 
Sort sort) throws BlurException {

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/2f8179cb/blur-query/src/test/java/org/apache/blur/lucene/search/TestingPagingCollector.java
----------------------------------------------------------------------
diff --git 
a/blur-query/src/test/java/org/apache/blur/lucene/search/TestingPagingCollector.java
 
b/blur-query/src/test/java/org/apache/blur/lucene/search/TestingPagingCollector.java
index 078b1f9..737c617 100644
--- 
a/blur-query/src/test/java/org/apache/blur/lucene/search/TestingPagingCollector.java
+++ 
b/blur-query/src/test/java/org/apache/blur/lucene/search/TestingPagingCollector.java
@@ -45,11 +45,9 @@ import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.ScoreDoc;
 import org.apache.lucene.search.Sort;
 import org.apache.lucene.search.SortField;
-import org.apache.lucene.search.SortField.Type;
 import org.apache.lucene.search.TermQuery;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.RAMDirectory;
-import org.apache.lucene.util.BytesRef;
 import org.junit.Test;
 
 /**
@@ -67,7 +65,7 @@ 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, null, null, false);
+    IterablePaging paging = new IterablePaging(new AtomicBoolean(true), 
searcher, query, 100, null, null, false, null);
     IterablePaging itPaging = 
paging.skipTo(90).gather(20).totalHits(totalHitsRef).progress(progressRef);
     BlurIterator<ScoreDoc, BlurException> iterator = itPaging.iterator();
     int position = 90;
@@ -96,7 +94,7 @@ public class TestingPagingCollector {
 
     printHeapSize();
     TermQuery query = new TermQuery(new Term("f1", "value"));
-//    SortField sortfield = new SortField("index", Type.INT, true);
+    // SortField sortfield = new SortField("index", Type.INT, true);
     FieldComparatorSource comparator = getFieldComparatorSource();
     SortField sortfield = new SortField("index", comparator);
     Sort sort = new Sort(sortfield);

Reply via email to