You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ho...@apache.org on 2016/03/21 01:43:40 UTC

[18/50] lucene-solr:jira/SOLR-445: LUCENE-7099: improve test to exercise searchAfter

LUCENE-7099: improve test to exercise searchAfter


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/80fe00ba
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/80fe00ba
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/80fe00ba

Branch: refs/heads/jira/SOLR-445
Commit: 80fe00ba18ac1f834028eb0064115a00bafe1f20
Parents: 95f20c6
Author: Robert Muir <rm...@apache.org>
Authored: Mon Mar 14 12:19:19 2016 -0400
Committer: Robert Muir <rm...@apache.org>
Committed: Mon Mar 14 12:19:19 2016 -0400

----------------------------------------------------------------------
 .../document/TestLatLonPointDistanceSort.java    | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/80fe00ba/lucene/sandbox/src/test/org/apache/lucene/document/TestLatLonPointDistanceSort.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/test/org/apache/lucene/document/TestLatLonPointDistanceSort.java b/lucene/sandbox/src/test/org/apache/lucene/document/TestLatLonPointDistanceSort.java
index a0ee83f..ea36ea6 100644
--- a/lucene/sandbox/src/test/org/apache/lucene/document/TestLatLonPointDistanceSort.java
+++ b/lucene/sandbox/src/test/org/apache/lucene/document/TestLatLonPointDistanceSort.java
@@ -27,7 +27,6 @@ import org.apache.lucene.search.MatchAllDocsQuery;
 import org.apache.lucene.search.Sort;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.search.TopDocs;
-import org.apache.lucene.search.TopFieldDocs;
 import org.apache.lucene.spatial.util.GeoDistanceUtils;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.util.LuceneTestCase;
@@ -59,7 +58,7 @@ public class TestLatLonPointDistanceSort extends LuceneTestCase {
     iw.close();
 
     Sort sort = new Sort(LatLonPoint.newDistanceSort("location", 40.7143528, -74.0059731));
-    TopFieldDocs td = searcher.search(new MatchAllDocsQuery(), 3, sort);
+    TopDocs td = searcher.search(new MatchAllDocsQuery(), 3, sort);
     
     FieldDoc d = (FieldDoc) td.scoreDocs[0];
     assertEquals(462.61748421408186D, (Double)d.fields[0], 0.0D);
@@ -130,6 +129,11 @@ public class TestLatLonPointDistanceSort extends LuceneTestCase {
       if (id != other.id) return false;
       return true;
     }
+
+    @Override
+    public String toString() {
+      return "Result [id=" + id + ", distance=" + distance + "]";
+    }
   }
   
   private void doRandomTest(int numDocs, int numQueries) throws IOException {
@@ -182,6 +186,17 @@ public class TestLatLonPointDistanceSort extends LuceneTestCase {
         Result actual = new Result((Integer) fieldDoc.fields[1], (Double) fieldDoc.fields[0]);
         assertEquals(expected[resultNumber], actual);
       }
+
+      // get page2 with searchAfter()
+      if (topN < reader.maxDoc()) {
+        int page2 = TestUtil.nextInt(random(), 1, reader.maxDoc() - topN);
+        TopDocs topDocs2 = searcher.searchAfter(topDocs.scoreDocs[topN - 1], new MatchAllDocsQuery(), page2, sort);
+        for (int resultNumber = 0; resultNumber < page2; resultNumber++) {
+          FieldDoc fieldDoc = (FieldDoc) topDocs2.scoreDocs[resultNumber];
+          Result actual = new Result((Integer) fieldDoc.fields[1], (Double) fieldDoc.fields[0]);
+          assertEquals(expected[topN + resultNumber], actual);
+        }
+      }
     }
     reader.close();
     writer.close();