KStemFilter (Lucene 10.5.1 common API)
Description: declaration: package: org.apache.lucene.analysis.en, class: KStemFilter

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.