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:39:49 UTC
lucene-solr:master: LUCENE-7211: Use DocIdSetBuilder instead of
FixedBitSet in spatial RPT intersects predicate.
Repository: lucene-solr
Updated Branches:
refs/heads/master cd673ebec -> f7f64c217
LUCENE-7211: Use DocIdSetBuilder instead of FixedBitSet in spatial RPT intersects predicate.
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/f7f64c21
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/f7f64c21
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/f7f64c21
Branch: refs/heads/master
Commit: f7f64c21722e739bc7cc9fbd62c2275ef6340fc1
Parents: cd673eb
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:39:09 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/f7f64c21/lucene/CHANGES.txt
----------------------------------------------------------------------
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index 87d039f..58eee6a 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -63,6 +63,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/f7f64c21/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