Class NumericDocValuesField
- All Implemented Interfaces:
IndexableField
- Direct Known Subclasses:
DoubleDocValuesField
,FloatDocValuesField
long
value for scoring, sorting or value retrieval.
Here's an example usage:
document.add(new NumericDocValuesField(name, 22L));
If you also need to store the value, you should add a separate StoredField
instance.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.lucene.document.Field
Field.Store
-
Field Summary
FieldsFields inherited from class org.apache.lucene.document.Field
fieldsData, name, tokenStream, type
-
Constructor Summary
ConstructorsConstructorDescriptionNumericDocValuesField
(String name, long value) Creates a new DocValues field with the specified 64-bit long valueNumericDocValuesField
(String name, Long value) Creates a new DocValues field with the specified 64-bit long value -
Method Summary
Modifier and TypeMethodDescriptionstatic Query
newSlowExactQuery
(String field, long value) Create a query for matching an exact long value.static Query
newSlowRangeQuery
(String field, long lowerValue, long upperValue) Create a range query that matches all documents whose value is betweenlowerValue
andupperValue
included.Methods inherited from class org.apache.lucene.document.Field
binaryValue, fieldType, getCharSequenceValue, name, numericValue, readerValue, setBytesValue, setBytesValue, setByteValue, setDoubleValue, setFloatValue, setIntValue, setLongValue, setReaderValue, setShortValue, setStringValue, setTokenStream, stringValue, tokenStream, tokenStreamValue, toString
-
Field Details
-
TYPE
Type for numeric DocValues.
-
-
Constructor Details
-
NumericDocValuesField
Creates a new DocValues field with the specified 64-bit long value- Parameters:
name
- field namevalue
- 64-bit long value- Throws:
IllegalArgumentException
- if the field name is null
-
NumericDocValuesField
Creates a new DocValues field with the specified 64-bit long value- Parameters:
name
- field namevalue
- 64-bit long value ornull
if the existing fields value should be removed on update- Throws:
IllegalArgumentException
- if the field name is null
-
-
Method Details
-
newSlowRangeQuery
Create a range query that matches all documents whose value is betweenlowerValue
andupperValue
included.You can have half-open ranges (which are in fact </≤ or >/≥ queries) by setting
lowerValue = Long.MIN_VALUE
orupperValue = Long.MAX_VALUE
.Ranges are inclusive. For exclusive ranges, pass
Math.addExact(lowerValue, 1)
orMath.addExact(upperValue, -1)
.NOTE: Such queries cannot efficiently advance to the next match, which makes them slow if they are not ANDed with a selective query. As a consequence, they are best used wrapped in an
IndexOrDocValuesQuery
, alongside a range query that executes on points, such asLongPoint.newRangeQuery(java.lang.String, long, long)
. -
newSlowExactQuery
Create a query for matching an exact long value.NOTE: Such queries cannot efficiently advance to the next match, which makes them slow if they are not ANDed with a selective query. As a consequence, they are best used wrapped in an
IndexOrDocValuesQuery
, alongside a range query that executes on points, such asLongPoint.newExactQuery(java.lang.String, long)
.
-