org.apache.lucene.analysis.en

## Class KStemFilter

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

All Implemented Interfaces:
  Closeable, AutoCloseable

    public final class KStemFilter
    extends TokenFilter

A high-performance kstem filter for english.

See "Viewing Morphology as an Inference Process" (Krovetz, R., Proceedings of the Sixteenth Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, 191-203, 1993).

All terms must already be lowercased for this filter to work correctly.

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 and Description
`KStemFilter(TokenStream in)`

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `incrementToken()` Returns the next, stemmed, input Token.

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

`close, end, reset`

### 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

#### KStemFilter

    public KStemFilter(TokenStream in)

### Method Detail

#### incrementToken

    public boolean incrementToken()
                           throws IOException

Returns the next, stemmed, input Token.

Specified by:
  `incrementToken` in class `TokenStream`
Returns:
  The stemmed form of a token.
Throws:
  `IOException` - If there is a low-level I/O error.