Package org.apache.druid.segment.index
Class IndexedUtf8LexicographicalRangeIndexes<TDictionary extends Indexed<ByteBuffer>>
- java.lang.Object
-
- org.apache.druid.segment.index.IndexedUtf8LexicographicalRangeIndexes<TDictionary>
-
- All Implemented Interfaces:
LexicographicalRangeIndexes
public final class IndexedUtf8LexicographicalRangeIndexes<TDictionary extends Indexed<ByteBuffer>> extends Object implements LexicographicalRangeIndexes
-
-
Constructor Summary
Constructors Constructor Description IndexedUtf8LexicographicalRangeIndexes(BitmapFactory bitmapFactory, TDictionary dictionary, Indexed<ImmutableBitmap> bitmaps, boolean hasNull)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BitmapColumnIndex
forRange(String startValue, boolean startStrict, String endValue, boolean endStrict)
Get aBitmapColumnIndex
corresponding to the values supplied in the specified range.BitmapColumnIndex
forRange(String startValue, boolean startStrict, String endValue, boolean endStrict, DruidObjectPredicate<String> matcher)
Get aBitmapColumnIndex
corresponding to the values supplied in the specified range whose dictionary ids also match some predicate, such as to match a prefix.
-
-
-
Constructor Detail
-
IndexedUtf8LexicographicalRangeIndexes
public IndexedUtf8LexicographicalRangeIndexes(BitmapFactory bitmapFactory, TDictionary dictionary, Indexed<ImmutableBitmap> bitmaps, boolean hasNull)
-
-
Method Detail
-
forRange
@Nullable public BitmapColumnIndex forRange(@Nullable String startValue, boolean startStrict, @Nullable String endValue, boolean endStrict)
Description copied from interface:LexicographicalRangeIndexes
Get aBitmapColumnIndex
corresponding to the values supplied in the specified range. If supplied starting value is null, the range will begin at the first non-null value in the underlying value dictionary. If the end value is null, the range will extend to the last value in the underlying value dictionary.If this method returns null it indicates that there is no index available that matches the requested range and a
ValueMatcher
must be used instead.- Specified by:
forRange
in interfaceLexicographicalRangeIndexes
-
forRange
@Nullable public BitmapColumnIndex forRange(@Nullable String startValue, boolean startStrict, @Nullable String endValue, boolean endStrict, DruidObjectPredicate<String> matcher)
Description copied from interface:LexicographicalRangeIndexes
Get aBitmapColumnIndex
corresponding to the values supplied in the specified range whose dictionary ids also match some predicate, such as to match a prefix. If supplied starting value is null, the range will begin at the first non-null value in the underlying value dictionary that matches the predicate. If the end value is null, the range will extend to the last value in the underlying value dictionary that matches the predicate.If the provided matcher is always true, it's better to use the other
LexicographicalRangeIndexes.forRange(String, boolean, String, boolean)
method.If this method returns null it indicates that there is no index available that matches the requested range and a
ValueMatcher
must be used instead.- Specified by:
forRange
in interfaceLexicographicalRangeIndexes
-
-