Search in sources :

Example 6 with RegexDimFilter

use of io.druid.query.filter.RegexDimFilter in project druid by druid-io.

the class RegexFilterTest method testMissingColumnNotSpecifiedInDimensionList.

@Test
public void testMissingColumnNotSpecifiedInDimensionList() {
    assertFilterMatches(new RegexDimFilter("dim4", "", null), ImmutableList.<String>of());
    assertFilterMatches(new RegexDimFilter("dim4", "a", null), ImmutableList.<String>of());
    assertFilterMatches(new RegexDimFilter("dim4", "b", null), ImmutableList.<String>of());
    assertFilterMatches(new RegexDimFilter("dim4", "c", null), ImmutableList.<String>of());
}
Also used : RegexDimFilter(io.druid.query.filter.RegexDimFilter) Test(org.junit.Test)

Example 7 with RegexDimFilter

use of io.druid.query.filter.RegexDimFilter in project druid by druid-io.

the class RegexFilterTest method testSingleValueStringColumnWithoutNulls.

@Test
public void testSingleValueStringColumnWithoutNulls() {
    assertFilterMatches(new RegexDimFilter("dim0", ".*", null), ImmutableList.of("0", "1", "2", "3", "4", "5"));
    assertFilterMatches(new RegexDimFilter("dim0", "0", null), ImmutableList.of("0"));
    assertFilterMatches(new RegexDimFilter("dim0", "5", null), ImmutableList.of("5"));
}
Also used : RegexDimFilter(io.druid.query.filter.RegexDimFilter) Test(org.junit.Test)

Example 8 with RegexDimFilter

use of io.druid.query.filter.RegexDimFilter in project druid by druid-io.

the class RegexFilterTest method testMultiValueStringColumn.

@Test
public void testMultiValueStringColumn() {
    assertFilterMatches(new RegexDimFilter("dim2", ".*", null), ImmutableList.of("0", "3", "4"));
    assertFilterMatches(new RegexDimFilter("dim2", "a", null), ImmutableList.of("0", "3"));
    assertFilterMatches(new RegexDimFilter("dim2", "b", null), ImmutableList.of("0"));
    assertFilterMatches(new RegexDimFilter("dim2", "c", null), ImmutableList.of("4"));
    assertFilterMatches(new RegexDimFilter("dim2", "d", null), ImmutableList.<String>of());
}
Also used : RegexDimFilter(io.druid.query.filter.RegexDimFilter) Test(org.junit.Test)

Example 9 with RegexDimFilter

use of io.druid.query.filter.RegexDimFilter in project druid by druid-io.

the class RegexFilterTest method testRegexWithExtractionFn.

@Test
public void testRegexWithExtractionFn() {
    String nullJsFn = "function(str) { if (str === null) { return 'NOT_NULL_ANYMORE'; } else { return str;} }";
    ExtractionFn changeNullFn = new JavaScriptExtractionFn(nullJsFn, false, JavaScriptConfig.getEnabledInstance());
    assertFilterMatches(new RegexDimFilter("dim1", ".*ANYMORE", changeNullFn), ImmutableList.of("0"));
    assertFilterMatches(new RegexDimFilter("dim1", "ab.*", changeNullFn), ImmutableList.<String>of("4", "5"));
    assertFilterMatches(new RegexDimFilter("dim2", ".*ANYMORE", changeNullFn), ImmutableList.of("1", "2", "5"));
    assertFilterMatches(new RegexDimFilter("dim2", "a.*", changeNullFn), ImmutableList.of("0", "3"));
    assertFilterMatches(new RegexDimFilter("dim3", ".*ANYMORE", changeNullFn), ImmutableList.of("0", "1", "2", "3", "4", "5"));
    assertFilterMatches(new RegexDimFilter("dim3", "a.*", changeNullFn), ImmutableList.<String>of());
    assertFilterMatches(new RegexDimFilter("dim4", ".*ANYMORE", changeNullFn), ImmutableList.of("0", "1", "2", "3", "4", "5"));
    assertFilterMatches(new RegexDimFilter("dim4", "a.*", changeNullFn), ImmutableList.<String>of());
}
Also used : JavaScriptExtractionFn(io.druid.query.extraction.JavaScriptExtractionFn) ExtractionFn(io.druid.query.extraction.ExtractionFn) RegexDimFilter(io.druid.query.filter.RegexDimFilter) JavaScriptExtractionFn(io.druid.query.extraction.JavaScriptExtractionFn) Test(org.junit.Test)

Example 10 with RegexDimFilter

use of io.druid.query.filter.RegexDimFilter in project druid by druid-io.

the class RegexFilterTest method testSingleValueStringColumnWithNulls.

@Test
public void testSingleValueStringColumnWithNulls() {
    // RegexFilter always returns false for null row values.
    assertFilterMatches(new RegexDimFilter("dim1", ".*", null), ImmutableList.of("1", "2", "3", "4", "5"));
    assertFilterMatches(new RegexDimFilter("dim1", "10", null), ImmutableList.of("1"));
    assertFilterMatches(new RegexDimFilter("dim1", "2", null), ImmutableList.of("2"));
    assertFilterMatches(new RegexDimFilter("dim1", "1", null), ImmutableList.of("1", "3"));
    assertFilterMatches(new RegexDimFilter("dim1", ".*def", null), ImmutableList.of("4"));
    assertFilterMatches(new RegexDimFilter("dim1", "abc", null), ImmutableList.of("5"));
    assertFilterMatches(new RegexDimFilter("dim1", "ab.*", null), ImmutableList.<String>of("4", "5"));
}
Also used : RegexDimFilter(io.druid.query.filter.RegexDimFilter) Test(org.junit.Test)

Aggregations

RegexDimFilter (io.druid.query.filter.RegexDimFilter)19 Test (org.junit.Test)17 BoundDimFilter (io.druid.query.filter.BoundDimFilter)12 JavaScriptDimFilter (io.druid.query.filter.JavaScriptDimFilter)12 SearchQueryDimFilter (io.druid.query.filter.SearchQueryDimFilter)12 ContainsSearchQuerySpec (io.druid.query.search.search.ContainsSearchQuerySpec)12 InDimFilter (io.druid.query.filter.InDimFilter)11 SelectorDimFilter (io.druid.query.filter.SelectorDimFilter)9 ArrayList (java.util.ArrayList)7 LookupExtractionFn (io.druid.query.lookup.LookupExtractionFn)5 DefaultDimensionSpec (io.druid.query.dimension.DefaultDimensionSpec)4 OrDimFilter (io.druid.query.filter.OrDimFilter)4 LongSumAggregatorFactory (io.druid.query.aggregation.LongSumAggregatorFactory)3 MapLookupExtractor (io.druid.query.extraction.MapLookupExtractor)3 DimFilter (io.druid.query.filter.DimFilter)3 HashMap (java.util.HashMap)3 Row (io.druid.data.input.Row)2 PeriodGranularity (io.druid.java.util.common.granularity.PeriodGranularity)2 AggregatorFactory (io.druid.query.aggregation.AggregatorFactory)2 CountAggregatorFactory (io.druid.query.aggregation.CountAggregatorFactory)2