Class Int64Field
Field that indexes System.
document.Add(new Int64Field(name, 6L, Field.Store.NO));
For optimal performance, re-use the Int64Field and
Document instance for more than one document:
Int64Field field = new Int64Field(name, 0L, Field.Store.NO);
Document document = new Document();
document.Add(field);
for (all documents) {
...
field.SetInt64Value(value)
writer.AddDocument(document);
...
}
See also Int32Field, Single
Any type that can be converted to long can also be
indexed. For example, date/time values represented by a
System.
To perform range querying or filtering against a
Int64Field, use NumericRangeQuery<T> or
NumericRangeFilter<T>. To sort according to a
Int64Field, use the normal numeric sort types, eg
INT64. Int64Field
values can also be loaded directly from IField
You may add the same field name as an Int64Field to the same document more than once. Range querying and filtering will be the logical OR of all values; so a range query will hit all documents that have at least one value in the range. However sort behavior is not defined. If you need to sort, you should separately index a single-valued Int64Field.
An Int64Field will consume somewhat more disk space in the index than an ordinary single-valued field. However, for a typical index that includes substantial textual content per document, this increase will likely be in the noise.
Within Lucene, each numeric value is indexed as a
trie structure, where each term is logically
assigned to larger and larger pre-defined brackets (which
are simply lower-precision representations of the value).
The step size between each successive bracket is called the
precisionStep
, measured in bits. Smaller
precisionStep
values result in larger number
of brackets, which consumes more disk space in the index
but may result in faster range search performance. The
default value, 4, was selected for a reasonable tradeoff
of disk space consumption versus performance. You can
create a custom Field
For more information on the internals of numeric trie
indexing, including the PrecisionprecisionStep
configuration, see NumericRangeQuery<T>. The format of
indexed values is described in Numeric
If you only need to sort by numeric value, and never
run range querying/filtering, you can index using a
precisionStep
of System.
More advanced users can instead use
Numeric
NOTE: This was LongField in Lucene
@since 2.9Inherited Members
Namespace: Lucene.Net.Documents
Assembly: Lucene.Net.dll
Syntax
public sealed class Int64Field : Field, IIndexableField, IFormattable
Constructors
| Improve this Doc View SourceInt64Field(String, Int64, Field.Store)
Creates a stored or un-stored Int64Field with the provided value
and default precisionStep
PRECISION_STEP_DEFAULT (4).
Declaration
public Int64Field(string name, long value, Field.Store stored)
Parameters
Type | Name | Description |
---|---|---|
System. |
name | field name |
System. |
value | 64-bit System. |
Field. |
stored | YES if the content should also be stored |
Exceptions
Type | Condition |
---|---|
System. |
if the field |
Int64Field(String, Int64, FieldType)
Expert: allows you to customize the Field
Declaration
public Int64Field(string name, long value, FieldType type)
Parameters
Type | Name | Description |
---|---|---|
System. |
name | field name |
System. |
value | 64-bit System. |
Field |
type | customized field type: must have Numeric |
Exceptions
Type | Condition |
---|---|
System. |
if the field |
System. |
if the field type does not have a
Numeric |
Fields
| Improve this Doc View SourceTYPE_NOT_STORED
Type for a Int64Field that is not stored: normalization factors, frequencies, and positions are omitted.
Declaration
public static readonly FieldType TYPE_NOT_STORED
Field Value
Type | Description |
---|---|
Field |
TYPE_STORED
Type for a stored Int64Field: normalization factors, frequencies, and positions are omitted.
Declaration
public static readonly FieldType TYPE_STORED
Field Value
Type | Description |
---|---|
Field |