Package org.apache.lucene.document
Class LongField
- java.lang.Object
-
- org.apache.lucene.document.Field
-
- org.apache.lucene.document.LongField
-
- All Implemented Interfaces:
IndexableField
public final class LongField extends Field
Field that stores a per-documentlongvalue for scoring, sorting or value retrieval and index the field for fast range filters. If you need more fine-grained control you can useLongPoint,NumericDocValuesFieldorSortedNumericDocValuesField, andStoredField.This field defines static factory methods for creating common queries:
newExactQuery(String, long)for matching an exact 1D point.newRangeQuery(String, long, long)for matching a 1D range.newSetQuery(String, long...)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 LongField(String name, long value)Deprecated.UseLongField(String, long, Field.Store)withField.Store.NOinstead.LongField(String name, long value, Field.Store stored)Creates a new LongField, 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 BytesRefbinaryValue()Non-null if this field has a binary valuestatic QuerynewDistanceFeatureQuery(String field, float weight, long origin, long pivotDistance)Returns a query that scores documents based on their distance toorigin:score = weight * pivotDistance / (pivotDistance + distance), ie.static QuerynewExactQuery(String field, long value)Create a query for matching an exact long value.static QuerynewRangeQuery(String field, long lowerValue, long upperValue)Create a range query for long values.static QuerynewSetQuery(String field, long... values)Create a query matching values in a supplied setstatic SortFieldnewSortField(String field, boolean reverse, SortedNumericSelector.Type selector)Create a newSortFieldfor long values.voidsetLongValue(long value)Expert: change the value of this field.StoredValuestoredValue()Stored value.StringtoString()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, setIntValue, setReaderValue, setShortValue, setStringValue, setTokenStream, stringValue, tokenStream, tokenStreamValue
-
-
-
-
Constructor Detail
-
LongField
@Deprecated public LongField(String name, long value)
Deprecated.UseLongField(String, long, Field.Store)withField.Store.NOinstead.Creates a new LongField, indexing the provided point and storing it as a DocValue- Parameters:
name- field namevalue- the long value- Throws:
IllegalArgumentException- if the field name or value is null.
-
LongField
public LongField(String name, long value, Field.Store stored)
Creates a new LongField, indexing the provided point, storing it as a DocValue, and optionally storing it as a stored field.- Parameters:
name- field namevalue- the long 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:IndexableFieldNon-null if this field has a binary value- Specified by:
binaryValuein interfaceIndexableField- Overrides:
binaryValuein classField
-
storedValue
public StoredValue storedValue()
Description copied from interface:IndexableFieldStored value. This method is called to populate stored fields and must return a non-null value if the field stored.- Specified by:
storedValuein interfaceIndexableField- Overrides:
storedValuein classField
-
setLongValue
public void setLongValue(long value)
Description copied from class:FieldExpert: change the value of this field. SeeField.setStringValue(String).- Overrides:
setLongValuein classField
-
toString
public String toString()
Description copied from class:FieldPrints a Field for human consumption.
-
newExactQuery
public static Query newExactQuery(String field, long value)
Create a query for matching an exact long value.- Parameters:
field- field name. must not benull.value- exact value- Returns:
- a query matching documents with this exact value
- Throws:
IllegalArgumentException- iffieldis null.
-
newRangeQuery
public static Query newRangeQuery(String field, long lowerValue, long upperValue)
Create a range query for long values.You can have half-open ranges (which are in fact </≤ or >/≥ queries) by setting
lowerValue = Long.MIN_VALUEorupperValue = Long.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- iffieldis null.
-
newSetQuery
public static Query newSetQuery(String field, long... values)
Create a query matching values in a supplied set- Parameters:
field- field name. must not benull.values- long values- Returns:
- a query matching documents within this set.
- Throws:
IllegalArgumentException- iffieldis null.
-
newSortField
public static SortField newSortField(String field, boolean reverse, SortedNumericSelector.Type selector)
Create a newSortFieldfor long 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.
-
newDistanceFeatureQuery
public static Query newDistanceFeatureQuery(String field, float weight, long origin, long pivotDistance)
Returns a query that scores documents based on their distance toorigin:score = weight * pivotDistance / (pivotDistance + distance), ie. score is in the[0, weight]range, is equal toweightwhen the document's value is equal tooriginand is equal toweight/2when the document's value is distant ofpivotDistancefromorigin. In case of multi-valued fields, only the closest point tooriginwill be considered. This query is typically useful to boost results based on recency by adding this query to aBooleanClause.Occur.SHOULDclause of aBooleanQuery.
-
-