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 final FieldType`
  `TYPE_NOT_STORED`
  Indexed, tokenized, not stored.
  `static final FieldType`
  `TYPE_STORED`
  Indexed, tokenized, stored.

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

  `fieldsData, name, 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

  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 Details

  - ### 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 Details

  - ### 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 Details

  - ### 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`