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

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

    public final class ArabicAnalyzer

extends Analyzer

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

Field Summary
`static java.lang.String` `DEFAULT_STOPWORD_FILE` File containing default Arabic stopwords.
`static java.lang.String` `STOPWORDS_COMMENT` The comment character in the stopwords file.

Fields inherited from class org.apache.lucene.analysis.Analyzer
`overridesTokenStreamMethod`

Constructor Summary
`ArabicAnalyzer()` Deprecated. Use `ArabicAnalyzer(Version)` instead
`ArabicAnalyzer(java.io.File stopwords)` Deprecated. Use `ArabicAnalyzer(Version, File)` instead
`ArabicAnalyzer(java.util.Hashtable stopwords)` Deprecated. Use `ArabicAnalyzer(Version, Hashtable)` instead
`ArabicAnalyzer(java.lang.String[] stopwords)` Deprecated. Use `ArabicAnalyzer(Version, String[])` instead
`ArabicAnalyzer(Version matchVersion)` Builds an analyzer with the default stop words: `DEFAULT_STOPWORD_FILE`.
`ArabicAnalyzer(Version matchVersion, java.io.File stopwords)` Builds an analyzer with the given stop words.
`ArabicAnalyzer(Version matchVersion, java.util.Hashtable stopwords)` Builds an analyzer with the given stop words.
`ArabicAnalyzer(Version matchVersion, java.lang.String[] stopwords)` Builds an analyzer with the given stop words.

Method Summary
`TokenStream` `reusableTokenStream(java.lang.String fieldName, java.io.Reader reader)` Returns a (possibly reused) `TokenStream` which tokenizes all the text in the provided `Reader`.
`TokenStream` `tokenStream(java.lang.String fieldName, java.io.Reader reader)` Creates a `TokenStream` which tokenizes all the text in the provided `Reader`.

Methods inherited from class org.apache.lucene.analysis.Analyzer
`close, getOffsetGap, getPositionIncrementGap, getPreviousTokenStream, setOverridesTokenStreamMethod, setPreviousTokenStream`

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 java.lang.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

### STOPWORDS_COMMENT

    public static final java.lang.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

### ArabicAnalyzer

    public ArabicAnalyzer()

  Deprecated. Use `ArabicAnalyzer(Version)` instead

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

### ArabicAnalyzer

    public ArabicAnalyzer(Version matchVersion)

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

### ArabicAnalyzer

    public ArabicAnalyzer(java.lang.String[] stopwords)

  Deprecated. Use `ArabicAnalyzer(Version, String[])` instead

  Builds an analyzer with the given stop words.

### ArabicAnalyzer

    public ArabicAnalyzer(Version matchVersion,
                          java.lang.String[] stopwords)

  Builds an analyzer with the given stop words.

### ArabicAnalyzer

    public ArabicAnalyzer(java.util.Hashtable stopwords)

  Deprecated. Use `ArabicAnalyzer(Version, Hashtable)` instead

  Builds an analyzer with the given stop words.

### ArabicAnalyzer

    public ArabicAnalyzer(Version matchVersion,
                          java.util.Hashtable stopwords)

  Builds an analyzer with the given stop words.

### ArabicAnalyzer

    public ArabicAnalyzer(java.io.File stopwords)
                   throws java.io.IOException

  Deprecated. Use `ArabicAnalyzer(Version, File)` instead

  Builds an analyzer with the given stop words. Lines can be commented out using `STOPWORDS_COMMENT`

  Throws:
    `java.io.IOException`

### ArabicAnalyzer

    public ArabicAnalyzer(Version matchVersion,
                          java.io.File stopwords)
                   throws java.io.IOException

  Builds an analyzer with the given stop words. Lines can be commented out using `STOPWORDS_COMMENT`

  Throws:
    `java.io.IOException`

Method Detail

### tokenStream

    public final TokenStream tokenStream(java.lang.String fieldName,
                                         java.io.Reader reader)

  Creates a `TokenStream` which tokenizes all the text in the provided `Reader`.

  Specified by:
    `tokenStream` in class `Analyzer`
  Returns:
    A `TokenStream` built from an `ArabicLetterTokenizer` filtered with `LowerCaseFilter`, `StopFilter`, `ArabicNormalizationFilter` and `ArabicStemFilter`.

### reusableTokenStream

    public TokenStream reusableTokenStream(java.lang.String fieldName,
                                           java.io.Reader reader)
                                    throws java.io.IOException

  Returns a (possibly reused) `TokenStream` which tokenizes all the text in the provided `Reader`.

  Overrides:
    `reusableTokenStream` in class `Analyzer`
  Returns:
    A `TokenStream` built from an `ArabicLetterTokenizer` filtered with `LowerCaseFilter`, `StopFilter`, `ArabicNormalizationFilter` and `ArabicStemFilter`.
  Throws:
    `java.io.IOException`

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