Package 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`, `Unwrappable<TokenStream>`

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

## Method Summary

Modifier and Type
Method
Description
`boolean`
`incrementToken()`
Returns the next, stemmed, input Token.

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

### KStemFilter

public KStemFilter(TokenStream in)

## Method Details

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