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`