geode-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jinmeil...@apache.org
Subject [26/50] [abbrv] incubator-geode git commit: GEODE-11 Renamed LuceneQueryResults and search
Date Mon, 27 Jun 2016 21:21:16 GMT
GEODE-11 Renamed LuceneQueryResults and search

Renamed LuceneQueryResults to PageableLuceneQueryResults and search to findPages.


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

Branch: refs/heads/feature/GEODE-1571
Commit: d0e61ecd59d33e628ebe340fd6835d6b4656997c
Parents: 87876a7
Author: Aparna Dharmakkan <adharmakkan@pivotal.io>
Authored: Fri Jun 17 12:01:28 2016 -0700
Committer: Dan Smith <upthewaterspout@apache.org>
Committed: Fri Jun 24 14:41:41 2016 -0700

----------------------------------------------------------------------
 .../gemfire/cache/lucene/LuceneQuery.java       |   2 +-
 .../cache/lucene/LuceneQueryResults.java        |  57 ---------
 .../gemfire/cache/lucene/LuceneService.java     |   2 +-
 .../lucene/PageableLuceneQueryResults.java      |  57 +++++++++
 .../cache/lucene/internal/LuceneQueryImpl.java  |   6 +-
 .../lucene/internal/LuceneQueryResultsImpl.java | 120 ------------------
 .../PageableLuceneQueryResultsImpl.java         | 120 ++++++++++++++++++
 ...IndexCreationPersistenceIntegrationTest.java |  11 +-
 .../LuceneIndexMaintenanceIntegrationTest.java  |  12 +-
 .../gemfire/cache/lucene/LuceneQueriesBase.java |   4 +-
 .../lucene/LuceneQueriesIntegrationTest.java    |   2 +-
 ...LuceneQueriesPersistenceIntegrationTest.java |   2 +-
 .../LuceneQueryImplIntegrationTest.java         |   4 +-
 .../LuceneQueryResultsImplJUnitTest.java        | 122 -------------------
 ...PageableLuceneQueryResultsImplJUnitTest.java | 122 +++++++++++++++++++
 .../IndexRepositoryImplPerformanceTest.java     |   2 +-
 .../cache/lucene/test/LuceneTestUtilities.java  |  10 +-
 17 files changed, 324 insertions(+), 331 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/d0e61ecd/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/LuceneQuery.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/LuceneQuery.java
