Package org.apache.lucene.sandbox.search
Class MultiRangeQuery.RangeTree
java.lang.Object
org.apache.lucene.sandbox.search.MultiRangeQuery.RangeTree
- All Implemented Interfaces:
MultiRangeQuery.Relatable
- Enclosing class:
- MultiRangeQuery
An interval tree of Ranges for speeding up computations
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final int
private final ArrayUtil.ByteArrayComparator
private final MultiRangeQuery.Range
Range of this tree nodeprivate MultiRangeQuery.RangeTree
Left child, it can be nullprivate final byte[]
maximum value contained in this range sub-treeprivate final int
private MultiRangeQuery.RangeTree
Right child, it can be nullprivate final int
which dimension was this node split on -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
RangeTree
(MultiRangeQuery.Range component, int split, ArrayUtil.ByteArrayComparator comparator, int numIndexDim, int bytesPerDim) -
Method Summary
-
Field Details
-
maxPackedValue
private final byte[] maxPackedValuemaximum value contained in this range sub-tree -
left
Left child, it can be null -
right
Right child, it can be null -
split
private final int splitwhich dimension was this node split on -
component
Range of this tree node -
comparator
-
numIndexDim
private final int numIndexDim -
bytesPerDim
private final int bytesPerDim
-
-
Constructor Details
-
RangeTree
private RangeTree(MultiRangeQuery.Range component, int split, ArrayUtil.ByteArrayComparator comparator, int numIndexDim, int bytesPerDim)
-
-
Method Details
-
matches
public boolean matches(byte[] packedValue) Description copied from interface:MultiRangeQuery.Relatable
return true if the provided point is inside the range- Specified by:
matches
in interfaceMultiRangeQuery.Relatable
-
relate
Description copied from interface:MultiRangeQuery.Relatable
return the relation between this range and the provided range- Specified by:
relate
in interfaceMultiRangeQuery.Relatable
-