Package org.apache.lucene.analysis.email

# Class UAX29URLEmailAnalyzer

java.lang.Object
org.apache.lucene.analysis.Analyzer
org.apache.lucene.analysis.StopwordAnalyzerBase
org.apache.lucene.analysis.email.UAX29URLEmailAnalyzer

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`

public final class UAX29URLEmailAnalyzer extends StopwordAnalyzerBase
Filters `UAX29URLEmailTokenizer` with `LowerCaseFilter` and `StopFilter`, using a list of English stop words.

Since:
  3.6.0

- ## 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 int`
  `DEFAULT_MAX_TOKEN_LENGTH`
  Default maximum allowed token length
  `static final CharArraySet`
  `STOP_WORDS_SET`
  An unmodifiable set containing some common English words that are usually not useful for searching.

  ### 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
  `UAX29URLEmailAnalyzer()`
  Builds an analyzer with the default stop words (`STOP_WORDS_SET`).
  `UAX29URLEmailAnalyzer(Reader stopwords)`
  Builds an analyzer with the stop words from the given reader.
  `UAX29URLEmailAnalyzer(CharArraySet stopWords)`
  Builds an analyzer with the given stop words.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected Analyzer.TokenStreamComponents`
  `createComponents(String fieldName)`
  `int`
  `getMaxTokenLength()`
  `protected TokenStream`
  `normalize(String fieldName, TokenStream in)`
  `void`
  `setMaxTokenLength(int length)`
  Set the max allowed token length.

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

    public static final int DEFAULT_MAX_TOKEN_LENGTH
    Default maximum allowed token length
    See Also:
      - Constant Field Values

  - ### STOP_WORDS_SET

    public static final CharArraySet STOP_WORDS_SET
    An unmodifiable set containing some common English words that are usually not useful for searching.

- ## Constructor Details

  - ### UAX29URLEmailAnalyzer

    public UAX29URLEmailAnalyzer(CharArraySet stopWords)
    Builds an analyzer with the given stop words.
    Parameters:
      `stopWords` - stop words

  - ### UAX29URLEmailAnalyzer

    public UAX29URLEmailAnalyzer()
    Builds an analyzer with the default stop words (`STOP_WORDS_SET`).

  - ### UAX29URLEmailAnalyzer

    public UAX29URLEmailAnalyzer(Reader stopwords) throws IOException
    Builds an analyzer with the stop words from the given reader.
    Parameters:
      `stopwords` - Reader to read stop words from
    Throws:
      `IOException`
    See Also:
      - `WordlistLoader.getWordSet(java.io.Reader)`

- ## Method Details

  - ### setMaxTokenLength

    public void setMaxTokenLength(int length)
    Set the max allowed token length. Tokens larger than this will be chopped up at this token length and emitted as multiple tokens. If you need to skip such large tokens, you could increase this max length, and then use `LengthFilter` to remove long tokens. The default is `DEFAULT_MAX_TOKEN_LENGTH`.

  - ### getMaxTokenLength

    public int getMaxTokenLength()
    See Also:
      - `setMaxTokenLength(int)`

  - ### createComponents

    protected Analyzer.TokenStreamComponents createComponents(String fieldName)
    Specified by:
      `createComponents` in class `Analyzer`

  - ### normalize

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