b/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/LuceneQuery.java
index 93426b9..be47677 100644
--- a/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/LuceneQuery.java
+++ b/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/LuceneQuery.java
@@ -29,7 +29,7 @@ public interface LuceneQuery<K, V> {
   /**
    * Execute the search and get results. 
    */
-  public LuceneQueryResults<K, V> search() throws LuceneQueryException;
+  public PageableLuceneQueryResults<K, V> findPages() throws LuceneQueryException;
   
   /**
    * Get page size setting of current query. 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/d0e61ecd/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/LuceneQueryResults.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/LuceneQueryResults.java
b/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/LuceneQueryResults.java
deleted file mode 100644
index b49a159..0000000
--- a/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/LuceneQueryResults.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package com.gemstone.gemfire.cache.lucene;
-
-import java.util.List;
-
-import com.gemstone.gemfire.annotations.Experimental;
-
-/**
- * <p>
- * Defines the interface for a container of lucene query result collected from function execution.<br>
- * 
- * 
- * @param <K> The type of the key
- * @param <V> The type of the value
- */
-@Experimental
-public interface LuceneQueryResults<K, V> {
-  /**
-   * @return total number of hits for this query
-   */
-  public int size();
-
-  /**
-   * Returns the maximum score value encountered. Note that in case scores are not tracked,
this returns {@link Float#NaN}.
-   */
-  public float getMaxScore();
-
-  /**
-   * Get the next page of results.
-   * 
-   * @return a page of results, or null if there are no more pages
-   */
-  public List<LuceneResultStruct<K, V>> getNextPage();
-
-  /**
-   *  True if there another page of results. 
-   */
-  public boolean hasNextPage();
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/d0e61ecd/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/LuceneService.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/LuceneService.java
b/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/LuceneService.java
index 974cf96..8a94959 100644
--- a/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/LuceneService.java
+++ b/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/LuceneService.java
@@ -52,7 +52,7 @@ import com.gemstone.gemfire.cache.GemFireCache;
  * 
  * The querystring is using lucene's queryparser syntax, such as "field1:zhou* AND field2:gzhou@pivotal.io"
  *  
- * LuceneQueryResults results = query.search();
+ * PageableLuceneQueryResults results = query.search();
  * 
  * If pagination is not specified:
  * List list = results.getNextPage(); // return all results in one getNextPage() call

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/d0e61ecd/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/PageableLuceneQueryResults.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/PageableLuceneQueryResults.java
b/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/PageableLuceneQueryResults.java
new file mode 100644
index 0000000..ef229da
--- /dev/null
+++ b/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/PageableLuceneQueryResults.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package com.gemstone.gemfire.cache.lucene;
+
+import java.util.List;
+
+import com.gemstone.gemfire.annotations.Experimental;
+
+/**
+ * <p>
+ * Defines the interface for a container of lucene query result collected from function execution.<br>
+ * 
+ * 
+ * @param <K> The type of the key
+ * @param <V> The type of the value
+ */
+@Experimental
+public interface PageableLuceneQueryResults<K, V> {
+  /**
+   * @return total number of hits for this query
+   */
+  public int size();
+
+  /**
+   * Returns the maximum score value encountered. Note that in case scores are not tracked,
this returns {@link Float#NaN}.
+   */
+  public float getMaxScore();
+
+  /**
+   * Get the next page of results.
+   * 
+   * @return a page of results, or null if there are no more pages
+   */
+  public List<LuceneResultStruct<K, V>> getNextPage();
+
+  /**
+   *  True if there another page of results. 
+   */
+  public boolean hasNextPage();
+}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/d0e61ecd/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryImpl.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryImpl.java
b/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryImpl.java
index 92f1957..44fa446 100644
--- a/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryImpl.java
+++ b/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryImpl.java
@@ -27,7 +27,7 @@ import com.gemstone.gemfire.cache.lucene.LuceneQuery;
 import com.gemstone.gemfire.cache.lucene.LuceneQueryException;
 import com.gemstone.gemfire.cache.lucene.LuceneQueryFactory;
 import com.gemstone.gemfire.cache.lucene.LuceneQueryProvider;
-import com.gemstone.gemfire.cache.lucene.LuceneQueryResults;
+import com.gemstone.gemfire.cache.lucene.PageableLuceneQueryResults;
 import com.gemstone.gemfire.cache.lucene.internal.distributed.LuceneFunction;
 import com.gemstone.gemfire.cache.lucene.internal.distributed.LuceneFunctionContext;
 import com.gemstone.gemfire.cache.lucene.internal.distributed.TopEntries;
@@ -57,7 +57,7 @@ public class LuceneQueryImpl<K, V> implements LuceneQuery<K, V>
{
   }
 
   @Override
-  public LuceneQueryResults<K, V> search() throws LuceneQueryException {
+  public PageableLuceneQueryResults<K, V> findPages() throws LuceneQueryException {
     TopEntriesCollectorManager manager = new TopEntriesCollectorManager(null, limit);
     LuceneFunctionContext<TopEntriesCollector> context = new LuceneFunctionContext<>(query,
indexName, manager, limit);
     TopEntriesFunctionCollector collector = new TopEntriesFunctionCollector(context);
@@ -70,7 +70,7 @@ public class LuceneQueryImpl<K, V> implements LuceneQuery<K, V>
{
     //TODO provide a timeout to the user?
     try {
       TopEntries entries = rc.getResult();
-      return new LuceneQueryResultsImpl<K, V>(entries.getHits(), region, pageSize);
+      return new PageableLuceneQueryResultsImpl<K, V>(entries.getHits(), region, pageSize);
     } catch(FunctionException e) {
       if(e.getCause() instanceof LuceneQueryException) {
         throw new LuceneQueryException(e);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/d0e61ecd/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryResultsImpl.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryResultsImpl.java
b/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryResultsImpl.java
deleted file mode 100644
index f0e98c8..0000000
--- a/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryResultsImpl.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package com.gemstone.gemfire.cache.lucene.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.cache.lucene.LuceneQueryResults;
-import com.gemstone.gemfire.cache.lucene.LuceneResultStruct;
-import com.gemstone.gemfire.cache.lucene.internal.distributed.EntryScore;
-
-/**
- * Implementation of LuceneQueryResults that fetchs a page at a time
- * from the server, given a set of EntryScores (key and score).
- *
- * @param <K> The type of the key
- * @param <V> The type of the value
- */
-public class LuceneQueryResultsImpl<K,V> implements LuceneQueryResults<K,V> {
-
-  /**
-   *  list of docs matching search query
-   */
-  private final List<EntryScore> hits;
-  
-  /**
-   * The maximum score. Lazily evaluated
-   */
-  private float maxScore = Float.MIN_VALUE;
-  
-  /**
-   * The user region where values are stored.
-   */
-  private final Region<K, V> userRegion;
-  
-  /**
-   * The start of the next page of results we want to fetch 
-   */
-  private int currentHit = 0;
-  
-  /**
-   * The page size the user wants.
-   */
-  private int pageSize;
-  
-  public LuceneQueryResultsImpl(List<EntryScore> hits, Region<K,V> userRegion,
int pageSize) {
-    this.hits = hits;
-    this.userRegion = userRegion;
-    this.pageSize = pageSize == 0 ? Integer.MAX_VALUE : pageSize;
-  }
-
-  @Override
-  public List<LuceneResultStruct<K,V>> getNextPage() {
-    if(!hasNextPage()) {
-      return null;
-    }
-    
-    int end = currentHit + pageSize;
-    end = end > hits.size() ? hits.size() : end;
-    List<EntryScore> scores = hits.subList(currentHit, end);
-    
-    ArrayList<K> keys = new ArrayList<K>(hits.size());
-    for(EntryScore score : scores) {
-      keys.add((K) score.getKey());
-    }
-    
-    Map<K,V> values = userRegion.getAll(keys);
-    
-    ArrayList<LuceneResultStruct<K,V>> results = new ArrayList<LuceneResultStruct<K,V>>(hits.size());
-    for(EntryScore score : scores) {
-      V value = values.get(score.getKey());
-      results.add(new LuceneResultStructImpl(score.getKey(), value, score.getScore()));
-    }
-    
-
-    currentHit = end;
-    
-    return results;
-  }
-
-  @Override
-  public boolean hasNextPage() {
-    return hits.size() > currentHit;
-  }
-
-  @Override
-  public int size() {
-    return hits.size();
-  }
-
-  @Override
-  public float getMaxScore() {
-    if(maxScore == Float.MIN_VALUE) {
-      for(EntryScore score : hits) {
-        maxScore = Math.max(maxScore, score.getScore());
-      }
-    }
-    
-    return maxScore;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/d0e61ecd/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/PageableLuceneQueryResultsImpl.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/PageableLuceneQueryResultsImpl.java
b/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/PageableLuceneQueryResultsImpl.java
new file mode 100644
index 0000000..dc2d340
--- /dev/null
+++ b/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/PageableLuceneQueryResultsImpl.java
@@ -0,0 +1,120 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package com.gemstone.gemfire.cache.lucene.internal;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import com.gemstone.gemfire.cache.Region;
+import com.gemstone.gemfire.cache.lucene.PageableLuceneQueryResults;
+import com.gemstone.gemfire.cache.lucene.LuceneResultStruct;
+import com.gemstone.gemfire.cache.lucene.internal.distributed.EntryScore;
+
+/**
+ * Implementation of PageableLuceneQueryResults that fetchs a page at a time
+ * from the server, given a set of EntryScores (key and score).
+ *
+ * @param <K> The type of the key
+ * @param <V> The type of the value
+ */
+public class PageableLuceneQueryResultsImpl<K,V> implements PageableLuceneQueryResults<K,V>
{
+
+  /**
+   *  list of docs matching search query
+   */
+  private final List<EntryScore> hits;
+  
+  /**
+   * The maximum score. Lazily evaluated
+   */
+  private float maxScore = Float.MIN_VALUE;
+  
+  /**
+   * The user region where values are stored.
+   */
+  private final Region<K, V> userRegion;
+  
+  /**
+   * The start of the next page of results we want to fetch 
+   */
+  private int currentHit = 0;
+  
+  /**
+   * The page size the user wants.
+   */
+  private int pageSize;
+  
+  public PageableLuceneQueryResultsImpl(List<EntryScore> hits, Region<K,V> userRegion,
int pageSize) {
+    this.hits = hits;
+    this.userRegion = userRegion;
+    this.pageSize = pageSize == 0 ? Integer.MAX_VALUE : pageSize;
+  }
+
+  @Override
+  public List<LuceneResultStruct<K,V>> getNextPage() {
+    if(!hasNextPage()) {
+      return null;
+    }
+    
+    int end = currentHit + pageSize;
+    end = end > hits.size() ? hits.size() : end;
+    List<EntryScore> scores = hits.subList(currentHit, end);
+    
+    ArrayList<K> keys = new ArrayList<K>(hits.size());
+    for(EntryScore score : scores) {
+      keys.add((K) score.getKey());
+    }
+    
+    Map<K,V> values = userRegion.getAll(keys);
+    
+    ArrayList<LuceneResultStruct<K,V>> results = new ArrayList<LuceneResultStruct<K,V>>(hits.size());
+    for(EntryScore score : scores) {
+      V value = values.get(score.getKey());
+      results.add(new LuceneResultStructImpl(score.getKey(), value, score.getScore()));
+    }
+    
+
+    currentHit = end;
+    
+    return results;
+  }
+
+  @Override
+  public boolean hasNextPage() {
+    return hits.size() > currentHit;
+  }
+
+  @Override
+  public int size() {
+    return hits.size();
+  }
+
+  @Override
+  public float getMaxScore() {
+    if(maxScore == Float.MIN_VALUE) {
+      for(EntryScore score : hits) {
+        maxScore = Math.max(maxScore, score.getScore());
+      }
+    }
+    
+    return maxScore;
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/d0e61ecd/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/LuceneIndexCreationPersistenceIntegrationTest.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/LuceneIndexCreationPersistenceIntegrationTest.java
b/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/LuceneIndexCreationPersistenceIntegrationTest.java
index ca9f4f1..f2fd67c 100644
--- a/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/LuceneIndexCreationPersistenceIntegrationTest.java
+++ b/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/LuceneIndexCreationPersistenceIntegrationTest.java
@@ -24,16 +24,13 @@ import static junitparams.JUnitParamsRunner.*;
 import static org.junit.Assert.*;
 
 import java.io.File;
-import java.util.concurrent.Callable;
 import java.util.concurrent.TimeUnit;
 import java.util.function.Consumer;
 
-import junit.framework.AssertionFailedError;
-
 import com.jayway.awaitility.Awaitility;
 import junitparams.JUnitParamsRunner;
 import junitparams.Parameters;
-import org.apache.lucene.queryparser.classic.ParseException;
+
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
@@ -112,7 +109,7 @@ public class LuceneIndexCreationPersistenceIntegrationTest extends LuceneIntegra
     LuceneQuery<Object, Object> query = luceneService.createLuceneQueryFactory()
       .create(INDEX_NAME, REGION_NAME,
         "field1:world", DEFAULT_FIELD);
-    assertEquals(1, query.search().size());
+    assertEquals(1, query.findPages().size());
   }
 
   @Test
@@ -130,7 +127,7 @@ public class LuceneIndexCreationPersistenceIntegrationTest extends LuceneIntegra
     LuceneQuery<Object, Object> query = luceneService.createLuceneQueryFactory()
       .create(INDEX_NAME, REGION_NAME,
       "field1:world", DEFAULT_FIELD);
-    assertEquals(1, query.search().size());
+    assertEquals(1, query.findPages().size());
   }
 
   @Test
@@ -166,7 +163,7 @@ public class LuceneIndexCreationPersistenceIntegrationTest extends LuceneIntegra
     LuceneQuery query = luceneService.createLuceneQueryFactory().create(indexName, regionName,
queryString, defaultField);
     Awaitility.await().atMost(60, TimeUnit.SECONDS).until(() -> {
       try {
-        assertEquals(size, query.search().size());
+        assertEquals(size, query.findPages().size());
       } catch(LuceneQueryException e) {
         throw new RuntimeException(e);
       }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/d0e61ecd/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/LuceneIndexMaintenanceIntegrationTest.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/LuceneIndexMaintenanceIntegrationTest.java
b/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/LuceneIndexMaintenanceIntegrationTest.java
index 352c6b9..d0c91e5 100644
--- a/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/LuceneIndexMaintenanceIntegrationTest.java
+++ b/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/LuceneIndexMaintenanceIntegrationTest.java
@@ -56,14 +56,14 @@ public class LuceneIndexMaintenanceIntegrationTest extends LuceneIntegrationTest
     LuceneIndex index = luceneService.getIndex(INDEX_NAME, REGION_NAME);
     index.waitUntilFlushed(WAIT_FOR_FLUSH_TIME);
     LuceneQuery query = luceneService.createLuceneQueryFactory().create(INDEX_NAME, REGION_NAME,
"description:\"hello world\"", DEFAULT_FIELD);
-    LuceneQueryResults<Integer, TestObject> results = query.search();
+    PageableLuceneQueryResults<Integer, TestObject> results = query.findPages();
     assertEquals(3, results.size());
 
     //begin transaction
     cache.getCacheTransactionManager().begin();
     region.put("object-1", new TestObject("title 1", "updated"));
     index.waitUntilFlushed(WAIT_FOR_FLUSH_TIME);
-    assertEquals(3, query.search().size());
+    assertEquals(3, query.findPages().size());
   }
 
   @Test
@@ -79,7 +79,7 @@ public class LuceneIndexMaintenanceIntegrationTest extends LuceneIntegrationTest
     LuceneIndex index = luceneService.getIndex(INDEX_NAME, REGION_NAME);
     index.waitUntilFlushed(WAIT_FOR_FLUSH_TIME);
     LuceneQuery query = luceneService.createLuceneQueryFactory().create(INDEX_NAME, REGION_NAME,
"description:\"hello world\"", DEFAULT_FIELD);
-    LuceneQueryResults<Integer, TestObject> results = query.search();
+    PageableLuceneQueryResults<Integer, TestObject> results = query.findPages();
     assertEquals(3, results.size());
 
     cache.getCacheTransactionManager().begin();
@@ -87,7 +87,7 @@ public class LuceneIndexMaintenanceIntegrationTest extends LuceneIntegrationTest
     cache.getCacheTransactionManager().commit();
     index.waitUntilFlushed(WAIT_FOR_FLUSH_TIME);
 
-    assertEquals(2, query.search().size());
+    assertEquals(2, query.findPages().size());
   }
 
   @Test
@@ -103,7 +103,7 @@ public class LuceneIndexMaintenanceIntegrationTest extends LuceneIntegrationTest
     LuceneIndex index = luceneService.getIndex(INDEX_NAME, REGION_NAME);
     index.waitUntilFlushed(WAIT_FOR_FLUSH_TIME);
     LuceneQuery query = luceneService.createLuceneQueryFactory().create(INDEX_NAME, REGION_NAME,
"description:\"hello world\"", DEFAULT_FIELD);
-    LuceneQueryResults<Integer, TestObject> results = query.search();
+    PageableLuceneQueryResults<Integer, TestObject> results = query.findPages();
     assertEquals(3, results.size());
 
     cache.getCacheTransactionManager().begin();
@@ -111,7 +111,7 @@ public class LuceneIndexMaintenanceIntegrationTest extends LuceneIntegrationTest
     cache.getCacheTransactionManager().rollback();
     index.waitUntilFlushed(WAIT_FOR_FLUSH_TIME);
 
-    assertEquals(3, query.search().size());
+    assertEquals(3, query.findPages().size());
   }
 
   @Test

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/d0e61ecd/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/LuceneQueriesBase.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/LuceneQueriesBase.java
b/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/LuceneQueriesBase.java
index f077bad..77ce0bb 100644
--- a/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/LuceneQueriesBase.java
+++ b/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/LuceneQueriesBase.java
@@ -150,7 +150,7 @@ public abstract class LuceneQueriesBase extends LuceneDUnitTest {
       LuceneService service = LuceneServiceProvider.get(cache);
       LuceneQuery<Integer, TestObject> query;
       query = service.createLuceneQueryFactory().create(INDEX_NAME, REGION_NAME, "text:world",
DEFAULT_FIELD);
-      LuceneQueryResults<Integer, TestObject> results = query.search();
+      PageableLuceneQueryResults<Integer, TestObject> results = query.findPages();
       assertEquals(3, results.size());
       List<LuceneResultStruct<Integer, TestObject>> page = results.getNextPage();
 
@@ -171,7 +171,7 @@ public abstract class LuceneQueriesBase extends LuceneDUnitTest {
       LuceneService service = LuceneServiceProvider.get(cache);
       LuceneQuery<Integer, TestObject> query;
       query = service.createLuceneQueryFactory().create(INDEX_NAME, REGION_NAME, queryString,
defaultField);
-      LuceneQueryResults<Integer, TestObject> results = query.search();
+      PageableLuceneQueryResults<Integer, TestObject> results = query.findPages();
       assertEquals(results.size(), expectedResultsSize);
     });
   }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/d0e61ecd/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/LuceneQueriesIntegrationTest.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/LuceneQueriesIntegrationTest.java
b/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/LuceneQueriesIntegrationTest.java
index 7aa4cf5..dbb92cf 100644
--- a/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/LuceneQueriesIntegrationTest.java
+++ b/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/LuceneQueriesIntegrationTest.java
@@ -206,7 +206,7 @@ public class LuceneQueriesIntegrationTest extends LuceneIntegrationTest
{
 
 
     thrown.expect(LuceneQueryException.class);
-    query.search();
+    query.findPages();
   }
   
   private PdxInstance insertAJson(Region region, String key) {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/d0e61ecd/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/LuceneQueriesPersistenceIntegrationTest.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/LuceneQueriesPersistenceIntegrationTest.java
b/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/LuceneQueriesPersistenceIntegrationTest.java
index 6eb222d..fcd748a 100644
--- a/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/LuceneQueriesPersistenceIntegrationTest.java
+++ b/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/LuceneQueriesPersistenceIntegrationTest.java
@@ -96,7 +96,7 @@ public class LuceneQueriesPersistenceIntegrationTest extends LuceneIntegrationTe
     Assert.assertTrue(0 < userRegion.getDiskRegionStats().getNumOverflowOnDisk());
 
     LuceneQuery<Integer, Type1> query = service.createLuceneQueryFactory().create(INDEX_NAME,
REGION_NAME, "s:world", DEFAULT_FIELD);
-    LuceneQueryResults<Integer, Type1> results = query.search();
+    PageableLuceneQueryResults<Integer, Type1> results = query.findPages();
     Assert.assertEquals(3, results.size());
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/d0e61ecd/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryImplIntegrationTest.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryImplIntegrationTest.java
b/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryImplIntegrationTest.java
index f748b79..62f4623 100644
--- a/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryImplIntegrationTest.java
+++ b/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryImplIntegrationTest.java
@@ -36,7 +36,7 @@ import com.gemstone.gemfire.cache.execute.FunctionAdapter;
 import com.gemstone.gemfire.cache.execute.FunctionContext;
 import com.gemstone.gemfire.cache.execute.FunctionService;
 import com.gemstone.gemfire.cache.lucene.LuceneIntegrationTest;
-import com.gemstone.gemfire.cache.lucene.LuceneQueryResults;
+import com.gemstone.gemfire.cache.lucene.PageableLuceneQueryResults;
 import com.gemstone.gemfire.cache.lucene.LuceneResultStruct;
 import com.gemstone.gemfire.cache.lucene.internal.distributed.LuceneFunction;
 import com.gemstone.gemfire.cache.lucene.internal.distributed.LuceneFunctionContext;
@@ -69,7 +69,7 @@ public class LuceneQueryImplIntegrationTest extends LuceneIntegrationTest
{
 
     StringQueryProvider provider = new StringQueryProvider(null, DEFAULT_FIELD);
     LuceneQueryImpl<Object, Object> query = new LuceneQueryImpl<>("index", region,
provider, null, LIMIT, 20);
-    LuceneQueryResults<Object, Object> results = query.search();
+    PageableLuceneQueryResults<Object, Object> results = query.findPages();
 
     assertTrue(function.wasInvoked);
     assertEquals(2f * LIMIT, results.getMaxScore(), 0.01);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/d0e61ecd/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryResultsImplJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryResultsImplJUnitTest.java
b/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryResultsImplJUnitTest.java
deleted file mode 100644
index 9c3a65e..0000000
--- a/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryResultsImplJUnitTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package com.gemstone.gemfire.cache.lucene.internal;
-
-import static org.junit.Assert.*;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.mockito.Mockito;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
-
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.cache.lucene.LuceneResultStruct;
-import com.gemstone.gemfire.cache.lucene.internal.distributed.EntryScore;
-import com.gemstone.gemfire.test.junit.categories.UnitTest;
-
-@Category(UnitTest.class)
-public class LuceneQueryResultsImplJUnitTest {
-
-  private List<EntryScore> hits;
-  private List<LuceneResultStruct> expected = new ArrayList<LuceneResultStruct>();
-  private Region<String, String> userRegion;
-  
-  @Before
-  public void setUp() {
-    hits = new ArrayList<EntryScore>();
-    
-    for(int i =0; i < 23; i++) {
-      hits.add(new EntryScore("key_" + i, i));
-      expected.add(new LuceneResultStructImpl<String, String>("key_" + i, "value_"
+ i, i));
-    }
-    
-    userRegion = Mockito.mock(Region.class);
-    
-    Mockito.when(userRegion.getAll(Mockito.anyCollection())).thenAnswer(new Answer() {
-
-      @Override
-      public Map answer(InvocationOnMock invocation) throws Throwable {
-        Collection<String> keys = invocation.getArgumentAt(0, Collection.class);
-        Map<String, String> results = new HashMap<String, String>();
-        for(String key : keys) {
-          results.put(key, key.replace("key_", "value_"));
-        }
-        
-        return results;
-      }
-    });
-  }
-  
-  @Test
-  public void testMaxStore() {
-    hits.set(5, new EntryScore("key_5", 502));
-    
-    LuceneQueryResultsImpl<String, String> results = new LuceneQueryResultsImpl<String,
String>(hits, null, 5);
-    
-    assertEquals(502, results.getMaxScore(), 0.1f);
-  }
-  
-  @Test
-  public void testPagination() {
-    LuceneQueryResultsImpl<String, String> results = new LuceneQueryResultsImpl<String,
String>(hits, userRegion, 10);
-    
-    assertEquals(23, results.size());
-    
-    assertTrue(results.hasNextPage());
-    
-    List<LuceneResultStruct<String, String>> next  = results.getNextPage();
-    assertEquals(expected.subList(0, 10), next);
-    
-    assertTrue(results.hasNextPage());
-    next  = results.getNextPage();
-    assertEquals(expected.subList(10, 20), next);
-    
-    assertTrue(results.hasNextPage());
-    next  = results.getNextPage();
-    assertEquals(expected.subList(20, 23), next);
-    
-    
-    assertFalse(results.hasNextPage());
-    assertNull(results.getNextPage());
-  }
-  
-  @Test
-  public void testNoPagination() {
-    LuceneQueryResultsImpl<String, String> results = new LuceneQueryResultsImpl<String,
String>(hits, userRegion, 0);
-    
-    assertEquals(23, results.size());
-    
-    assertTrue(results.hasNextPage());
-    
-    List<LuceneResultStruct<String, String>> next  = results.getNextPage();
-    assertEquals(expected, next);
-    
-    assertFalse(results.hasNextPage());
-    assertNull(results.getNextPage());
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/d0e61ecd/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/PageableLuceneQueryResultsImplJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/PageableLuceneQueryResultsImplJUnitTest.java
b/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/PageableLuceneQueryResultsImplJUnitTest.java
new file mode 100644
index 0000000..5047d0d
--- /dev/null
+++ b/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/PageableLuceneQueryResultsImplJUnitTest.java
@@ -0,0 +1,122 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package com.gemstone.gemfire.cache.lucene.internal;
+
+import static org.junit.Assert.*;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.mockito.Mockito;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+
+import com.gemstone.gemfire.cache.Region;
+import com.gemstone.gemfire.cache.lucene.LuceneResultStruct;
+import com.gemstone.gemfire.cache.lucene.internal.distributed.EntryScore;
+import com.gemstone.gemfire.test.junit.categories.UnitTest;
+
+@Category(UnitTest.class)
+public class PageableLuceneQueryResultsImplJUnitTest {
+
+  private List<EntryScore> hits;
+  private List<LuceneResultStruct> expected = new ArrayList<LuceneResultStruct>();
+  private Region<String, String> userRegion;
+  
+  @Before
+  public void setUp() {
+    hits = new ArrayList<EntryScore>();
+    
+    for(int i =0; i < 23; i++) {
+      hits.add(new EntryScore("key_" + i, i));
+      expected.add(new LuceneResultStructImpl<String, String>("key_" + i, "value_"
+ i, i));
+    }
+    
+    userRegion = Mockito.mock(Region.class);
+    
+    Mockito.when(userRegion.getAll(Mockito.anyCollection())).thenAnswer(new Answer() {
+
+      @Override
+      public Map answer(InvocationOnMock invocation) throws Throwable {
+        Collection<String> keys = invocation.getArgumentAt(0, Collection.class);
+        Map<String, String> results = new HashMap<String, String>();
+        for(String key : keys) {
+          results.put(key, key.replace("key_", "value_"));
+        }
+        
+        return results;
+      }
+    });
+  }
+  
+  @Test
+  public void testMaxStore() {
+    hits.set(5, new EntryScore("key_5", 502));
+    
+    PageableLuceneQueryResultsImpl<String, String> results = new PageableLuceneQueryResultsImpl<String,
String>(hits, null, 5);
+    
+    assertEquals(502, results.getMaxScore(), 0.1f);
+  }
+  
+  @Test
+  public void testPagination() {
+    PageableLuceneQueryResultsImpl<String, String> results = new PageableLuceneQueryResultsImpl<String,
String>(hits, userRegion, 10);
+    
+    assertEquals(23, results.size());
+    
+    assertTrue(results.hasNextPage());
+    
+    List<LuceneResultStruct<String, String>> next  = results.getNextPage();
+    assertEquals(expected.subList(0, 10), next);
+    
+    assertTrue(results.hasNextPage());
+    next  = results.getNextPage();
+    assertEquals(expected.subList(10, 20), next);
+    
+    assertTrue(results.hasNextPage());
+    next  = results.getNextPage();
+    assertEquals(expected.subList(20, 23), next);
+    
+    
+    assertFalse(results.hasNextPage());
+    assertNull(results.getNextPage());
+  }
+  
+  @Test
+  public void testNoPagination() {
+    PageableLuceneQueryResultsImpl<String, String> results = new PageableLuceneQueryResultsImpl<String,
String>(hits, userRegion, 0);
+    
+    assertEquals(23, results.size());
+    
+    assertTrue(results.hasNextPage());
+    
+    List<LuceneResultStruct<String, String>> next  = results.getNextPage();
+    assertEquals(expected, next);
+    
+    assertFalse(results.hasNextPage());
+    assertNull(results.getNextPage());
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/d0e61ecd/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/repository/IndexRepositoryImplPerformanceTest.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/repository/IndexRepositoryImplPerformanceTest.java
b/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/repository/IndexRepositoryImplPerformanceTest.java
index 61f0ec4..3155aaf 100644
--- a/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/repository/IndexRepositoryImplPerformanceTest.java
+++ b/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/repository/IndexRepositoryImplPerformanceTest.java
@@ -196,7 +196,7 @@ public class IndexRepositoryImplPerformanceTest {
           }
         });
         
-        LuceneQueryResults<Object, Object> results = luceneQuery.search();
+        PageableLuceneQueryResults<Object, Object> results = luceneQuery.findPages();
         return results.size();
       }
     });

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/d0e61ecd/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/test/LuceneTestUtilities.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/test/LuceneTestUtilities.java
b/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/test/LuceneTestUtilities.java
index c1f540d..2084e11 100644
--- a/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/test/LuceneTestUtilities.java
+++ b/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/test/LuceneTestUtilities.java
@@ -25,8 +25,6 @@ import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Set;
 import java.util.function.Consumer;
-import java.util.stream.Collectors;
-import org.apache.logging.log4j.Logger;
 
 import com.gemstone.gemfire.cache.Cache;
 import com.gemstone.gemfire.cache.asyncqueue.AsyncEventQueue;
@@ -34,14 +32,12 @@ import com.gemstone.gemfire.cache.asyncqueue.internal.AsyncEventQueueImpl;
 import com.gemstone.gemfire.cache.lucene.LuceneIndex;
 import com.gemstone.gemfire.cache.lucene.LuceneQuery;
 import com.gemstone.gemfire.cache.lucene.LuceneQueryException;
-import com.gemstone.gemfire.cache.lucene.LuceneQueryResults;
-import com.gemstone.gemfire.cache.lucene.LuceneResultStruct;
+import com.gemstone.gemfire.cache.lucene.PageableLuceneQueryResults;
 import com.gemstone.gemfire.cache.lucene.LuceneService;
 import com.gemstone.gemfire.cache.lucene.LuceneServiceProvider;
 import com.gemstone.gemfire.cache.lucene.internal.LuceneIndexForPartitionedRegion;
 import com.gemstone.gemfire.cache.lucene.internal.LuceneServiceImpl;
 import com.gemstone.gemfire.internal.cache.LocalRegion;
-import com.gemstone.gemfire.internal.logging.LogService;
 import com.gemstone.gemfire.pdx.JSONFormatter;
 import com.gemstone.gemfire.pdx.PdxInstance;
 
@@ -94,7 +90,7 @@ public class LuceneTestUtilities {
   public static <K> void  verifyQueryKeys(LuceneQuery<K,Object> query,K ... expectedKeys)
throws LuceneQueryException {
     Set<K> expectedKeySet = new HashSet<>(Arrays.asList(expectedKeys));
     Set<K> actualKeySet = new HashSet<>();
-    final LuceneQueryResults<K, Object> results = query.search();
+    final PageableLuceneQueryResults<K, Object> results = query.findPages();
     while(results.hasNextPage()) {
       results.getNextPage().stream()
         .forEach(struct -> actualKeySet.add(struct.getKey()));
@@ -107,7 +103,7 @@ public class LuceneTestUtilities {
    */
   public static <K> void verifyQueryKeyAndValues(LuceneQuery<K,Object> query,
HashMap expectedResults) throws LuceneQueryException {
     HashMap actualResults = new HashMap<>();
-    final LuceneQueryResults<K, Object> results = query.search();
+    final PageableLuceneQueryResults<K, Object> results = query.findPages();
     while(results.hasNextPage()) {
       results.getNextPage().stream()
         .forEach(struct -> {



Mime
View raw message