Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Fix OOM for high precision exotic shapes #10652
This is currently submitted as a patch in LUCENE-6422 (placed in our lucene package until its committed to lucene 5.x). It removes unnecessary transient memory usage for QuadPrefixTree and, for 1.6.0+ shape indexes adds a new compact bit encoded representation for each quadcell. This is the heart of numerous false positive matches, OOM exceptions, and all around poor shape indexing performance. The compact bit representation will also allows for encoding 3D shapes in future enhancements.
Thanks @ryan! I had given that a shot and it turned into a mass copy/refactor. Because of the abstraction layers in lucene-spatial refactoring the abstract base class names to X* requires copying almost the entire lucene-spatial module.
I can put a comment above the classes indicating they will be removed once LUCENE-6422 is committed?