org.apache.lucene.index

## Class FieldInfos

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

- All Implemented Interfaces:
    Iterable<FieldInfo>

      public class FieldInfos
      extends Object
      implements Iterable<FieldInfo>

  Collection of `FieldInfo`s (accessible by number or by name).
  WARNING: This API is experimental and might change in incompatible ways in the next release.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static FieldInfos` | `EMPTY` An instance without any fields.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FieldInfos(FieldInfo[] infos)` Constructs a new FieldInfos from an array of FieldInfo objects

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `FieldInfo` | `fieldInfo(int fieldNumber)` Return the fieldinfo object referenced by the fieldNumber.
    `FieldInfo` | `fieldInfo(String fieldName)` Return the fieldinfo object referenced by the field name
    `static Collection<String>` | `getIndexedFields(IndexReader reader)` Returns a set of names of fields that have a terms index.
    `static FieldInfos` | `getMergedFieldInfos(IndexReader reader)` Call this to get the (merged) FieldInfos for a composite reader.
    `String` | `getSoftDeletesField()` Returns the soft-deletes field name if exists; otherwise returns null
    `boolean` | `hasDocValues()` Returns true if any fields have DocValues
    `boolean` | `hasFreq()` Returns true if any fields have freqs
    `boolean` | `hasNorms()` Returns true if any fields have norms
    `boolean` | `hasOffsets()` Returns true if any fields have offsets
    `boolean` | `hasPayloads()` Returns true if any fields have payloads
    `boolean` | `hasPointValues()` Returns true if any fields have PointValues
    `boolean` | `hasProx()` Returns true if any fields have positions
    `boolean` | `hasVectors()` Returns true if any fields have vectors
    `Iterator<FieldInfo>` | `iterator()` Returns an iterator over all the fieldinfo objects present, ordered by ascending field number
    `int` | `size()` Returns the number of fields

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

    - #### EMPTY

          public static final FieldInfos EMPTY

      An instance without any fields.

  - ### Constructor Detail

    - #### FieldInfos

          public FieldInfos(FieldInfo[] infos)

      Constructs a new FieldInfos from an array of FieldInfo objects

  - ### Method Detail

    - #### getMergedFieldInfos

          public static FieldInfos getMergedFieldInfos(IndexReader reader)

      Call this to get the (merged) FieldInfos for a composite reader.

      NOTE: the returned field numbers will likely not correspond to the actual field numbers in the underlying readers, and codec metadata (`FieldInfo.getAttribute(String)` will be unavailable.

    - #### getIndexedFields

          public static Collection<String> getIndexedFields(IndexReader reader)

      Returns a set of names of fields that have a terms index. The order is undefined.

    - #### hasFreq

          public boolean hasFreq()

      Returns true if any fields have freqs

    - #### hasProx

          public boolean hasProx()

      Returns true if any fields have positions

    - #### hasPayloads

          public boolean hasPayloads()

      Returns true if any fields have payloads

    - #### hasOffsets

          public boolean hasOffsets()

      Returns true if any fields have offsets

    - #### hasVectors

          public boolean hasVectors()

      Returns true if any fields have vectors

    - #### hasNorms

          public boolean hasNorms()

      Returns true if any fields have norms

    - #### hasDocValues

          public boolean hasDocValues()

      Returns true if any fields have DocValues

    - #### hasPointValues

          public boolean hasPointValues()

      Returns true if any fields have PointValues

    - #### getSoftDeletesField

          public String getSoftDeletesField()

      Returns the soft-deletes field name if exists; otherwise returns null

    - #### size

          public int size()

      Returns the number of fields

    - #### iterator

          public Iterator<FieldInfo> iterator()

      Returns an iterator over all the fieldinfo objects present, ordered by ascending field number
      Specified by:
        `iterator` in interface `Iterable<FieldInfo>`

    - #### fieldInfo

          public FieldInfo fieldInfo(String fieldName)

      Return the fieldinfo object referenced by the field name
      Returns:
        the FieldInfo object or null when the given fieldName doesn't exist.

    - #### fieldInfo

          public FieldInfo fieldInfo(int fieldNumber)

      Return the fieldinfo object referenced by the fieldNumber.
      Parameters:
        `fieldNumber` - field's number.
      Returns:
        the FieldInfo object or null when the given fieldNumber doesn't exist.
      Throws:
        `IllegalArgumentException` - if fieldNumber is negative

Copyright © 2000-2024 Apache Software Foundation. All Rights Reserved.