Package org.apache.lucene.analysis.miscellaneous

## Class LimitTokenCountAnalyzer

- java.lang.Object
- - org.apache.lucene.analysis.Analyzer
  - - org.apache.lucene.analysis.AnalyzerWrapper
    - - org.apache.lucene.analysis.miscellaneous.LimitTokenCountAnalyzer

- All Implemented Interfaces:
    `Closeable`, `AutoCloseable`

      public final class LimitTokenCountAnalyzer
      extends AnalyzerWrapper

  This Analyzer limits the number of tokens while indexing. It is a replacement for the maximum field length setting inside `IndexWriter`.
  Since:
    3.1
  See Also:
    `LimitTokenCountFilter`

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.lucene.analysis.Analyzer

      `Analyzer.ReuseStrategy, Analyzer.TokenStreamComponents`

  - ### Field Summary

    - ### Fields inherited from class org.apache.lucene.analysis.Analyzer

      `GLOBAL_REUSE_STRATEGY, PER_FIELD_REUSE_STRATEGY`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `LimitTokenCountAnalyzer​(Analyzer delegate, int maxTokenCount)` | Build an analyzer that limits the maximum number of tokens per field.
    `LimitTokenCountAnalyzer​(Analyzer delegate, int maxTokenCount, boolean consumeAllTokens)` | Build an analyzer that limits the maximum number of tokens per field.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected Analyzer` | `getWrappedAnalyzer​(String fieldName)` |
    `String` | `toString()` |
    `protected Analyzer.TokenStreamComponents` | `wrapComponents​(String fieldName, Analyzer.TokenStreamComponents components)` |

    - ### Methods inherited from class org.apache.lucene.analysis.AnalyzerWrapper

      `attributeFactory, createComponents, getOffsetGap, getPositionIncrementGap, initReader, initReaderForNormalization, normalize, wrapReader, wrapReaderForNormalization, wrapTokenStreamForNormalization`

    - ### Methods inherited from class org.apache.lucene.analysis.Analyzer

      `close, getReuseStrategy, normalize, tokenStream, tokenStream`

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

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

- - ### Constructor Detail

    - #### LimitTokenCountAnalyzer

          public LimitTokenCountAnalyzer​(Analyzer delegate,
                                         int maxTokenCount)

      Build an analyzer that limits the maximum number of tokens per field. This analyzer will not consume any tokens beyond the maxTokenCount limit
      See Also:
        `LimitTokenCountAnalyzer(Analyzer,int,boolean)`

    - #### LimitTokenCountAnalyzer

          public LimitTokenCountAnalyzer​(Analyzer delegate,
                                         int maxTokenCount,
                                         boolean consumeAllTokens)

      Build an analyzer that limits the maximum number of tokens per field.
      Parameters:
        `delegate` - the analyzer to wrap
        `maxTokenCount` - max number of tokens to produce
        `consumeAllTokens` - whether all tokens from the delegate should be consumed even if maxTokenCount is reached.

  - ### Method Detail

    - #### getWrappedAnalyzer

          protected Analyzer getWrappedAnalyzer​(String fieldName)

      Specified by:
        `getWrappedAnalyzer` in class `AnalyzerWrapper`

    - #### wrapComponents

          protected Analyzer.TokenStreamComponents wrapComponents​(String fieldName,
                                                                  Analyzer.TokenStreamComponents components)

      Overrides:
        `wrapComponents` in class `AnalyzerWrapper`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`