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
`static 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 and 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

All Methods Static Methods Instance Methods Concrete Methods
`protected Analyzer.TokenStreamComponents` `createComponents(String fieldName)` Creates `Analyzer.TokenStreamComponents` used to tokenize all the text in the provided `Reader`.
`static 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, loadStopwordSet`

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

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

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

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

### Field Detail

#### DEFAULT_STOPWORD_FILE

    public static final String DEFAULT_STOPWORD_FILE

File containing default German stopwords.

See Also:
  Constant Field Values

### Constructor Detail

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

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