GeoPointTermsEnum currently constructs a BytesRef for every computed range, then sorts on this BytesRef. This adds an unnecessary memory overhead since the TermsEnum only requires BytesRef on calls to nextSeekTerm and accept and the ranges only need to be sorted by their long representation. This issue adds the following two improvements:
1. Lazily compute the BytesRef on demand only when its needed
2. Add a single, transient BytesRef to GeoPointTermsEnum
This will further cut back on heap usage when constructing ranges across every segment.
- is depended upon by
LUCENE-6780 GeoPointDistanceQuery doesn't work with a large radius?