org.apache.lucene.analysis.util

## Class FilteringTokenFilter

- java.lang.Object
- - org.apache.lucene.util.AttributeSource
  - - org.apache.lucene.analysis.TokenStream
    - - org.apache.lucene.analysis.TokenFilter
      - - org.apache.lucene.analysis.util.FilteringTokenFilter

- All Implemented Interfaces:
    Closeable, AutoCloseable
  Direct Known Subclasses:
    KeepWordFilter, LengthFilter, StopFilter, TypeTokenFilter

      public abstract class FilteringTokenFilter
      extends TokenFilter

  Abstract base class for TokenFilters that may remove tokens. You have to implement `accept()` and return a boolean if the current token should be preserved. `incrementToken()` uses this method to decide if a token should be passed to the caller.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.lucene.util.AttributeSource

      `AttributeSource.AttributeFactory, AttributeSource.State`

  - ### Field Summary

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

      `input`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FilteringTokenFilter(boolean enablePositionIncrements, TokenStream input)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected abstract boolean` | `accept()` Override this method and return if the current input token should be returned by `incrementToken()`.
    `boolean` | `getEnablePositionIncrements()`
    `boolean` | `incrementToken()`
    `void` | `reset()`
    `void` | `setEnablePositionIncrements(boolean enable)` If `true`, this TokenFilter will preserve positions of the incoming tokens (ie, accumulate and set position increments of the removed tokens).

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

      `close, end`

    - ### Methods inherited from class org.apache.lucene.util.AttributeSource

      `addAttribute, addAttributeImpl, captureState, clearAttributes, cloneAttributes, copyTo, equals, getAttribute, getAttributeClassesIterator, getAttributeFactory, getAttributeImplsIterator, hasAttribute, hasAttributes, hashCode, reflectAsString, reflectWith, restoreState`

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

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

- - ### Constructor Detail

    - #### FilteringTokenFilter

          public FilteringTokenFilter(boolean enablePositionIncrements,
                              TokenStream input)

  - ### Method Detail

    - #### accept

          protected abstract boolean accept()
                                     throws IOException

      Override this method and return if the current input token should be returned by `incrementToken()`.
      Throws:
        `IOException`

    - #### incrementToken

          public final boolean incrementToken()
                                       throws IOException

      Specified by:
        `incrementToken` in class `TokenStream`
      Throws:
        `IOException`

    - #### reset

          public void reset()
                     throws IOException

      Overrides:
        `reset` in class `TokenFilter`
      Throws:
        `IOException`

    - #### getEnablePositionIncrements

          public boolean getEnablePositionIncrements()

      See Also:
        `setEnablePositionIncrements(boolean)`

    - #### setEnablePositionIncrements

          public void setEnablePositionIncrements(boolean enable)

      If `true`, this TokenFilter will preserve positions of the incoming tokens (ie, accumulate and set position increments of the removed tokens). Generally, `true` is best as it does not lose information (positions of the original tokens) during indexing.

      When set, when a token is stopped (omitted), the position increment of the following token is incremented.

      NOTE: be sure to also set org.apache.lucene.queryparser.classic.QueryParser#setEnablePositionIncrements if you use QueryParser to create queries.

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