Package org.apache.lucene.index

# Class Fields

java.lang.Object
org.apache.lucene.index.Fields

All Implemented Interfaces:
  `Iterable<String>`

Direct Known Subclasses:
  `FieldsProducer`, `FilterLeafReader.FilterFields`, `MultiFields`

public abstract class Fields extends Object implements Iterable<String>
Provides a `Terms` index for fields that have it, and lists which fields do. This is primarily an internal/experimental API (see `FieldsProducer`), although it is also used to expose the set of term vectors per document.

WARNING: This API is experimental and might change in incompatible ways in the next release.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final Fields[]`
  `EMPTY_ARRAY`
  Zero-length `Fields` array.

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `Fields()`
  Sole constructor.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract Iterator<String>`
  `iterator()`
  Returns an iterator that will step through all fields names.
  `abstract int`
  `size()`
  Returns the number of fields or -1 if the number of distinct field names is unknown.
  `abstract Terms`
  `terms(String field)`
  Get the `Terms` for this field.

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

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

  ### Methods inherited from interface java.lang.Iterable

  `forEach, spliterator`

- ## Field Details

  - ### EMPTY_ARRAY

    public static final Fields[] EMPTY_ARRAY
    Zero-length `Fields` array.

- ## Constructor Details

  - ### Fields

    protected Fields()
    Sole constructor. (For invocation by subclass constructors, typically implicit.)

- ## Method Details

  - ### iterator

    public abstract Iterator<String> iterator()
    Returns an iterator that will step through all fields names. This will not return null.
    Specified by:
      `iterator` in interface `Iterable<String>`

  - ### terms

    public abstract Terms terms(String field) throws IOException
    Get the `Terms` for this field. This will return null if the field does not exist.
    Throws:
      `IOException`

  - ### size

    public abstract int size()
    Returns the number of fields or -1 if the number of distinct field names is unknown. If >= 0, `iterator()` will return as many field names.