Class GutmanSplitStrategy
java.lang.Object
org.apache.druid.collections.spatial.split.GutmanSplitStrategy
- All Implemented Interfaces:
SplitStrategy
- Direct Known Subclasses:
LinearGutmanSplitStrategy
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedGutmanSplitStrategy(int minNumChildren, int maxNumChildren, BitmapFactory b) -
Method Summary
-
Constructor Details
-
GutmanSplitStrategy
-
-
Method Details
-
needToSplit
- Specified by:
needToSplitin interfaceSplitStrategy
-
split
This algorithm is from the original paper. Algorithm Split. Divide a set of M+1 index entries into two groups. S1. [Pick first entry for each group]. Apply AlgorithmpickSeeds(List)to choose two entries to be the first elements of the groups. Assign each to a group. S2. [Check if done]. If all entries have been assigned, stop. If one group has so few entries that all the rest must be assigned to it in order for it to have the minimum number m, assign them and stop. S3. [Select entry to assign]. Invoke AlgorithmpickNext(List)to choose the next entry to assign. Add it to the group whose covering rectangle will have to be enlarged least to accommodate it. Resolve ties by adding the entry to the group smaller area, then to the one with fewer entries, then to either. Repeat from S2.- Specified by:
splitin interfaceSplitStrategy
-
pickSeeds
-
pickNext
-