Package org.apache.lucene.document
Class IntField
- java.lang.Object
-
- org.apache.lucene.document.Field
-
- org.apache.lucene.document.IntField
-
- All Implemented Interfaces:
IndexableField
public final class IntField extends Field
Field that stores a per-documentint
value for scoring, sorting or value retrieval and index the field for fast range filters. If you need more fine-grained control you can useIntPoint
,NumericDocValuesField
orSortedNumericDocValuesField
, andStoredField
.This field defines static factory methods for creating common queries:
newExactQuery(String, int)
for matching an exact 1D point.newRangeQuery(String, int, int)
for matching a 1D range.newSetQuery(String, int...)
for matching a 1D set.
- See Also:
PointValues
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.lucene.document.Field
Field.Store
-
-
Field Summary
-
Fields inherited from class org.apache.lucene.document.Field
fieldsData, name, tokenStream, type
-
-
Constructor Summary
Constructors Constructor Description IntField(String name, int value)
Deprecated.UseIntField(String, int, Field.Store)
withField.Store.NO
instead.IntField(String name, int value, Field.Store stored)
Creates a new IntField, indexing the provided point, storing it as a DocValue, and optionally storing it as a stored field.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description BytesRef
binaryValue()
Non-null if this field has a binary valuestatic Query
newExactQuery(String field, int value)
Create a query for matching an exact integer value.static Query
newRangeQuery(String field, int lowerValue, int upperValue)
Create a range query for integer values.static Query
newSetQuery(String field, int... values)
Create a query matching values in a supplied setstatic SortField
newSortField(String field, boolean reverse, SortedNumericSelector.Type selector)
Create a newSortField
for int values.void
setIntValue(int value)
Expert: change the value of this field.StoredValue
storedValue()
Stored value.String
toString()
Prints a Field for human consumption.-
Methods inherited from class org.apache.lucene.document.Field
fieldType, getCharSequenceValue, invertableType, name, numericValue, readerValue, setBytesValue, setBytesValue, setByteValue, setDoubleValue, setFloatValue, setLongValue, setReaderValue, setShortValue, setStringValue, setTokenStream, stringValue, tokenStream, tokenStreamValue
-
-
-
-
Constructor Detail
-
IntField
@Deprecated public IntField(String name, int value)
Deprecated.UseIntField(String, int, Field.Store)
withField.Store.NO
instead.Creates a new IntField, indexing the provided point and storing it as a DocValue.- Parameters:
name
- field namevalue
- the int value- Throws:
IllegalArgumentException
- if the field name or value is null.
-
IntField
public IntField(String name, int value, Field.Store stored)
Creates a new IntField, indexing the provided point, storing it as a DocValue, and optionally storing it as a stored field.- Parameters:
name
- field namevalue
- the int valuestored
- whether to store the field- Throws:
IllegalArgumentException
- if the field name or value is null.
-
-
Method Detail
-
binaryValue
public BytesRef binaryValue()
Description copied from interface:IndexableField
Non-null if this field has a binary value- Specified by:
binaryValue
in interfaceIndexableField
- Overrides:
binaryValue
in classField
-
storedValue
public StoredValue storedValue()
Description copied from interface:IndexableField
Stored value. This method is called to populate stored fields and must return a non-null value if the field stored.- Specified by:
storedValue
in interfaceIndexableField
- Overrides:
storedValue
in classField
-
setIntValue
public void setIntValue(int value)
Description copied from class:Field
Expert: change the value of this field. SeeField.setStringValue(String)
.- Overrides:
setIntValue
in classField
-
toString
public String toString()
Description copied from class:Field
Prints a Field for human consumption.
-
newExactQuery
public static Query newExactQuery(String field, int value)
Create a query for matching an exact integer value.- Parameters:
field
- field name. must not benull
.value
- exact value- Returns:
- a query matching documents with this exact value
- Throws:
IllegalArgumentException
- iffield
is null.
-
newRangeQuery
public static Query newRangeQuery(String field, int lowerValue, int upperValue)
Create a range query for integer values.You can have half-open ranges (which are in fact </≤ or >/≥ queries) by setting
lowerValue = Integer.MIN_VALUE
orupperValue = Integer.MAX_VALUE
.Ranges are inclusive. For exclusive ranges, pass
Math.addExact(lowerValue, 1)
orMath.addExact(upperValue, -1)
.- Parameters:
field
- field name. must not benull
.lowerValue
- lower portion of the range (inclusive).upperValue
- upper portion of the range (inclusive).- Returns:
- a query matching documents within this range.
- Throws:
IllegalArgumentException
- iffield
is null.
-
newSetQuery
public static Query newSetQuery(String field, int... values)
Create a query matching values in a supplied set- Parameters:
field
- field name. must not benull
.values
- integer values- Returns:
- a query matching documents within this set.
- Throws:
IllegalArgumentException
- iffield
is null.
-
newSortField
public static SortField newSortField(String field, boolean reverse, SortedNumericSelector.Type selector)
Create a newSortField
for int values.- Parameters:
field
- field name. must not benull
.reverse
- true if natural order should be reversed.selector
- custom selector type for choosing the sort value from the set.
-
-