Class FieldType
- java.lang.Object
-
- org.apache.lucene.document.FieldType
-
- All Implemented Interfaces:
IndexableFieldType
public class FieldType extends Object implements IndexableFieldType
Describes the properties of a field.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
FieldType.NumericType
Data type of the numeric value
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description FieldInfo.DocValuesType
docValueType()
DocValuesFieldInfo.DocValuesType
: if non-null then the field's value will be indexed into docValues.void
freeze()
Prevents future changes.boolean
indexed()
True if this field should be indexed (inverted)FieldInfo.IndexOptions
indexOptions()
FieldInfo.IndexOptions
, describing what should be recorded into the inverted indexint
numericPrecisionStep()
Precision step for numeric field.FieldType.NumericType
numericType()
NumericType: if non-null then the field's value will be indexed numerically so thatNumericRangeQuery
can be used at search time.boolean
omitNorms()
True if normalization values should be omitted for the field.void
setDocValueType(FieldInfo.DocValuesType type)
Set's the field's DocValuesTypevoid
setIndexed(boolean value)
Set totrue
to index (invert) this field.void
setIndexOptions(FieldInfo.IndexOptions value)
Sets the indexing options for the field:void
setNumericPrecisionStep(int precisionStep)
Sets the numeric precision step for the field.void
setNumericType(FieldType.NumericType type)
Specifies the field's numeric type.void
setOmitNorms(boolean value)
Set totrue
to omit normalization values for the field.void
setStored(boolean value)
Set totrue
to store this field.void
setStoreTermVectorOffsets(boolean value)
Set totrue
to also store token character offsets into the term vector for this field.void
setStoreTermVectorPayloads(boolean value)
Set totrue
to also store token payloads into the term vector for this field.void
setStoreTermVectorPositions(boolean value)
Set totrue
to also store token positions into the term vector for this field.void
setStoreTermVectors(boolean value)
Set totrue
if this field's indexed form should be also stored into term vectors.void
setTokenized(boolean value)
Set totrue
to tokenize this field's contents via the configuredAnalyzer
.boolean
stored()
True if the field's value should be storedboolean
storeTermVectorOffsets()
True if this field's token character offsets should also be stored into term vectors.boolean
storeTermVectorPayloads()
True if this field's token payloads should also be stored into the term vectors.boolean
storeTermVectorPositions()
True if this field's token positions should also be stored into the term vectors.boolean
storeTermVectors()
True if this field's indexed form should be also stored into term vectors.boolean
tokenized()
True if this field's value should be analyzed by theAnalyzer
.String
toString()
Prints a Field for human consumption.
-
-
-
Constructor Detail
-
FieldType
public FieldType(FieldType ref)
Create a new mutable FieldType with all of the properties fromref
-
FieldType
public FieldType()
Create a new FieldType with default properties.
-
-
Method Detail
-
freeze
public void freeze()
Prevents future changes. Note, it is recommended that this is called once the FieldTypes's properties have been set, to prevent unintentional state changes.
-
indexed
public boolean indexed()
True if this field should be indexed (inverted)The default is
false
.- Specified by:
indexed
in interfaceIndexableFieldType
- See Also:
setIndexed(boolean)
-
setIndexed
public void setIndexed(boolean value)
Set totrue
to index (invert) this field.- Parameters:
value
- true if this field should be indexed.- Throws:
IllegalStateException
- if this FieldType is frozen against future modifications.- See Also:
indexed()
-
stored
public boolean stored()
True if the field's value should be storedThe default is
false
.- Specified by:
stored
in interfaceIndexableFieldType
- See Also:
setStored(boolean)
-
setStored
public void setStored(boolean value)
Set totrue
to store this field.- Parameters:
value
- true if this field should be stored.- Throws:
IllegalStateException
- if this FieldType is frozen against future modifications.- See Also:
stored()
-
tokenized
public boolean tokenized()
True if this field's value should be analyzed by theAnalyzer
.This has no effect if
IndexableFieldType.indexed()
returns false.The default is
true
.- Specified by:
tokenized
in interfaceIndexableFieldType
- See Also:
setTokenized(boolean)
-
setTokenized
public void setTokenized(boolean value)
Set totrue
to tokenize this field's contents via the configuredAnalyzer
.- Parameters:
value
- true if this field should be tokenized.- Throws:
IllegalStateException
- if this FieldType is frozen against future modifications.- See Also:
tokenized()
-
storeTermVectors
public boolean storeTermVectors()
True if this field's indexed form should be also stored into term vectors.This builds a miniature inverted-index for this field which can be accessed in a document-oriented way from
IndexReader.getTermVector(int,String)
.This option is illegal if
IndexableFieldType.indexed()
returns false.The default is
false
.- Specified by:
storeTermVectors
in interfaceIndexableFieldType
- See Also:
setStoreTermVectors(boolean)
-
setStoreTermVectors
public void setStoreTermVectors(boolean value)
Set totrue
if this field's indexed form should be also stored into term vectors.- Parameters:
value
- true if this field should store term vectors.- Throws:
IllegalStateException
- if this FieldType is frozen against future modifications.- See Also:
storeTermVectors()
-
storeTermVectorOffsets
public boolean storeTermVectorOffsets()
True if this field's token character offsets should also be stored into term vectors.This option is illegal if term vectors are not enabled for the field (
IndexableFieldType.storeTermVectors()
is false)The default is
false
.- Specified by:
storeTermVectorOffsets
in interfaceIndexableFieldType
- See Also:
setStoreTermVectorOffsets(boolean)
-
setStoreTermVectorOffsets
public void setStoreTermVectorOffsets(boolean value)
Set totrue
to also store token character offsets into the term vector for this field.- Parameters:
value
- true if this field should store term vector offsets.- Throws:
IllegalStateException
- if this FieldType is frozen against future modifications.- See Also:
storeTermVectorOffsets()
-
storeTermVectorPositions
public boolean storeTermVectorPositions()
True if this field's token positions should also be stored into the term vectors.This option is illegal if term vectors are not enabled for the field (
IndexableFieldType.storeTermVectors()
is false).The default is
false
.- Specified by:
storeTermVectorPositions
in interfaceIndexableFieldType
- See Also:
setStoreTermVectorPositions(boolean)
-
setStoreTermVectorPositions
public void setStoreTermVectorPositions(boolean value)
Set totrue
to also store token positions into the term vector for this field.- Parameters:
value
- true if this field should store term vector positions.- Throws:
IllegalStateException
- if this FieldType is frozen against future modifications.- See Also:
storeTermVectorPositions()
-
storeTermVectorPayloads
public boolean storeTermVectorPayloads()
True if this field's token payloads should also be stored into the term vectors.This option is illegal if term vector positions are not enabled for the field (
IndexableFieldType.storeTermVectors()
is false).The default is
false
.- Specified by:
storeTermVectorPayloads
in interfaceIndexableFieldType
- See Also:
setStoreTermVectorPayloads(boolean)
-
setStoreTermVectorPayloads
public void setStoreTermVectorPayloads(boolean value)
Set totrue
to also store token payloads into the term vector for this field.- Parameters:
value
- true if this field should store term vector payloads.- Throws:
IllegalStateException
- if this FieldType is frozen against future modifications.- See Also:
storeTermVectorPayloads()
-
omitNorms
public boolean omitNorms()
True if normalization values should be omitted for the field.This saves memory, but at the expense of scoring quality (length normalization will be disabled), and if you omit norms, you cannot use index-time boosts.
The default is
false
.- Specified by:
omitNorms
in interfaceIndexableFieldType
- See Also:
setOmitNorms(boolean)
-
setOmitNorms
public void setOmitNorms(boolean value)
Set totrue
to omit normalization values for the field.- Parameters:
value
- true if this field should omit norms.- Throws:
IllegalStateException
- if this FieldType is frozen against future modifications.- See Also:
omitNorms()
-
indexOptions
public FieldInfo.IndexOptions indexOptions()
FieldInfo.IndexOptions
, describing what should be recorded into the inverted indexThe default is
FieldInfo.IndexOptions.DOCS_AND_FREQS_AND_POSITIONS
.- Specified by:
indexOptions
in interfaceIndexableFieldType
- See Also:
setIndexOptions(org.apache.lucene.index.FieldInfo.IndexOptions)
-
setIndexOptions
public void setIndexOptions(FieldInfo.IndexOptions value)
Sets the indexing options for the field:- Parameters:
value
- indexing options- Throws:
IllegalStateException
- if this FieldType is frozen against future modifications.- See Also:
indexOptions()
-
setNumericType
public void setNumericType(FieldType.NumericType type)
Specifies the field's numeric type.- Parameters:
type
- numeric type, or null if the field has no numeric type.- Throws:
IllegalStateException
- if this FieldType is frozen against future modifications.- See Also:
numericType()
-
numericType
public FieldType.NumericType numericType()
NumericType: if non-null then the field's value will be indexed numerically so thatNumericRangeQuery
can be used at search time.The default is
null
(no numeric type)- See Also:
setNumericType(NumericType)
-
setNumericPrecisionStep
public void setNumericPrecisionStep(int precisionStep)
Sets the numeric precision step for the field.- Parameters:
precisionStep
- numeric precision step for the field- Throws:
IllegalArgumentException
- if precisionStep is less than 1.IllegalStateException
- if this FieldType is frozen against future modifications.- See Also:
numericPrecisionStep()
-
numericPrecisionStep
public int numericPrecisionStep()
Precision step for numeric field.This has no effect if
numericType()
returns null.The default is
NumericUtils.PRECISION_STEP_DEFAULT
- See Also:
setNumericPrecisionStep(int)
-
toString
public final String toString()
Prints a Field for human consumption.
-
docValueType
public FieldInfo.DocValuesType docValueType()
DocValuesFieldInfo.DocValuesType
: if non-null then the field's value will be indexed into docValues.The default is
null
(no docValues)- Specified by:
docValueType
in interfaceIndexableFieldType
- See Also:
setDocValueType(org.apache.lucene.index.FieldInfo.DocValuesType)
-
setDocValueType
public void setDocValueType(FieldInfo.DocValuesType type)
Set's the field's DocValuesType- Parameters:
type
- DocValues type, or null if no DocValues should be stored.- Throws:
IllegalStateException
- if this FieldType is frozen against future modifications.- See Also:
docValueType()
-
-