[ https://issues.apache.org/jira/browse/LUCENE-4698?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
David Smiley closed LUCENE-4698. -------------------------------- Resolution: Won't Fix I think LatLonDocValuesField (currently in sandbox) is currently the optimal way to go about storing points per document for the purposes of distance sorting/boosting. For general per-document access to a "shape" (possibly a MultiPoint), there's the SerializedDVStrategy. Hence I think ShapeFieldCache stuff should be deprecated/removed. I'll close this as won't-fix. > Overhaul ShapeFieldCache because its a memory pig > ------------------------------------------------- > > Key: LUCENE-4698 > URL: https://issues.apache.org/jira/browse/LUCENE-4698 > Project: Lucene - Core > Issue Type: Improvement > Components: modules/spatial > Reporter: David Smiley > Attachments: solr_spatial_leak1.png > > > The org.apache.lucene.spatial.util.ShapeFieldCache* classes together > implement a spatial field cache for points, similar to FieldCache for other > fields. It supports a variable number of points per document, and it's > currently only used by the SpatialPrefixTree strategy because that's the only > strategy that supports a variable number of points per document. The other > spatial strategies use the FieldCache. The ShapeFieldCache has problems: > * It's a memory pig. Each point is stored as a Point object, instead of an > array of x & y coordinates. Furthermore, each Point is in an ArrayList that > exists for each Document. It's not done any differently when your spatial > data isn't multi-valued. > * The cache is not per-segment, it's per-IndexReader, thereby making it > un-friendly to NRT search. > * The cache entries don't self-expire optimally to free up memory. The cache > is simply stored in a WeakHashMap<IndexReader,ShapeFieldCache>. The big cache > entries are only freed when the WeakHashMap is used and the JVM realizes the > IndexSearcher instance has been GC'ed. -- This message was sent by Atlassian JIRA (v6.3.15#6346) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org