org.apache.lucene.index

## Class TermVectorMapper

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

- Direct Known Subclasses:
    FieldSortedTermVectorMapper, PositionBasedTermVectorMapper, SortedTermVectorMapper

      public abstract class TermVectorMapper
      extends java.lang.Object

  The TermVectorMapper can be used to map Term Vectors into your own structure instead of the parallel array structure used by `IndexReader.getTermFreqVector(int,String)`.

  It is up to the implementation to make sure it is thread-safe.

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `TermVectorMapper()`
    `protected` | `TermVectorMapper(boolean ignoringPositions, boolean ignoringOffsets)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `isIgnoringOffsets()`
    `boolean` | `isIgnoringPositions()` Indicate to Lucene that even if there are positions stored, this mapper is not interested in them and they can be skipped over.
    `abstract void` | `map(java.lang.String term, int frequency, TermVectorOffsetInfo[] offsets, int[] positions)` Map the Term Vector information into your own structure
    `void` | `setDocumentNumber(int documentNumber)` Passes down the index of the document whose term vector is currently being mapped, once for each top level call to a term vector reader.
    `abstract void` | `setExpectations(java.lang.String field, int numTerms, boolean storeOffsets, boolean storePositions)` Tell the mapper what to expect in regards to field, number of terms, offset and position storage.

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

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

- - ### Constructor Detail

    - #### TermVectorMapper

          protected TermVectorMapper()

    - #### TermVectorMapper

          protected TermVectorMapper(boolean ignoringPositions,
                                     boolean ignoringOffsets)

      Parameters:
        `ignoringPositions` - true if this mapper should tell Lucene to ignore positions even if they are stored
        `ignoringOffsets` - similar to ignoringPositions

  - ### Method Detail

    - #### setExpectations

          public abstract void setExpectations(java.lang.String field,
                                               int numTerms,
                                               boolean storeOffsets,
                                               boolean storePositions)

      Tell the mapper what to expect in regards to field, number of terms, offset and position storage. This method will be called once before retrieving the vector for a field. This method will be called before `map(String,int,TermVectorOffsetInfo[],int[])`.
      Parameters:
        `field` - The field the vector is for
        `numTerms` - The number of terms that need to be mapped
        `storeOffsets` - true if the mapper should expect offset information
        `storePositions` - true if the mapper should expect positions info

    - #### map

          public abstract void map(java.lang.String term,
                                   int frequency,
                                   TermVectorOffsetInfo[] offsets,
                                   int[] positions)

      Map the Term Vector information into your own structure
      Parameters:
        `term` - The term to add to the vector
        `frequency` - The frequency of the term in the document
        `offsets` - null if the offset is not specified, otherwise the offset into the field of the term
        `positions` - null if the position is not specified, otherwise the position in the field of the term

    - #### isIgnoringPositions

          public boolean isIgnoringPositions()

      Indicate to Lucene that even if there are positions stored, this mapper is not interested in them and they can be skipped over. Derived classes should set this to true if they want to ignore positions. The default is false, meaning positions will be loaded if they are stored.
      Returns:
        false

    - #### isIgnoringOffsets

          public boolean isIgnoringOffsets()

      Returns:
        false
      See Also:
        `Same principal as {@link #isIgnoringPositions()}, but applied to offsets. false by default.`

    - #### setDocumentNumber

          public void setDocumentNumber(int documentNumber)

      Passes down the index of the document whose term vector is currently being mapped, once for each top level call to a term vector reader.

      Default implementation IGNORES the document number. Override if your implementation needs the document number.

      NOTE: Document numbers are internal to Lucene and subject to change depending on indexing operations.
      Parameters:
        `documentNumber` - index of document currently being mapped

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