| Package | Description |
|---|---|
| org.apache.druid.query.filter | |
| org.apache.druid.segment | |
| org.apache.druid.segment.filter |
| Modifier and Type | Method and Description |
|---|---|
static FilterTuning |
FilterTuning.createDefault(Filter filter,
BitmapIndexSelector selector) |
double |
Filter.estimateSelectivity(BitmapIndexSelector indexSelector)
Estimate selectivity of this filter.
|
default ImmutableBitmap |
Filter.getBitmapIndex(BitmapIndexSelector selector)
Get a bitmap index, indicating rows that match this filter.
|
<T> T |
Filter.getBitmapResult(BitmapIndexSelector selector,
BitmapResultFactory<T> bitmapResultFactory)
Get a (possibly wrapped) bitmap index, indicating rows that match this filter.
|
ValueMatcher |
BooleanFilter.makeMatcher(BitmapIndexSelector selector,
ColumnSelectorFactory columnSelectorFactory,
RowOffsetMatcherFactory rowOffsetMatcherFactory)
Get a ValueMatcher that applies this filter to row values.
|
boolean |
Filter.shouldUseBitmapIndex(BitmapIndexSelector selector)
Determine if a filter *should* use a bitmap index based on information collected from the supplied
BitmapIndexSelector. |
default boolean |
BooleanFilter.shouldUseBitmapIndex(BitmapIndexSelector selector) |
boolean |
Filter.supportsBitmapIndex(BitmapIndexSelector selector)
Indicates whether this filter can return a bitmap index for filtering, based on the information provided by the
input
BitmapIndexSelector. |
default boolean |
BooleanFilter.supportsBitmapIndex(BitmapIndexSelector selector) |
boolean |
Filter.supportsSelectivityEstimation(ColumnSelector columnSelector,
BitmapIndexSelector indexSelector)
Indicates whether this filter supports selectivity estimation.
|
default boolean |
BooleanFilter.supportsSelectivityEstimation(ColumnSelector columnSelector,
BitmapIndexSelector indexSelector) |
| Modifier and Type | Class and Description |
|---|---|
class |
ColumnSelectorBitmapIndexSelector |
| Modifier and Type | Method and Description |
|---|---|
static ImmutableBitmap |
Filters.allFalse(BitmapIndexSelector selector) |
static ImmutableBitmap |
Filters.allTrue(BitmapIndexSelector selector) |
double |
DimensionPredicateFilter.estimateSelectivity(BitmapIndexSelector indexSelector) |
double |
ExpressionFilter.estimateSelectivity(BitmapIndexSelector indexSelector) |
double |
ColumnComparisonFilter.estimateSelectivity(BitmapIndexSelector indexSelector) |
double |
NotFilter.estimateSelectivity(BitmapIndexSelector indexSelector) |
double |
SelectorFilter.estimateSelectivity(BitmapIndexSelector indexSelector) |
double |
JavaScriptFilter.estimateSelectivity(BitmapIndexSelector indexSelector) |
double |
LikeFilter.estimateSelectivity(BitmapIndexSelector selector) |
double |
TrueFilter.estimateSelectivity(BitmapIndexSelector indexSelector) |
double |
FalseFilter.estimateSelectivity(BitmapIndexSelector indexSelector) |
double |
AndFilter.estimateSelectivity(BitmapIndexSelector indexSelector) |
double |
BoundFilter.estimateSelectivity(BitmapIndexSelector indexSelector) |
double |
InFilter.estimateSelectivity(BitmapIndexSelector indexSelector) |
double |
SpatialFilter.estimateSelectivity(BitmapIndexSelector indexSelector) |
double |
OrFilter.estimateSelectivity(BitmapIndexSelector indexSelector) |
static double |
Filters.estimateSelectivity(String dimension,
BitmapIndexSelector indexSelector,
com.google.common.base.Predicate<String> predicate)
Return an estimated selectivity for bitmaps of all values matching the given predicate.
|
static <T> ImmutableBitmap |
AndFilter.getBitmapIndex(BitmapIndexSelector selector,
BitmapResultFactory<T> bitmapResultFactory,
Set<Filter> filters) |
<T> T |
DimensionPredicateFilter.getBitmapResult(BitmapIndexSelector selector,
BitmapResultFactory<T> bitmapResultFactory) |
<T> T |
ExpressionFilter.getBitmapResult(BitmapIndexSelector selector,
BitmapResultFactory<T> bitmapResultFactory) |
<T> T |
ColumnComparisonFilter.getBitmapResult(BitmapIndexSelector selector,
BitmapResultFactory<T> bitmapResultFactory) |
<T> T |
NotFilter.getBitmapResult(BitmapIndexSelector selector,
BitmapResultFactory<T> bitmapResultFactory) |
<T> T |
SelectorFilter.getBitmapResult(BitmapIndexSelector selector,
BitmapResultFactory<T> bitmapResultFactory) |
<T> T |
JavaScriptFilter.getBitmapResult(BitmapIndexSelector selector,
BitmapResultFactory<T> bitmapResultFactory) |
<T> T |
LikeFilter.getBitmapResult(BitmapIndexSelector selector,
BitmapResultFactory<T> bitmapResultFactory) |
<T> T |
TrueFilter.getBitmapResult(BitmapIndexSelector selector,
BitmapResultFactory<T> bitmapResultFactory) |
<T> T |
FalseFilter.getBitmapResult(BitmapIndexSelector selector,
BitmapResultFactory<T> bitmapResultFactory) |
<T> T |
AndFilter.getBitmapResult(BitmapIndexSelector selector,
BitmapResultFactory<T> bitmapResultFactory) |
<T> T |
BoundFilter.getBitmapResult(BitmapIndexSelector selector,
BitmapResultFactory<T> bitmapResultFactory) |
<T> T |
InFilter.getBitmapResult(BitmapIndexSelector selector,
BitmapResultFactory<T> bitmapResultFactory) |
<T> T |
SpatialFilter.getBitmapResult(BitmapIndexSelector selector,
BitmapResultFactory<T> bitmapResultFactory) |
<T> T |
OrFilter.getBitmapResult(BitmapIndexSelector selector,
BitmapResultFactory<T> bitmapResultFactory) |
ValueMatcher |
AndFilter.makeMatcher(BitmapIndexSelector selector,
ColumnSelectorFactory columnSelectorFactory,
RowOffsetMatcherFactory rowOffsetMatcherFactory) |
ValueMatcher |
OrFilter.makeMatcher(BitmapIndexSelector selector,
ColumnSelectorFactory columnSelectorFactory,
RowOffsetMatcherFactory rowOffsetMatcherFactory) |
static <T> T |
Filters.matchPredicate(String dimension,
BitmapIndexSelector selector,
BitmapResultFactory<T> bitmapResultFactory,
com.google.common.base.Predicate<String> predicate)
Return the union of bitmaps for all values matching a particular predicate.
|
static Iterable<ImmutableBitmap> |
Filters.matchPredicateNoUnion(String dimension,
BitmapIndexSelector selector,
com.google.common.base.Predicate<String> predicate)
Return an iterable of bitmaps for all values matching a particular predicate.
|
boolean |
DimensionPredicateFilter.shouldUseBitmapIndex(BitmapIndexSelector selector) |
boolean |
ExpressionFilter.shouldUseBitmapIndex(BitmapIndexSelector selector) |
boolean |
ColumnComparisonFilter.shouldUseBitmapIndex(BitmapIndexSelector selector) |
boolean |
NotFilter.shouldUseBitmapIndex(BitmapIndexSelector selector) |
boolean |
SelectorFilter.shouldUseBitmapIndex(BitmapIndexSelector selector) |
boolean |
JavaScriptFilter.shouldUseBitmapIndex(BitmapIndexSelector selector) |
boolean |
LikeFilter.shouldUseBitmapIndex(BitmapIndexSelector selector) |
boolean |
TrueFilter.shouldUseBitmapIndex(BitmapIndexSelector selector) |
boolean |
FalseFilter.shouldUseBitmapIndex(BitmapIndexSelector selector) |
boolean |
BoundFilter.shouldUseBitmapIndex(BitmapIndexSelector selector) |
boolean |
InFilter.shouldUseBitmapIndex(BitmapIndexSelector selector) |
boolean |
SpatialFilter.shouldUseBitmapIndex(BitmapIndexSelector selector) |
static boolean |
Filters.shouldUseBitmapIndex(Filter filter,
BitmapIndexSelector indexSelector,
FilterTuning filterTuning)
This method provides a "standard" implementation of
Filter.shouldUseBitmapIndex(BitmapIndexSelector) which takes
a Filter, a BitmapIndexSelector, and FilterTuning to determine if:
a) the filter supports bitmap indexes for all required columns
b) the filter tuning specifies that it should use the index
c) the cardinality of the column is above the minimum threshold and below the maximum threshold to use the index
If all these things are true, QueryableIndexStorageAdapter will utilize the
indexes. |
boolean |
DimensionPredicateFilter.supportsBitmapIndex(BitmapIndexSelector selector) |
boolean |
ExpressionFilter.supportsBitmapIndex(BitmapIndexSelector selector) |
boolean |
ColumnComparisonFilter.supportsBitmapIndex(BitmapIndexSelector selector) |
boolean |
NotFilter.supportsBitmapIndex(BitmapIndexSelector selector) |
boolean |
SelectorFilter.supportsBitmapIndex(BitmapIndexSelector selector) |
boolean |
JavaScriptFilter.supportsBitmapIndex(BitmapIndexSelector selector) |
boolean |
LikeFilter.supportsBitmapIndex(BitmapIndexSelector selector) |
boolean |
TrueFilter.supportsBitmapIndex(BitmapIndexSelector selector) |
boolean |
FalseFilter.supportsBitmapIndex(BitmapIndexSelector selector) |
boolean |
BoundFilter.supportsBitmapIndex(BitmapIndexSelector selector) |
boolean |
InFilter.supportsBitmapIndex(BitmapIndexSelector selector) |
boolean |
SpatialFilter.supportsBitmapIndex(BitmapIndexSelector selector) |
boolean |
DimensionPredicateFilter.supportsSelectivityEstimation(ColumnSelector columnSelector,
BitmapIndexSelector indexSelector) |
boolean |
ExpressionFilter.supportsSelectivityEstimation(ColumnSelector columnSelector,
BitmapIndexSelector indexSelector) |
boolean |
ColumnComparisonFilter.supportsSelectivityEstimation(ColumnSelector columnSelector,
BitmapIndexSelector indexSelector) |
boolean |
NotFilter.supportsSelectivityEstimation(ColumnSelector columnSelector,
BitmapIndexSelector indexSelector) |
boolean |
SelectorFilter.supportsSelectivityEstimation(ColumnSelector columnSelector,
BitmapIndexSelector indexSelector) |
boolean |
JavaScriptFilter.supportsSelectivityEstimation(ColumnSelector columnSelector,
BitmapIndexSelector indexSelector) |
boolean |
LikeFilter.supportsSelectivityEstimation(ColumnSelector columnSelector,
BitmapIndexSelector indexSelector) |
boolean |
TrueFilter.supportsSelectivityEstimation(ColumnSelector columnSelector,
BitmapIndexSelector indexSelector) |
boolean |
FalseFilter.supportsSelectivityEstimation(ColumnSelector columnSelector,
BitmapIndexSelector indexSelector) |
boolean |
BoundFilter.supportsSelectivityEstimation(ColumnSelector columnSelector,
BitmapIndexSelector indexSelector) |
boolean |
InFilter.supportsSelectivityEstimation(ColumnSelector columnSelector,
BitmapIndexSelector indexSelector) |
boolean |
SpatialFilter.supportsSelectivityEstimation(ColumnSelector columnSelector,
BitmapIndexSelector indexSelector) |
Copyright © 2011–2020 The Apache Software Foundation. All rights reserved.