You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ds...@apache.org on 2016/04/13 16:42:50 UTC

lucene-solr:branch_6x: LUCENE-7211: Use DocIdSetBuilder instead of FixedBitSet in spatial RPT intersects predicate. (cherry picked from commit f7f64c2)

Repository: lucene-solr
Updated Branches:
  refs/heads/branch_6x acf0a5794 -> ce094ebd7


LUCENE-7211: Use DocIdSetBuilder instead of FixedBitSet in spatial RPT intersects predicate.
(cherry picked from commit f7f64c2)


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

Branch: refs/heads/branch_6x
Commit: ce094ebd7619765648afd84dffc9b77b8bc3a9a9
Parents: acf0a57
Author: David Smiley <ds...@apache.org>
Authored: Wed Apr 13 10:39:09 2016 -0400
Committer: David Smiley <ds...@apache.org>
Committed: Wed Apr 13 10:42:39 2016 -0400

----------------------------------------------------------------------
 lucene/CHANGES.txt                                     |  3 +++
 .../spatial/prefix/IntersectsPrefixTreeQuery.java      | 13 ++++++-------
 2 files changed, 9 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ce094ebd/lucene/CHANGES.txt
----------------------------------------------------------------------
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index 3b5dac7..51c7c14 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -56,6 +56,9 @@ Optimizations
 * LUCENE-7159: Speed up LatLonPoint polygon performance for complex
   polygons. (Robert Muir)
 
+* LUCENE-7211: Reduce memory & GC for spatial RPT Intersects when the number of
+  matching docs is small. (Jeff Wartes, David Smiley)
+
 Bug Fixes
 
 * LUCENE-7127: Fix corner case bugs in GeoPointDistanceQuery. (Robert Muir)

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ce094ebd/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/IntersectsPrefixTreeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/IntersectsPrefixTreeQuery.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/IntersectsPrefixTreeQuery.java
index 89129a1..17c5a7e 100644
--- a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/IntersectsPrefixTreeQuery.java
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/IntersectsPrefixTreeQuery.java
@@ -18,14 +18,13 @@ package org.apache.lucene.spatial.prefix;
 
 import java.io.IOException;
 
-import org.locationtech.spatial4j.shape.Shape;
-import org.locationtech.spatial4j.shape.SpatialRelation;
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.search.DocIdSet;
 import org.apache.lucene.spatial.prefix.tree.Cell;
 import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
-import org.apache.lucene.util.BitDocIdSet;
-import org.apache.lucene.util.FixedBitSet;
+import org.apache.lucene.util.DocIdSetBuilder;
+import org.locationtech.spatial4j.shape.Shape;
+import org.locationtech.spatial4j.shape.SpatialRelation;
 
 /**
  * A Query matching documents that have an {@link SpatialRelation#INTERSECTS}
@@ -53,16 +52,16 @@ public class IntersectsPrefixTreeQuery extends AbstractVisitingPrefixTreeQuery {
 
      */
     return new VisitorTemplate(context) {
-      private FixedBitSet results;
+      private DocIdSetBuilder results;
 
       @Override
       protected void start() {
-        results = new FixedBitSet(maxDoc);
+        results = new DocIdSetBuilder(maxDoc);
       }
 
       @Override
       protected DocIdSet finish() {
-        return new BitDocIdSet(results);
+        return results.build();
       }
 
       @Override