Class BlockTermsReader

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, java.lang.Iterable<java.lang.String>

    public class BlockTermsReader
    extends FieldsProducer
    Handles a terms dict, but decouples all details of doc/freqs/positions reading to an instance of PostingsReaderBase. This class is reusable for codecs that use a different format for docs/freqs/positions (though codecs are also free to make their own terms dict impl).

    This class also interacts with an instance of TermsIndexReaderBase, to abstract away the specific implementation of the terms dict index.

    • Method Detail

      • seekDir

        private void seekDir​(IndexInput input)
                      throws java.io.IOException
        Throws:
        java.io.IOException
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in class FieldsProducer
        Throws:
        java.io.IOException
      • iterator

        public java.util.Iterator<java.lang.String> iterator()
        Description copied from class: Fields
        Returns an iterator that will step through all fields names. This will not return null.
        Specified by:
        iterator in interface java.lang.Iterable<java.lang.String>
        Specified by:
        iterator in class Fields
      • terms

        public Terms terms​(java.lang.String field)
                    throws java.io.IOException
        Description copied from class: Fields
        Get the Terms for this field. This will return null if the field does not exist.
        Specified by:
        terms in class Fields
        Throws:
        java.io.IOException
      • size

        public int size()
        Description copied from class: Fields
        Returns the number of fields or -1 if the number of distinct field names is unknown. If >= 0, Fields.iterator() will return as many field names.
        Specified by:
        size in class Fields
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • checkIntegrity

        public void checkIntegrity()
                            throws java.io.IOException
        Description copied from class: FieldsProducer
        Checks consistency of this reader.

        Note that this may be costly in terms of I/O, e.g. may involve computing a checksum value against large data files.

        Specified by:
        checkIntegrity in class FieldsProducer
        Throws:
        java.io.IOException