Package org.apache.lucene.analysis.snowball

## Class SnowballFilter

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

- All Implemented Interfaces:
    `Closeable`, `AutoCloseable`, `Unwrappable<TokenStream>`

      public final class SnowballFilter
      extends TokenFilter

  A filter that stems words using a Snowball-generated stemmer.

  Available stemmers are listed in `org.tartarus.snowball.ext`.

  NOTE: SnowballFilter expects lowercased text.

  - For the Turkish language, see `TurkishLowerCaseFilter`.
  - For other languages, see `LowerCaseFilter`.

  Note: This filter is aware of the `KeywordAttribute`. To prevent certain terms from being passed to the stemmer `KeywordAttribute.isKeyword()` should be set to `true` in a previous `TokenStream`.

  Note: For including the original term as well as the stemmed version, see `KeywordRepeatFilterFactory`

- - ### Nested Class Summary

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

      `AttributeSource.State`

  - ### Field Summary

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

      `input`

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

      `DEFAULT_TOKEN_ATTRIBUTE_FACTORY`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SnowballFilter​(TokenStream in, String name)` | Construct the named stemming filter.
    `SnowballFilter​(TokenStream input, SnowballStemmer stemmer)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `incrementToken()` | Returns the next input Token, after being stemmed

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

      `close, end, reset, unwrap`

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

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

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

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

- - ### Constructor Detail

    - #### SnowballFilter

          public SnowballFilter​(TokenStream input,
                                SnowballStemmer stemmer)

    - #### SnowballFilter

          public SnowballFilter​(TokenStream in,
                                String name)

      Construct the named stemming filter.

      Available stemmers are listed in `org.tartarus.snowball.ext`. The name of a stemmer is the part of the class name before "Stemmer", e.g., the stemmer in `EnglishStemmer` is named "English".

      Parameters:
        `in` - the input tokens to stem
        `name` - the name of a stemmer

  - ### Method Detail

    - #### incrementToken

          public final boolean incrementToken()
                                       throws IOException

      Returns the next input Token, after being stemmed
      Specified by:
        `incrementToken` in class `TokenStream`
      Throws:
        `IOException`