Type: New Feature
Affects Version/s: None
Fix Version/s: 6.0
This is phase 2 for adding dimensional indexing in Lucene, so we can (eventually) do efficient numeric range filtering, BigInteger/Decimal and IPv6 support, and "point in shape" spatial searching (2D or 3D).
It's the follow-on from
LUCENE-6825 (phase 1).
This issue "just" adds DimensionalFormat (and Reader/Writer) to Codec and the IndexReader hierarchy, to IndexWriter and merging, and to document API (DimensionalField).
I also implemented dimensional support for SimpleTextCodec, and added a test case showing that you can in fact use SimpleTextCodec to do multidimensional shape intersection (seems to pass a couple times!).
Phase 3 will be adding support to the default codec as well ("just" wrapping BKDWriter/Reader), phase 4 is then fixing places that use the sandbox/spatial3d BKD tree to use the codec instead and maybe exposing
sugar for numerics, things like BigInteger/Decimal, etc.
There are many nocommits still, but I think it's close-ish ... I'll commit to a branch and iterate there.