org.apache.lucene.analysis.fa

## Class PersianAnalyzer

- java.lang.Object
- - org.apache.lucene.analysis.Analyzer
  - - org.apache.lucene.analysis.StopwordAnalyzerBase
    - - org.apache.lucene.analysis.fa.PersianAnalyzer

- All Implemented Interfaces:
    Closeable, AutoCloseable

      public final class PersianAnalyzer
      extends StopwordAnalyzerBase

  `Analyzer` for Persian.

  This Analyzer uses `PersianCharFilter` which implies tokenizing around zero-width non-joiner in addition to whitespace. Some persian-specific variant forms (such as farsi yeh and keheh) are standardized. "Stemming" is accomplished via stopwords.

  Since:
    3.1

- - ### 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 and Description
    --- | ---
    `static String` | `DEFAULT_STOPWORD_FILE` File containing default Persian stopwords.
    `static String` | `STOPWORDS_COMMENT` The comment character in the stopwords file.

    - ### 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
    `PersianAnalyzer()` Builds an analyzer with the default stop words: `DEFAULT_STOPWORD_FILE`.
    `PersianAnalyzer(CharArraySet stopwords)` Builds an analyzer with the given stop words

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected Analyzer.TokenStreamComponents` | `createComponents(String fieldName)` Creates `Analyzer.TokenStreamComponents` used to tokenize all the text in the provided `Reader`.
    `static CharArraySet` | `getDefaultStopSet()` Returns an unmodifiable instance of the default stop-words set.
    `protected Reader` | `initReader(String fieldName, Reader reader)` Wraps the Reader with `PersianCharFilter`
    `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, 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 Persian stopwords. Default stopword list is from http://members.unine.ch/jacques.savoy/clef/index.html The stopword list is BSD-Licensed.
      See Also:
        Constant Field Values

    - #### STOPWORDS_COMMENT

          public static final String STOPWORDS_COMMENT

      The comment character in the stopwords file. All lines prefixed with this will be ignored
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### PersianAnalyzer

          public PersianAnalyzer()

      Builds an analyzer with the default stop words: `DEFAULT_STOPWORD_FILE`.

    - #### PersianAnalyzer

          public PersianAnalyzer(CharArraySet stopwords)

      Builds an analyzer with the given stop words
      Parameters:
        `stopwords` - a stopword set

  - ### Method Detail

    - #### getDefaultStopSet

          public static CharArraySet getDefaultStopSet()

      Returns an unmodifiable instance of the default stop-words set.
      Returns:
        an unmodifiable instance of the default stop-words set.

    - #### 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`, `DecimalDigitFilter`, `ArabicNormalizationFilter`, `PersianNormalizationFilter` and Persian Stop words

    - #### normalize

          protected TokenStream normalize(String fieldName,
                                          TokenStream in)

      Overrides:
        `normalize` in class `Analyzer`

    - #### initReader

          protected Reader initReader(String fieldName,
                                      Reader reader)

      Wraps the Reader with `PersianCharFilter`
      Overrides:
        `initReader` in class `Analyzer`

Copyright © 2000-2019 Apache Software Foundation. All Rights Reserved.