Package org.apache.lucene.document
Class LongRange
- java.lang.Object
- 
- org.apache.lucene.document.Field
- 
- org.apache.lucene.document.LongRange
 
 
- 
- All Implemented Interfaces:
- IndexableField
 
 public class LongRange extends Field An indexed Long Range 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 long 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 Long.MIN_VALUEandLong.MAX_VALUE.This field defines the following static factory methods for common search operations over long 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.
 
- 
- 
Nested Class Summary- 
Nested classes/interfaces inherited from class org.apache.lucene.document.FieldField.Store
 
- 
 - 
Field SummaryFields Modifier and Type Field Description static intBYTESstores long values so number of bytes is 8- 
Fields inherited from class org.apache.lucene.document.FieldfieldsData, name, tokenStream, type
 
- 
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description longgetMax(int dimension)Get the max value for the given dimensionlonggetMin(int dimension)Get the min value for the given dimensionstatic QuerynewContainsQuery(String field, long[] min, long[] max)Create a query for matching indexed ranges that contain the defined range.static QuerynewCrossesQuery(String field, long[] min, long[] max)Create a query for matching indexed ranges that cross the defined range.static QuerynewIntersectsQuery(String field, long[] min, long[] max)Create a query for matching indexed ranges that intersect the defined range.static QuerynewWithinQuery(String field, long[] min, long[] max)Create a query for matching indexed ranges that are within the defined range.voidsetRangeValues(long[] min, long[] max)Changes the values of the field.StringtoString()Prints a Field for human consumption.- 
Methods inherited from class org.apache.lucene.document.FieldbinaryValue, fieldType, getCharSequenceValue, name, numericValue, readerValue, setBytesValue, setBytesValue, setByteValue, setDoubleValue, setFloatValue, setIntValue, setLongValue, setReaderValue, setShortValue, setStringValue, setTokenStream, stringValue, tokenStream, tokenStreamValue
 
- 
 
- 
- 
- 
Field Detail- 
BYTESpublic static final int BYTES stores long values so number of bytes is 8- See Also:
- Constant Field Values
 
 
- 
 - 
Constructor Detail- 
LongRangepublic LongRange(String name, long[] min, long[] max) Create a new LongRange type, from min/max parallel arrays- Parameters:
- name- field name. must not be null.
- min- range min values; each entry is the min value for the dimension
- max- range max values; each entry is the max value for the dimension
 
 
- 
 - 
Method Detail- 
setRangeValuespublic void setRangeValues(long[] min, long[] max)Changes the values of the field.- Parameters:
- min- array of min values. (accepts- Long.MIN_VALUE)
- max- array of max values. (accepts- Long.MAX_VALUE)
- Throws:
- IllegalArgumentException- if- minor- maxis invalid
 
 - 
getMinpublic long getMin(int dimension) Get the min value for the given dimension- Parameters:
- dimension- the dimension, always positive
- Returns:
- the decoded min value
 
 - 
getMaxpublic long getMax(int dimension) Get the max value for the given dimension- Parameters:
- dimension- the dimension, always positive
- Returns:
- the decoded max value
 
 - 
newIntersectsQuerypublic static Query newIntersectsQuery(String field, long[] min, long[] max) Create a query for matching indexed ranges that intersect the defined range.- Parameters:
- field- field name. must not be null.
- min- array of min values. (accepts- Long.MIN_VALUE)
- max- array of max values. (accepts- Long.MAX_VALUE)
- Returns:
- query for matching intersecting ranges (overlap, within, or contains)
- Throws:
- IllegalArgumentException- if- fieldis null,- minor- maxis invalid
 
 - 
newContainsQuerypublic static Query newContainsQuery(String field, long[] min, long[] max) Create a query for matching indexed ranges that contain the defined range.- Parameters:
- field- field name. must not be null.
- min- array of min values. (accepts- Long.MIN_VALUE)
- max- array of max values. (accepts- Long.MAX_VALUE)
- Returns:
- query for matching ranges that contain the defined range
- Throws:
- IllegalArgumentException- if- fieldis null,- minor- maxis invalid
 
 - 
newWithinQuerypublic static Query newWithinQuery(String field, long[] min, long[] max) Create a query for matching indexed ranges that are within the defined range.- Parameters:
- field- field name. must not be null.
- min- array of min values. (accepts- Long.MIN_VALUE)
- max- array of max values. (accepts- Long.MAX_VALUE)
- Returns:
- query for matching ranges within the defined range
- Throws:
- IllegalArgumentException- if- fieldis null,- minor- maxis invalid
 
 - 
newCrossesQuerypublic static Query newCrossesQuery(String field, long[] min, long[] max) Create a query for matching indexed ranges that cross the defined range. A CROSSES is defined as any set of ranges that are not disjoint and not wholly contained by the query. Effectively, its the complement of union(WITHIN, DISJOINT).- Parameters:
- field- field name. must not be null.
- min- array of min values. (accepts- Long.MIN_VALUE)
- max- array of max values. (accepts- Long.MAX_VALUE)
- Returns:
- query for matching ranges within the defined range
- Throws:
- IllegalArgumentException- if- fieldis null,- minor- maxis invalid
 
 
- 
 
-