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 final class 
    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

    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 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.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • BKDRadixSelector

      public BKDRadixSelector(BKDConfig config, int maxPointsSortInHeap, Directory tempDir, String tempFileNamePrefix)
      Sole constructor.
  • Method Details

    • 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