public class FloatRangeField extends Field
This field indexes dimensional ranges defined as min/max pairs. It supports up to a maximum of 4 dimensions (indexed as 8 numeric values). With 1 dimension representing a single float range, 2 dimensions representing a bounding box, 3 dimensions a bounding cube, and 4 dimensions a tesseract.
Multiple values for the same field in one document is supported, and open ended ranges can be defined using
Float.NEGATIVE_INFINITY and Float.POSITIVE_INFINITY.
This field defines the following static factory methods for common search operations over float ranges:
newIntersectsQuery() matches ranges that intersect the defined search range.
newWithinQuery() matches ranges that are within the defined search range.
newContainsQuery() matches ranges that contain the defined search range.
Field.Store| Modifier and Type | Field and Description |
|---|---|
static int |
BYTES
stores float values so number of bytes is 4
|
boost, fieldsData, name, tokenStream, type| Constructor and Description |
|---|
FloatRangeField(String name,
float[] min,
float[] max)
Create a new FloatRangeField type, from min/max parallel arrays
|
| Modifier and Type | Method and Description |
|---|---|
float |
getMax(int dimension)
Get the max value for the given dimension
|
float |
getMin(int dimension)
Get the min value for the given dimension
|
static Query |
newContainsQuery(String field,
float[] min,
float[] max)
Create a query for matching indexed float ranges that contain the defined range.
|
static Query |
newIntersectsQuery(String field,
float[] min,
float[] max)
Create a query for matching indexed ranges that intersect the defined range.
|
static Query |
newWithinQuery(String field,
float[] min,
float[] max)
Create a query for matching indexed ranges that are within the defined range.
|
void |
setRangeValues(float[] min,
float[] max)
Changes the values of the field.
|
String |
toString() |
binaryValue, boost, fieldType, name, numericValue, readerValue, setBoost, setBytesValue, setBytesValue, setByteValue, setDoubleValue, setFloatValue, setIntValue, setLongValue, setReaderValue, setShortValue, setStringValue, setTokenStream, stringValue, tokenStream, tokenStreamValuepublic static final int BYTES
public FloatRangeField(String name, float[] min, float[] max)
name - field name. must not be null.min - range min values; each entry is the min value for the dimensionmax - range max values; each entry is the max value for the dimensionpublic void setRangeValues(float[] min,
float[] max)
min - array of min values. (accepts Float.NEGATIVE_INFINITY)max - array of max values. (accepts Float.POSITIVE_INFINITY)IllegalArgumentException - if min or max is invalidpublic float getMin(int dimension)
dimension - the dimension, always positivepublic float getMax(int dimension)
dimension - the dimension, always positivepublic static Query newIntersectsQuery(String field, float[] min, float[] max)
field - field name. must not be null.min - array of min values. (accepts Float.NEGATIVE_INFINITY)max - array of max values. (accepts Float.MAX_VALUE)IllegalArgumentException - if field is null, min or max is invalidpublic static Query newContainsQuery(String field, float[] min, float[] max)
field - field name. must not be null.min - array of min values. (accepts Float.NEGATIVE_INFINITY)max - array of max values. (accepts Float.POSITIVE_INFINITY)IllegalArgumentException - if field is null, min or max is invalidpublic static Query newWithinQuery(String field, float[] min, float[] max)
field - field name. must not be null.min - array of min values. (accepts Float.NEGATIVE_INFINITY)max - array of max values. (accepts Float.POSITIVE_INFINITY)IllegalArgumentException - if field is null, min or max is invalidCopyright © 2000-2016 Apache Software Foundation. All Rights Reserved.