List of usage examples for org.apache.lucene.search IndexOrDocValuesQuery IndexOrDocValuesQuery
public IndexOrDocValuesQuery(Query indexQuery, Query dvQuery)
From source file:org.elasticsearch.index.mapper.RangeFieldQueryStringQueryBuilderTests.java
License:Apache License
public void testIntegerRangeQuery() throws Exception { Query query = new QueryStringQueryBuilder(INTEGER_RANGE_FIELD_NAME + ":[-450 TO 45000]") .toQuery(createShardContext()); Query range = IntRange.newIntersectsQuery(INTEGER_RANGE_FIELD_NAME, new int[] { -450 }, new int[] { 45000 }); Query dv = RangeFieldMapper.RangeType.INTEGER.dvRangeQuery(INTEGER_RANGE_FIELD_NAME, BinaryDocValuesRangeQuery.QueryType.INTERSECTS, -450, 45000, true, true); assertEquals(new IndexOrDocValuesQuery(range, dv), query); }
From source file:org.elasticsearch.index.mapper.RangeFieldQueryStringQueryBuilderTests.java
License:Apache License
public void testLongRangeQuery() throws Exception { Query query = new QueryStringQueryBuilder(LONG_RANGE_FIELD_NAME + ":[-450 TO 45000]") .toQuery(createShardContext()); Query range = LongRange.newIntersectsQuery(LONG_RANGE_FIELD_NAME, new long[] { -450 }, new long[] { 45000 }); Query dv = RangeFieldMapper.RangeType.LONG.dvRangeQuery(LONG_RANGE_FIELD_NAME, BinaryDocValuesRangeQuery.QueryType.INTERSECTS, -450, 45000, true, true); assertEquals(new IndexOrDocValuesQuery(range, dv), query); }
From source file:org.elasticsearch.index.mapper.RangeFieldQueryStringQueryBuilderTests.java
License:Apache License
public void testFloatRangeQuery() throws Exception { Query query = new QueryStringQueryBuilder(FLOAT_RANGE_FIELD_NAME + ":[-450 TO 45000]") .toQuery(createShardContext()); Query range = FloatRange.newIntersectsQuery(FLOAT_RANGE_FIELD_NAME, new float[] { -450 }, new float[] { 45000 }); Query dv = RangeFieldMapper.RangeType.FLOAT.dvRangeQuery(FLOAT_RANGE_FIELD_NAME, BinaryDocValuesRangeQuery.QueryType.INTERSECTS, -450.0f, 45000.0f, true, true); assertEquals(new IndexOrDocValuesQuery(range, dv), query); }
From source file:org.elasticsearch.index.mapper.RangeFieldQueryStringQueryBuilderTests.java
License:Apache License
public void testDoubleRangeQuery() throws Exception { Query query = new QueryStringQueryBuilder(DOUBLE_RANGE_FIELD_NAME + ":[-450 TO 45000]") .toQuery(createShardContext()); Query range = DoubleRange.newIntersectsQuery(DOUBLE_RANGE_FIELD_NAME, new double[] { -450 }, new double[] { 45000 }); Query dv = RangeFieldMapper.RangeType.DOUBLE.dvRangeQuery(DOUBLE_RANGE_FIELD_NAME, BinaryDocValuesRangeQuery.QueryType.INTERSECTS, -450.0, 45000.0, true, true); assertEquals(new IndexOrDocValuesQuery(range, dv), query); }
From source file:org.elasticsearch.index.mapper.RangeFieldQueryStringQueryBuilderTests.java
License:Apache License
public void testDateRangeQuery() throws Exception { QueryShardContext context = createShardContext(); RangeFieldMapper.RangeFieldType type = (RangeFieldMapper.RangeFieldType) context .fieldMapper(DATE_RANGE_FIELD_NAME); DateMathParser parser = type.dateMathParser; Query query = new QueryStringQueryBuilder(DATE_RANGE_FIELD_NAME + ":[2010-01-01 TO 2018-01-01]") .toQuery(createShardContext()); Query range = LongRange.newIntersectsQuery(DATE_RANGE_FIELD_NAME, new long[] { parser.parse("2010-01-01", () -> 0) }, new long[] { parser.parse("2018-01-01", () -> 0) }); Query dv = RangeFieldMapper.RangeType.DATE.dvRangeQuery(DATE_RANGE_FIELD_NAME, BinaryDocValuesRangeQuery.QueryType.INTERSECTS, parser.parse("2010-01-01", () -> 0), parser.parse("2018-01-01", () -> 0), true, true); assertEquals(new IndexOrDocValuesQuery(range, dv), query); }
From source file:org.elasticsearch.index.mapper.RangeFieldQueryStringQueryBuilderTests.java
License:Apache License
public void testIPRangeQuery() throws Exception { InetAddress lower = InetAddresses.forString("192.168.0.1"); InetAddress upper = InetAddresses.forString("192.168.0.5"); Query query = new QueryStringQueryBuilder(IP_RANGE_FIELD_NAME + ":[192.168.0.1 TO 192.168.0.5]") .toQuery(createShardContext()); Query range = InetAddressRange.newIntersectsQuery(IP_RANGE_FIELD_NAME, lower, upper); Query dv = RangeFieldMapper.RangeType.IP.dvRangeQuery(IP_RANGE_FIELD_NAME, BinaryDocValuesRangeQuery.QueryType.INTERSECTS, lower, upper, true, true); assertEquals(new IndexOrDocValuesQuery(range, dv), query); }
From source file:org.elasticsearch.xpack.security.authz.accesscontrol.FieldExtractorTests.java
License:Open Source License
public void testIndexOrDocValuesQuery() { Set<String> fields = new HashSet<>(); Query supported = IntPoint.newExactQuery("foo", 42); Query unsupported = NumericDocValuesField.newSlowExactQuery("bar", 3); IndexOrDocValuesQuery query = new IndexOrDocValuesQuery(supported, supported); FieldExtractor.extractFields(query, fields); assertEquals(asSet("foo"), fields); IndexOrDocValuesQuery query2 = new IndexOrDocValuesQuery(unsupported, unsupported); expectThrows(UnsupportedOperationException.class, () -> FieldExtractor.extractFields(query2, new HashSet<>())); fields = new HashSet<>(); IndexOrDocValuesQuery query3 = new IndexOrDocValuesQuery(supported, unsupported); FieldExtractor.extractFields(query3, fields); assertEquals(asSet("foo"), fields); fields = new HashSet<>(); IndexOrDocValuesQuery query4 = new IndexOrDocValuesQuery(unsupported, supported); FieldExtractor.extractFields(query4, fields); assertEquals(asSet("foo"), fields); }