Class FloatPoint
- All Implemented Interfaces:
- IndexableField
float field for fast range filters. If you also need to store the value, you
 should add a separate StoredField instance.
 Finding all documents within an N-dimensional at search time is efficient. Multiple values for the same field in one document is allowed.
This field defines static factory methods for creating common queries:
- newExactQuery(String, float)for matching an exact 1D point.
- newSetQuery(String, float...)for matching a set of 1D values.
- newRangeQuery(String, float, float)for matching a 1D range.
- newRangeQuery(String, float[], float[])for matching points/ranges in n-dimensional space.
- See Also:
- 
Nested Class SummaryNested classes/interfaces inherited from class org.apache.lucene.document.FieldField.Store
- 
Field SummaryFields inherited from class org.apache.lucene.document.FieldfieldsData, name, type
- 
Constructor SummaryConstructorsConstructorDescriptionFloatPoint(String name, float... point) Creates a new FloatPoint, indexing the provided N-dimensional float point.
- 
Method SummaryModifier and TypeMethodDescriptionstatic floatdecodeDimension(byte[] value, int offset) Decode single float dimensionstatic voidencodeDimension(float value, byte[] dest, int offset) Encode single float dimensionstatic QuerynewExactQuery(String field, float value) Create a query for matching an exact float value.static QuerynewRangeQuery(String field, float[] lowerValue, float[] upperValue) Create a range query for n-dimensional float values.static QuerynewRangeQuery(String field, float lowerValue, float upperValue) Create a range query for float values.static QuerynewSetQuery(String field, float... values) Create a query matching any of the specified 1D values.static QuerynewSetQuery(String field, Collection<Float> values) Create a query matching any of the specified 1D values.static floatnextDown(float f) Return the greatest float that compares less thanfconsistently withFloat.compare(float, float).static floatnextUp(float f) Return the least float that compares greater thanfconsistently withFloat.compare(float, float).Non-null if this field has a numeric valuestatic BytesRefpack(float... point) Pack a float point into a BytesRefvoidsetBytesValue(BytesRef bytes) Expert: change the value of this field.voidsetFloatValue(float value) Expert: change the value of this field.voidsetFloatValues(float... point) Change the values of this fieldtoString()Prints a Field for human consumption.Methods inherited from class org.apache.lucene.document.FieldbinaryValue, fieldType, getCharSequenceValue, invertableType, name, readerValue, setBytesValue, setByteValue, setDoubleValue, setIntValue, setLongValue, setReaderValue, setShortValue, setStringValue, setTokenStream, storedValue, stringValue, tokenStream, tokenStreamValue
- 
Constructor Details- 
FloatPointCreates a new FloatPoint, indexing the provided N-dimensional float point.- Parameters:
- name- field name
- point- float[] value
- Throws:
- IllegalArgumentException- if the field name or value is null.
 
 
- 
- 
Method Details- 
nextUppublic static float nextUp(float f) Return the least float that compares greater thanfconsistently withFloat.compare(float, float). The only difference withMath.nextUp(float)is that this method returns+0fwhen the argument is-0f.
- 
nextDownpublic static float nextDown(float f) Return the greatest float that compares less thanfconsistently withFloat.compare(float, float). The only difference withMath.nextDown(float)is that this method returns-0fwhen the argument is+0f.
- 
setFloatValuepublic void setFloatValue(float value) Description copied from class:FieldExpert: change the value of this field. SeeField.setStringValue(String).- Overrides:
- setFloatValuein class- Field
 
- 
setFloatValuespublic void setFloatValues(float... point) Change the values of this field
- 
setBytesValueDescription copied from class:FieldExpert: change the value of this field. SeeField.setStringValue(String).NOTE: the provided BytesRef is not copied so be sure not to change it until you're done with this field. - Overrides:
- setBytesValuein class- Field
 
- 
numericValueDescription copied from interface:IndexableFieldNon-null if this field has a numeric value- Specified by:
- numericValuein interface- IndexableField
- Overrides:
- numericValuein class- Field
 
- 
packPack a float point into a BytesRef- Parameters:
- point- float[] value
- Throws:
- IllegalArgumentException- is the value is null or of zero length
 
- 
toStringDescription copied from class:FieldPrints a Field for human consumption.
- 
encodeDimensionpublic static void encodeDimension(float value, byte[] dest, int offset) Encode single float dimension
- 
decodeDimensionpublic static float decodeDimension(byte[] value, int offset) Decode single float dimension
- 
newExactQueryCreate a query for matching an exact float value.This is for simple one-dimension points, for multidimensional points use newRangeQuery(String, float[], float[])instead.- Parameters:
- field- field name. must not be- null.
- value- float value
- Returns:
- a query matching documents with this exact value
- Throws:
- IllegalArgumentException- if- fieldis null.
 
- 
newRangeQueryCreate a range query for float values.This is for simple one-dimension ranges, for multidimensional ranges use newRangeQuery(String, float[], float[])instead.You can have half-open ranges (which are in fact </≤ or >/≥ queries) by setting lowerValue = Float.NEGATIVE_INFINITYorupperValue = Float.POSITIVE_INFINITY.Ranges are inclusive. For exclusive ranges, pass nextUp(lowerValue)ornextDown(upperValue).Range comparisons are consistent with Float.compareTo(Float).- Parameters:
- field- field name. must not be- null.
- lowerValue- lower portion of the range (inclusive).
- upperValue- upper portion of the range (inclusive).
- Returns:
- a query matching documents within this range.
- Throws:
- IllegalArgumentException- if- fieldis null.
 
- 
newRangeQueryCreate a range query for n-dimensional float values.You can have half-open ranges (which are in fact </≤ or >/≥ queries) by setting lowerValue[i] = Float.NEGATIVE_INFINITYorupperValue[i] = Float.POSITIVE_INFINITY.Ranges are inclusive. For exclusive ranges, pass Math#nextUp(lowerValue[i])orMath.nextDown(upperValue[i]).Range comparisons are consistent with Float.compareTo(Float).- Parameters:
- field- field name. must not be- null.
- lowerValue- lower portion of the range (inclusive). must not be- null.
- upperValue- upper portion of the range (inclusive). must not be- null.
- Returns:
- a query matching documents within this range.
- Throws:
- IllegalArgumentException- if- fieldis null, if- lowerValueis null, if- upperValueis null, or if- lowerValue.length != upperValue.length
 
- 
newSetQueryCreate a query matching any of the specified 1D values. This is the points equivalent ofTermsQuery.- Parameters:
- field- field name. must not be- null.
- values- all values to match
 
- 
newSetQueryCreate a query matching any of the specified 1D values. This is the points equivalent ofTermsQuery.- Parameters:
- field- field name. must not be- null.
- values- all values to match
 
 
-