Package org.apache.lucene.util.bkd
Class BKDRadixSelector
- java.lang.Object
-
- org.apache.lucene.util.bkd.BKDRadixSelector
-
public final class BKDRadixSelector extends Object
Offline Radix selector for BKD tree.- NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
BKDRadixSelector.PathSlice
Sliced reference to points in an PointWriter.
-
Constructor Summary
Constructors Constructor Description BKDRadixSelector(BKDConfig config, int maxPointsSortInHeap, Directory tempDir, String tempFileNamePrefix)
Sole constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
heapRadixSort(HeapPointWriter points, int from, int to, int dim, int commonPrefixLength)
Sort the heap writer by the specified dim.byte[]
select(BKDRadixSelector.PathSlice points, BKDRadixSelector.PathSlice[] partitionSlices, long from, long to, long partitionPoint, int dim, int dimCommonPrefix)
It uses the providedpoints
from the givenfrom
to the givento
to populate thepartitionSlices
array holder (length > 1) with two path slices so the path slice at position 0 containspartition - from
points where the value of thedim
is lower or equal to theto -from
points on the slice at position 1.
-
-
-
Method Detail
-
select
public byte[] select(BKDRadixSelector.PathSlice points, BKDRadixSelector.PathSlice[] partitionSlices, long from, long to, long partitionPoint, int dim, int dimCommonPrefix) throws IOException
It uses the providedpoints
from the givenfrom
to the givento
to populate thepartitionSlices
array holder (length > 1) with two path slices so the path slice at position 0 containspartition - from
points where the value of thedim
is lower or equal to theto -from
points on the slice at position 1.The
dimCommonPrefix
provides a hint for the length of the common prefix length for thedim
where are partitioning the points.It return the value of the
dim
at the partition point.If the provided
points
is wrapping anOfflinePointWriter
, the writer is destroyed in the process to save disk space.- Throws:
IOException
-
heapRadixSort
public void heapRadixSort(HeapPointWriter points, int from, int to, int dim, int commonPrefixLength)
Sort the heap writer by the specified dim. It is used to sort the leaves of the tree
-
-