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