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

    All Methods Static Methods Instance Methods Concrete Methods
    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 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, initReader, initReaderForNormalization, normalize, 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`