org.apache.lucene.index

## Class Fields

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

All Implemented Interfaces:
  Iterable<String>

Direct Known Subclasses:
  FieldsProducer, FilterAtomicReader.FilterFields, MultiFields

    public abstract class Fields
    extends Object
    implements Iterable<String>

Flex API for access to fields and terms

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

### Field Summary

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

### Constructor Summary

Constructors
`protected` `Fields()` Sole constructor.

### Method Summary

Methods
`long` `getUniqueTermCount()` Deprecated. iterate fields and add their size() instead. this method is only provided as a transition mechanism to access this statistic for 3.x indexes, which do not have this statistic per-field.
`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`

### Field Detail

#### EMPTY_ARRAY

    public static final Fields[] EMPTY_ARRAY

Zero-length `Fields` array.

### Constructor Detail

#### Fields

    protected Fields()

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

### Method Detail

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

#### getUniqueTermCount

    @Deprecated
    public long getUniqueTermCount()
                            throws IOException

Deprecated. iterate fields and add their size() instead. this method is only provided as a transition mechanism to access this statistic for 3.x indexes, which do not have this statistic per-field.
Returns the number of terms for all fields, or -1 if this measure isn't stored by the codec. Note that, just like other term measures, this measure does not take deleted documents into account.

Throws:
  `IOException`
See Also:
  `Terms.size()`