Package org.apache.lucene.analysis.de

# Class GermanAnalyzer

java.lang.Object
org.apache.lucene.analysis.Analyzer
org.apache.lucene.analysis.StopwordAnalyzerBase
org.apache.lucene.analysis.de.GermanAnalyzer

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`

public final class GermanAnalyzer extends StopwordAnalyzerBase
`Analyzer` for German language.

Supports an external list of stopwords (words that will not be indexed at all) and an external list of exclusions (word that will not be stemmed, but indexed). A default set of stopwords is used unless an alternative list is specified, but the exclusion list is empty by default.

NOTE: This class uses the same `Version` dependent settings as `StandardAnalyzer`.

NOTE: This class does not decompound nouns, additional data files are needed, incompatible with the Apache 2.0 License. You can find these data files and example code for decompounding here.

Since:
  3.1
See Also:
  - https://github.com/uschindler/german-decompounder

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class org.apache.lucene.analysis.Analyzer

  `Analyzer.ReuseStrategy, Analyzer.TokenStreamComponents`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `DEFAULT_STOPWORD_FILE`
  File containing default German stopwords.

  ### Fields inherited from class org.apache.lucene.analysis.StopwordAnalyzerBase

  `stopwords`

  ### Fields inherited from class org.apache.lucene.analysis.Analyzer

  `GLOBAL_REUSE_STRATEGY, PER_FIELD_REUSE_STRATEGY`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `GermanAnalyzer()`
  Builds an analyzer with the default stop words: `getDefaultStopSet()`.
  `GermanAnalyzer(CharArraySet stopwords)`
  Builds an analyzer with the given stop words
  `GermanAnalyzer(CharArraySet stopwords, CharArraySet stemExclusionSet)`
  Builds an analyzer with the given stop words

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected Analyzer.TokenStreamComponents`
  `createComponents(String fieldName)`
  Creates `Analyzer.TokenStreamComponents` used to tokenize all the text in the provided `Reader`.
  `static final CharArraySet`
  `getDefaultStopSet()`
  Returns a set of default German-stopwords
  `protected TokenStream`
  `normalize(String fieldName, TokenStream in)`

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

  `getStopwordSet, loadStopwordSet, loadStopwordSet`

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

  `attributeFactory, close, getOffsetGap, getPositionIncrementGap, getReuseStrategy, initReader, initReaderForNormalization, normalize, tokenStream, tokenStream`

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

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### DEFAULT_STOPWORD_FILE

    public static final String DEFAULT_STOPWORD_FILE
    File containing default German stopwords.
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### GermanAnalyzer

    public GermanAnalyzer()
    Builds an analyzer with the default stop words: `getDefaultStopSet()`.

  - ### GermanAnalyzer

    public GermanAnalyzer(CharArraySet stopwords)
    Builds an analyzer with the given stop words
    Parameters:
      `stopwords` - a stopword set

  - ### GermanAnalyzer

    public GermanAnalyzer(CharArraySet stopwords, CharArraySet stemExclusionSet)
    Builds an analyzer with the given stop words
    Parameters:
      `stopwords` - a stopword set
      `stemExclusionSet` - a stemming exclusion set

- ## Method Details

  - ### getDefaultStopSet

    public static final CharArraySet getDefaultStopSet()
    Returns a set of default German-stopwords
    Returns:
      a set of default German-stopwords

  - ### createComponents

    protected Analyzer.TokenStreamComponents createComponents(String fieldName)
    Creates `Analyzer.TokenStreamComponents` used to tokenize all the text in the provided `Reader`.
    Specified by:
      `createComponents` in class `Analyzer`
    Returns:
      `Analyzer.TokenStreamComponents` built from a `StandardTokenizer` filtered with `LowerCaseFilter`, `StopFilter`, `SetKeywordMarkerFilter` if a stem exclusion set is provided, `GermanNormalizationFilter` and `GermanLightStemFilter`

  - ### normalize

    protected TokenStream normalize(String fieldName, TokenStream in)
    Overrides:
      `normalize` in class `Analyzer`