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.
  • 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