## org.apache.lucene.analysis.ar
Class ArabicAnalyzer

    java.lang.Object
      org.apache.lucene.analysis.Analyzer
          org.apache.lucene.analysis.util.StopwordAnalyzerBase
              org.apache.lucene.analysis.ar.ArabicAnalyzer

All Implemented Interfaces:
  Closeable

    public final class ArabicAnalyzer

extends StopwordAnalyzerBase

`Analyzer` for Arabic.

This analyzer implements light-stemming as specified by: Light Stemming for Arabic Information Retrieval http://www.mtholyoke.edu/~lballest/Pubs/arab_stem05.pdf

The analysis package contains three primary components:

- `ArabicNormalizationFilter`: Arabic orthographic normalization.
- `ArabicStemFilter`: Arabic light stemming
- Arabic stop words file: a set of default Arabic stop words.

Nested Class Summary

Nested classes/interfaces inherited from class org.apache.lucene.analysis.Analyzer
`Analyzer.GlobalReuseStrategy, Analyzer.PerFieldReuseStrategy, Analyzer.ReuseStrategy, Analyzer.TokenStreamComponents`

Field Summary
`static String` `DEFAULT_STOPWORD_FILE` File containing default Arabic stopwords.

Fields inherited from class org.apache.lucene.analysis.util.StopwordAnalyzerBase
`matchVersion, stopwords`

Constructor Summary
`ArabicAnalyzer(Version matchVersion)` Builds an analyzer with the default stop words: `DEFAULT_STOPWORD_FILE`.
`ArabicAnalyzer(Version matchVersion, CharArraySet stopwords)` Builds an analyzer with the given stop words
`ArabicAnalyzer(Version matchVersion, CharArraySet stopwords, CharArraySet stemExclusionSet)` Builds an analyzer with the given stop word.

Method Summary
`protected Analyzer.TokenStreamComponents` `createComponents(String fieldName, Reader reader)` 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.

Methods inherited from class org.apache.lucene.analysis.util.StopwordAnalyzerBase
`getStopwordSet, loadStopwordSet, loadStopwordSet, loadStopwordSet`

Methods inherited from class org.apache.lucene.analysis.Analyzer
`close, getOffsetGap, getPositionIncrementGap, initReader, 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 Arabic 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

Constructor Detail

### ArabicAnalyzer

    public ArabicAnalyzer(Version matchVersion)

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

### ArabicAnalyzer

    public ArabicAnalyzer(Version matchVersion,
                          CharArraySet stopwords)

  Builds an analyzer with the given stop words

  Parameters:
    `matchVersion` - lucene compatibility version
    `stopwords` - a stopword set

### ArabicAnalyzer

    public ArabicAnalyzer(Version matchVersion,
                          CharArraySet stopwords,
                          CharArraySet stemExclusionSet)

  Builds an analyzer with the given stop word. If a none-empty stem exclusion set is provided this analyzer will add a `KeywordMarkerFilter` before `ArabicStemFilter`.

  Parameters:
    `matchVersion` - lucene compatibility version
    `stopwords` - a stopword set
    `stemExclusionSet` - a set of terms not to be stemmed

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,
                                                              Reader reader)

  Creates `Analyzer.TokenStreamComponents` used to tokenize all the text in the provided `Reader`.

  Specified by:
    `createComponents` in class `Analyzer`
  Returns:
    `Analyzer.TokenStreamComponents` built from an `StandardTokenizer` filtered with `LowerCaseFilter`, `StopFilter`, `ArabicNormalizationFilter`, `KeywordMarkerFilter` if a stem exclusion set is provided and `ArabicStemFilter`.

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