## org.apache.lucene.document
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
`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.