Class 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.
    • Constructor Detail

      • BKDRadixSelector

        public BKDRadixSelector​(BKDConfig config,
                                int maxPointsSortInHeap,
                                Directory tempDir,
                                String tempFileNamePrefix)
        Sole constructor.
    • 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 provided points from the given from to the given to to populate the partitionSlices array holder (length > 1) with two path slices so the path slice at position 0 contains partition - from points where the value of the dim is lower or equal to the to -from points on the slice at position 1.

        The dimCommonPrefix provides a hint for the length of the common prefix length for the dim where are partitioning the points.

        It return the value of the dim at the partition point.

        If the provided points is wrapping an OfflinePointWriter, 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