org.apache.lucene.analysis.fr

## Class FrenchStemFilter

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

-     public final class FrenchStemFilter
      extends TokenFilter

  A `TokenFilter` that stems french words.

  It supports a table of words that should not be stemmed at all. The used stemmer can be changed at runtime after the filter object is created (as long as it is a `FrenchStemmer`).

  NOTE: This stemmer does not implement the Snowball algorithm correctly, especially involving case problems. It is recommended that you consider using the "French" stemmer in the snowball package instead. This stemmer will likely be deprecated in a future release.

- - ### 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
    `FrenchStemFilter(TokenStream in)`
    `FrenchStemFilter(TokenStream in, java.util.Set exclusiontable)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `incrementToken()` Consumers (i.e., `IndexWriter`) use this method to advance the stream to the next token.
    `void` | `setExclusionTable(java.util.Map exclusiontable)` Set an alternative exclusion list for this filter.
    `void` | `setStemmer(FrenchStemmer stemmer)` Set a alternative/custom `FrenchStemmer` for this filter.

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

      `close, end, reset`

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

      `getOnlyUseNewAPI, next, next, setOnlyUseNewAPI`

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

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

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

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

- - ### Constructor Detail

    - #### FrenchStemFilter

          public FrenchStemFilter(TokenStream in)

    - #### FrenchStemFilter

          public FrenchStemFilter(TokenStream in,
                                  java.util.Set exclusiontable)

  - ### Method Detail

    - #### incrementToken

          public boolean incrementToken()
                                 throws java.io.IOException

      Description copied from class: `TokenStream`
      Consumers (i.e., `IndexWriter`) use this method to advance the stream to the next token. Implementing classes must implement this method and update the appropriate `AttributeImpl`s with the attributes of the next token.

      The producer must make no assumptions about the attributes after the method has been returned: the caller may arbitrarily change it. If the producer needs to preserve the state for subsequent calls, it can use `AttributeSource.captureState()` to create a copy of the current attribute state.

      This method is called for every token of a document, so an efficient implementation is crucial for good performance. To avoid calls to `AttributeSource.addAttribute(Class)` and `AttributeSource.getAttribute(Class)` or downcasts, references to all `AttributeImpl`s that this stream uses should be retrieved during instantiation.

      To ensure that filters and consumers know which attributes are available, the attributes must be added during instantiation. Filters and consumers are not required to check for availability of attributes in `TokenStream.incrementToken()`.

      Overrides:
        `incrementToken` in class `TokenStream`
      Returns:
        Returns true for the next token in the stream, or false at EOS
      Throws:
        `java.io.IOException`

    - #### setStemmer

          public void setStemmer(FrenchStemmer stemmer)

      Set a alternative/custom `FrenchStemmer` for this filter.

    - #### setExclusionTable

          public void setExclusionTable(java.util.Map exclusiontable)

      Set an alternative exclusion list for this filter.

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