public final class

NumericRangeFilter

extends MultiTermQueryWrapperFilter<Q extends MultiTermQuery>
java.lang.Object
   ↳ org.apache.lucene.search.Filter
     ↳ org.apache.lucene.search.MultiTermQueryWrapperFilter<Q extends org.apache.lucene.search.MultiTermQuery>
       ↳ org.apache.lucene.search.NumericRangeFilter<T extends java.lang.Number>

Class Overview

A Filter that only accepts numeric values within a specified range. To use this, you must first index the numeric values using NumericField (expert: NumericTokenStream).

You create a new NumericRangeFilter with the static factory methods, eg:

 Filter f = NumericRangeFilter.newFloatRange("weight", 0.3f, 0.10f, true, true);
 
accepts all documents whose float valued "weight" field ranges from 0.3 to 0.10, inclusive. See NumericRangeQuery for details on how Lucene indexes and searches numeric valued fields.

NOTE: This API is experimental and might change in incompatible ways in the next release.

Summary

[Expand]
Inherited Fields
From class org.apache.lucene.search.MultiTermQueryWrapperFilter
Public Methods
String getField()
Returns the field name for this filter
T getMax()
Returns the upper value of this range filter
T getMin()
Returns the lower value of this range filter
boolean includesMax()
Returns true if the upper endpoint is inclusive
boolean includesMin()
Returns true if the lower endpoint is inclusive
static NumericRangeFilter<Double> newDoubleRange(String field, int precisionStep, Double min, Double max, boolean minInclusive, boolean maxInclusive)
Factory that creates a NumericRangeFilter, that filters a double range using the given precisionStep.
static NumericRangeFilter<Double> newDoubleRange(String field, Double min, Double max, boolean minInclusive, boolean maxInclusive)
Factory that creates a NumericRangeFilter, that queries a double range using the default precisionStep PRECISION_STEP_DEFAULT (4).
static NumericRangeFilter<Float> newFloatRange(String field, int precisionStep, Float min, Float max, boolean minInclusive, boolean maxInclusive)
Factory that creates a NumericRangeFilter, that filters a float range using the given precisionStep.
static NumericRangeFilter<Float> newFloatRange(String field, Float min, Float max, boolean minInclusive, boolean maxInclusive)
Factory that creates a NumericRangeFilter, that queries a float range using the default precisionStep PRECISION_STEP_DEFAULT (4).
static NumericRangeFilter<Integer> newIntRange(String field, int precisionStep, Integer min, Integer max, boolean minInclusive, boolean maxInclusive)
Factory that creates a NumericRangeFilter, that filters a int range using the given precisionStep.
static NumericRangeFilter<Integer> newIntRange(String field, Integer min, Integer max, boolean minInclusive, boolean maxInclusive)
Factory that creates a NumericRangeFilter, that queries a int range using the default precisionStep PRECISION_STEP_DEFAULT (4).
static NumericRangeFilter<Long> newLongRange(String field, Long min, Long max, boolean minInclusive, boolean maxInclusive)
Factory that creates a NumericRangeFilter, that queries a long range using the default precisionStep PRECISION_STEP_DEFAULT (4).
static NumericRangeFilter<Long> newLongRange(String field, int precisionStep, Long min, Long max, boolean minInclusive, boolean maxInclusive)
Factory that creates a NumericRangeFilter, that filters a long range using the given precisionStep.
[Expand]
Inherited Methods
From class org.apache.lucene.search.MultiTermQueryWrapperFilter
From class org.apache.lucene.search.Filter
From class java.lang.Object

Public Methods

public String getField ()

Returns the field name for this filter

public T getMax ()

Returns the upper value of this range filter

public T getMin ()

Returns the lower value of this range filter

public boolean includesMax ()

Returns true if the upper endpoint is inclusive

public boolean includesMin ()

Returns true if the lower endpoint is inclusive

public static NumericRangeFilter<Double> newDoubleRange (String field, int precisionStep, Double min, Double max, boolean minInclusive, boolean maxInclusive)

Factory that creates a NumericRangeFilter, that filters a double range using the given precisionStep. You can have half-open ranges (which are in fact </≤ or >/≥ queries) by setting the min or max value to null. By setting inclusive to false, it will match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.

public static NumericRangeFilter<Double> newDoubleRange (String field, Double min, Double max, boolean minInclusive, boolean maxInclusive)

Factory that creates a NumericRangeFilter, that queries a double range using the default precisionStep PRECISION_STEP_DEFAULT (4). You can have half-open ranges (which are in fact </≤ or >/≥ queries) by setting the min or max value to null. By setting inclusive to false, it will match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.

public static NumericRangeFilter<Float> newFloatRange (String field, int precisionStep, Float min, Float max, boolean minInclusive, boolean maxInclusive)

Factory that creates a NumericRangeFilter, that filters a float range using the given precisionStep. You can have half-open ranges (which are in fact </≤ or >/≥ queries) by setting the min or max value to null. By setting inclusive to false, it will match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.

public static NumericRangeFilter<Float> newFloatRange (String field, Float min, Float max, boolean minInclusive, boolean maxInclusive)

Factory that creates a NumericRangeFilter, that queries a float range using the default precisionStep PRECISION_STEP_DEFAULT (4). You can have half-open ranges (which are in fact </≤ or >/≥ queries) by setting the min or max value to null. By setting inclusive to false, it will match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.

public static NumericRangeFilter<Integer> newIntRange (String field, int precisionStep, Integer min, Integer max, boolean minInclusive, boolean maxInclusive)

Factory that creates a NumericRangeFilter, that filters a int range using the given precisionStep. You can have half-open ranges (which are in fact </≤ or >/≥ queries) by setting the min or max value to null. By setting inclusive to false, it will match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.

public static NumericRangeFilter<Integer> newIntRange (String field, Integer min, Integer max, boolean minInclusive, boolean maxInclusive)

Factory that creates a NumericRangeFilter, that queries a int range using the default precisionStep PRECISION_STEP_DEFAULT (4). You can have half-open ranges (which are in fact </≤ or >/≥ queries) by setting the min or max value to null. By setting inclusive to false, it will match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.

public static NumericRangeFilter<Long> newLongRange (String field, Long min, Long max, boolean minInclusive, boolean maxInclusive)

Factory that creates a NumericRangeFilter, that queries a long range using the default precisionStep PRECISION_STEP_DEFAULT (4). You can have half-open ranges (which are in fact </≤ or >/≥ queries) by setting the min or max value to null. By setting inclusive to false, it will match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.

public static NumericRangeFilter<Long> newLongRange (String field, int precisionStep, Long min, Long max, boolean minInclusive, boolean maxInclusive)

Factory that creates a NumericRangeFilter, that filters a long range using the given precisionStep. You can have half-open ranges (which are in fact </≤ or >/≥ queries) by setting the min or max value to null. By setting inclusive to false, it will match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.