Documentation of 'org.apache.lucene.index.MultiReader' Java class
MultiReader
org.apache.lucene.index

Class MultiReader



  • public class MultiReader
    extends IndexReader
    An IndexReader which reads multiple indexes, appending their content.
    • Constructor Detail

      • MultiReader

        public MultiReader(IndexReader[] subReaders)

        Construct a MultiReader aggregating the named set of (sub)readers. Directory locking for delete, undeleteAll, and setNorm operations is left to the subreaders.

        Note that all subreaders are closed if this Multireader is closed.

        Parameters:
        subReaders - set of (sub)readers
        Throws:
        java.io.IOException
      • MultiReader

        public MultiReader(IndexReader[] subReaders,
                           boolean closeSubReaders)

        Construct a MultiReader aggregating the named set of (sub)readers. Directory locking for delete, undeleteAll, and setNorm operations is left to the subreaders.

        Parameters:
        closeSubReaders - indicates whether the subreaders should be closed when this MultiReader is closed
        subReaders - set of (sub)readers
        Throws:
        java.io.IOException
    • Method Detail

      • reopen

        public IndexReader reopen()
                           throws CorruptIndexException,
                                  java.io.IOException
        Tries to reopen the subreaders.
        If one or more subreaders could be re-opened (i. e. subReader.reopen() returned a new instance != subReader), then a new MultiReader instance is returned, otherwise this instance is returned.

        A re-opened instance might share one or more subreaders with the old instance. Index modification operations result in undefined behavior when performed before the old instance is closed. (see IndexReader.reopen()).

        If subreaders are shared, then the reference count of those readers is increased to ensure that the subreaders remain open until the last referring reader is closed.

        Overrides:
        reopen in class IndexReader
        Throws:
        CorruptIndexException - if the index is corrupt
        java.io.IOException - if there is a low-level IO error
      • getTermFreqVectors

        public TermFreqVector[] getTermFreqVectors(int n)
                                            throws java.io.IOException
        Description copied from class: IndexReader
        Return an array of term frequency vectors for the specified document. The array contains a vector for each vectorized field in the document. Each vector contains terms and frequencies for all terms in a given vectorized field. If no such fields existed, the method returns null. The term vectors that are returned my either be of type TermFreqVector or of type TermPositionsVector if positions or offsets have been stored.
        Specified by:
        getTermFreqVectors in class IndexReader
        Parameters:
        n - document for which term frequency vectors are returned
        Returns:
        array of term frequency vectors. May be null if no term vectors have been stored for the specified document.
        Throws:
        java.io.IOException - if index cannot be accessed
        See Also:
        Field.TermVector
      • getTermFreqVector

        public TermFreqVector getTermFreqVector(int n,
                                                java.lang.String field)
                                         throws java.io.IOException
        Description copied from class: IndexReader
        Return a term frequency vector for the specified document and field. The returned vector contains terms and frequencies for the terms in the specified field of this document, if the field had the storeTermVector flag set. If termvectors had been stored with positions or offsets, a TermPositionsVector is returned.
        Specified by:
        getTermFreqVector in class IndexReader
        Parameters:
        n - document for which the term frequency vector is returned
        field - field for which the term frequency vector is returned.
        Returns:
        term frequency vector May be null if field does not exist in the specified document or term vector was not stored.
        Throws:
        java.io.IOException - if index cannot be accessed
        See Also:
        Field.TermVector
      • getTermFreqVector

        public void getTermFreqVector(int docNumber,
                                      java.lang.String field,
                                      TermVectorMapper mapper)
                               throws java.io.IOException
        Description copied from class: IndexReader
        Load the Term Vector into a user-defined data structure instead of relying on the parallel arrays of the TermFreqVector.
        Specified by:
        getTermFreqVector in class IndexReader
        Parameters:
        docNumber - The number of the document to load the vector for
        field - The name of the field to load
        mapper - The TermVectorMapper to process the vector. Must not be null
        Throws:
        java.io.IOException - if term vectors cannot be accessed or if they do not exist on the field and doc. specified.
      • getTermFreqVector

        public void getTermFreqVector(int docNumber,
                                      TermVectorMapper mapper)
                               throws java.io.IOException
        Description copied from class: IndexReader
        Map all the term vectors for all fields in a Document
        Specified by:
        getTermFreqVector in class IndexReader
        Parameters:
        docNumber - The number of the document to load the vector for
        mapper - The TermVectorMapper to process the vector. Must not be null
        Throws:
        java.io.IOException - if term vectors cannot be accessed or if they do not exist on the field and doc. specified.
      • isOptimized

        public boolean isOptimized()
        Description copied from class: IndexReader
        Checks is the index is optimized (if it has a single segment and no deletions). Not implemented in the IndexReader base class.
        Overrides:
        isOptimized in class IndexReader
        Returns:
        true if the index is optimized; false otherwise
      • numDocs

        public int numDocs()
        Description copied from class: IndexReader
        Returns the number of documents in this index.
        Specified by:
        numDocs in class IndexReader
      • maxDoc

        public int maxDoc()
        Description copied from class: IndexReader
        Returns one greater than the largest possible document number. This may be used to, e.g., determine how big to allocate an array which will have an element for every document number in an index.
        Specified by:
        maxDoc in class IndexReader
      • document

        public Document document(int n,
                                 FieldSelector fieldSelector)
                          throws CorruptIndexException,
                                 java.io.IOException
        Description copied from class: IndexReader
        Get the Document at the nth position. The FieldSelector may be used to determine what Fields to load and how they should be loaded. NOTE: If this Reader (more specifically, the underlying FieldsReader) is closed before the lazy Field is loaded an exception may be thrown. If you want the value of a lazy Field to be available after closing you must explicitly load it or fetch the Document again with a new loader.
        Specified by:
        document in class IndexReader
        Parameters:
        n - Get the document at the nth position
        fieldSelector - The FieldSelector to use to determine what Fields should be loaded on the Document. May be null, in which case all Fields will be loaded.
        Returns:
        The stored fields of the Document at the nth position
        Throws:
        CorruptIndexException - if the index is corrupt
        java.io.IOException - if there is a low-level IO error
        See Also:
        Fieldable, FieldSelector, SetBasedFieldSelector, LoadFirstFieldSelector
      • isDeleted

        public boolean isDeleted(int n)
        Description copied from class: IndexReader
        Returns true if document n has been deleted
        Specified by:
        isDeleted in class IndexReader
      • hasDeletions

        public boolean hasDeletions()
        Description copied from class: IndexReader
        Returns true if any documents have been deleted
        Specified by:
        hasDeletions in class IndexReader
      • hasNorms

        public boolean hasNorms(java.lang.String field)
                         throws java.io.IOException
        Description copied from class: IndexReader
        Returns true if there are norms stored for this field.
        Overrides:
        hasNorms in class IndexReader
        Throws:
        java.io.IOException
      • norms

        public byte[] norms(java.lang.String field)
                     throws java.io.IOException
        Description copied from class: IndexReader
        Returns the byte-encoded normalization factor for the named field of every document. This is used by the search code to score documents.
        Specified by:
        norms in class IndexReader
        Throws:
        java.io.IOException
        See Also:
        AbstractField.setBoost(float)
      • norms

        public void norms(java.lang.String field,
                          byte[] result,
                          int offset)
                   throws java.io.IOException
        Description copied from class: IndexReader
        Reads the byte-encoded normalization factor for the named field of every document. This is used by the search code to score documents.
        Specified by:
        norms in class IndexReader
        Throws:
        java.io.IOException
        See Also:
        AbstractField.setBoost(float)
      • terms

        public TermEnum terms()
                       throws java.io.IOException
        Description copied from class: IndexReader
        Returns an enumeration of all the terms in the index. The enumeration is ordered by Term.compareTo(). Each term is greater than all that precede it in the enumeration. Note that after calling terms(), TermEnum.next() must be called on the resulting enumeration before calling other methods such as TermEnum.term().
        Specified by:
        terms in class IndexReader
        Throws:
        java.io.IOException - if there is a low-level IO error
      • terms

        public TermEnum terms(Term term)
                       throws java.io.IOException
        Description copied from class: IndexReader
        Returns an enumeration of all terms starting at a given term. If the given term does not exist, the enumeration is positioned at the first term greater than the supplied therm. The enumeration is ordered by Term.compareTo(). Each term is greater than all that precede it in the enumeration.
        Specified by:
        terms in class IndexReader
        Throws:
        java.io.IOException - if there is a low-level IO error
      • docFreq

        public int docFreq(Term t)
                    throws java.io.IOException
        Description copied from class: IndexReader
        Returns the number of documents containing the term t.
        Specified by:
        docFreq in class IndexReader
        Throws:
        java.io.IOException - if there is a low-level IO error
      • termDocs

        public TermDocs termDocs()
                          throws java.io.IOException
        Description copied from class: IndexReader
        Returns an unpositioned TermDocs enumerator.
        Specified by:
        termDocs in class IndexReader
        Throws:
        java.io.IOException - if there is a low-level IO error
      • getFieldNames

        public java.util.Collection getFieldNames(IndexReader.FieldOption fieldNames)
        Description copied from class: IndexReader
        Get a list of unique field names that exist in this index and have the specified field option information.
        Specified by:
        getFieldNames in class IndexReader
        Parameters:
        fieldNames - specifies which field option should be available for the returned fields
        Returns:
        Collection of Strings indicating the names of the fields.
        See Also:
        IndexReader.FieldOption
      • getVersion

        public long getVersion()
        Not implemented.
        Overrides:
        getVersion in class IndexReader
        Throws:
        java.lang.UnsupportedOperationException

DataMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.