Package org.apache.lucene.document

## Class TextField

- java.lang.Object
- - org.apache.lucene.document.Field
  - - org.apache.lucene.document.TextField

- All Implemented Interfaces:
    `IndexableField`

      public final class TextField
      extends Field

  A field that is indexed and tokenized, without term vectors. For example this would be used on a 'body' field, that contains the bulk of a document's text.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.lucene.document.Field

      `Field.Store`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static FieldType` | `TYPE_NOT_STORED` | Indexed, tokenized, not stored.
    `static FieldType` | `TYPE_STORED` | Indexed, tokenized, stored.

    - ### Fields inherited from class org.apache.lucene.document.Field

      `fieldsData, name, tokenStream, type`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `TextField​(String name, Reader reader)` | Creates a new un-stored TextField with Reader value.
    `TextField​(String name, String value, Field.Store store)` | Creates a new TextField with String value.
    `TextField​(String name, TokenStream stream)` | Creates a new un-stored TextField with TokenStream value.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `setStringValue​(String value)` | Expert: change the value of this field.
    `StoredValue` | `storedValue()` | Stored value.

    - ### Methods inherited from class org.apache.lucene.document.Field

      `binaryValue, fieldType, getCharSequenceValue, invertableType, name, numericValue, readerValue, setBytesValue, setBytesValue, setByteValue, setDoubleValue, setFloatValue, setIntValue, setLongValue, setReaderValue, setShortValue, setTokenStream, stringValue, tokenStream, tokenStreamValue, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### TYPE_NOT_STORED

          public static final FieldType TYPE_NOT_STORED

      Indexed, tokenized, not stored.

    - #### TYPE_STORED

          public static final FieldType TYPE_STORED

      Indexed, tokenized, stored.

  - ### Constructor Detail

    - #### TextField

          public TextField​(String name,
                           Reader reader)

      Creates a new un-stored TextField with Reader value.
      Parameters:
        `name` - field name
        `reader` - reader value
      Throws:
        `IllegalArgumentException` - if the field name is null
        `NullPointerException` - if the reader is null

    - #### TextField

          public TextField​(String name,
                           String value,
                           Field.Store store)

      Creates a new TextField with String value.
      Parameters:
        `name` - field name
        `value` - string value
        `store` - Store.YES if the content should also be stored
      Throws:
        `IllegalArgumentException` - if the field name or value is null.

    - #### TextField

          public TextField​(String name,
                           TokenStream stream)

      Creates a new un-stored TextField with TokenStream value.
      Parameters:
        `name` - field name
        `stream` - TokenStream value
      Throws:
        `IllegalArgumentException` - if the field name is null.
        `NullPointerException` - if the tokenStream is null

  - ### Method Detail

    - #### setStringValue

          public void setStringValue​(String value)

      Description copied from class: `Field`
      Expert: change the value of this field. This can be used during indexing to re-use a single Field instance to improve indexing speed by avoiding GC cost of new'ing and reclaiming Field instances. Typically a single `Document` instance is re-used as well. This helps most on small documents.

      Each Field instance should only be used once within a single `Document` instance. See ImproveIndexingSpeed for details.

      Overrides:
        `setStringValue` in class `Field`

    - #### storedValue

          public StoredValue storedValue()

      Description copied from interface: `IndexableField`
      Stored value. This method is called to populate stored fields and must return a non-null value if the field stored.
      Specified by:
        `storedValue` in interface `IndexableField`
      Overrides:
        `storedValue` in class `Field`