org.apache.lucene.document
Class FieldType

java.lang.Object
  extended by 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
static class FieldType.NumericType
          Data type of the numeric value
 
Constructor Summary
FieldType()
          Create a new FieldType with default properties.
FieldType(FieldType ref)
          Create a new mutable FieldType with all of the properties from ref
 
Method Summary
 FieldInfo.DocValuesType docValueType()
          DocValues FieldInfo.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 index
 int numericPrecisionStep()
          Precision step for numeric field.
 FieldType.NumericType numericType()
          NumericType: if non-null then the field's value will be indexed numerically so that NumericRangeQuery 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 DocValuesType
 void setIndexed(boolean value)
          Set to true 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 to true to omit normalization values for the field.
 void setStored(boolean value)
          Set to true to store this field.
 void setStoreTermVectorOffsets(boolean value)
          Set to true to also store token character offsets into the term vector for this field.
 void setStoreTermVectorPayloads(boolean value)
          Set to true to also store token payloads into the term vector for this field.
 void setStoreTermVectorPositions(boolean value)
          Set to true to also store token positions into the term vector for this field.
 void setStoreTermVectors(boolean value)
          Set to true if this field's indexed form should be also stored into term vectors.
 void setTokenized(boolean value)
          Set to true to tokenize this field's contents via the configured Analyzer.
 boolean stored()
          True if the field's value should be stored
 boolean 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 the Analyzer.
 String toString()
          Prints a Field for human consumption.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FieldType

public FieldType(FieldType ref)
Create a new mutable FieldType with all of the properties from ref


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 interface IndexableFieldType
See Also:
setIndexed(boolean)

setIndexed

public void setIndexed(boolean value)
Set to true 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 stored

The default is false.

Specified by:
stored in interface IndexableFieldType
See Also:
setStored(boolean)

setStored

public void setStored(boolean value)
Set to true 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 the Analyzer.

This has no effect if IndexableFieldType.indexed() returns false.

The default is true.

Specified by:
tokenized in interface IndexableFieldType
See Also:
setTokenized(boolean)

setTokenized

public void setTokenized(boolean value)
Set to true to tokenize this field's contents via the configured Analyzer.

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 interface IndexableFieldType
See Also:
setStoreTermVectors(boolean)

setStoreTermVectors

public void setStoreTermVectors(boolean value)
Set to true 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 interface IndexableFieldType
See Also:
setStoreTermVectorOffsets(boolean)

setStoreTermVectorOffsets

public void setStoreTermVectorOffsets(boolean value)
Set to true 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 interface IndexableFieldType
See Also:
setStoreTermVectorPositions(boolean)

setStoreTermVectorPositions

public void setStoreTermVectorPositions(boolean value)
Set to true 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 interface IndexableFieldType
See Also:
setStoreTermVectorPayloads(boolean)

setStoreTermVectorPayloads

public void setStoreTermVectorPayloads(boolean value)
Set to true 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 interface IndexableFieldType
See Also:
setOmitNorms(boolean)

setOmitNorms

public void setOmitNorms(boolean value)
Set to true 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 index

The default is FieldInfo.IndexOptions.DOCS_AND_FREQS_AND_POSITIONS.

Specified by:
indexOptions in interface IndexableFieldType
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 that NumericRangeQuery 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.

Overrides:
toString in class Object

docValueType

public FieldInfo.DocValuesType docValueType()
DocValues FieldInfo.DocValuesType: if non-null then the field's value will be indexed into docValues.

The default is null (no docValues)

Specified by:
docValueType in interface IndexableFieldType
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()


Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.