org.apache.lucene.analysis.ar
Class ArabicAnalyzer

java.lang.Object
  extended by org.apache.lucene.analysis.Analyzer
      extended by org.apache.lucene.analysis.ReusableAnalyzerBase
          extended by org.apache.lucene.analysis.StopwordAnalyzerBase
              extended by 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:


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.lucene.analysis.ReusableAnalyzerBase
ReusableAnalyzerBase.TokenStreamComponents
 
Field Summary
static String DEFAULT_STOPWORD_FILE
          File containing default Arabic stopwords.
static String STOPWORDS_COMMENT
          Deprecated. use WordlistLoader.getWordSet(Reader, String, Version) directly
 
Fields inherited from class org.apache.lucene.analysis.StopwordAnalyzerBase
matchVersion, stopwords
 
Constructor Summary
ArabicAnalyzer(Version matchVersion)
          Builds an analyzer with the default stop words: DEFAULT_STOPWORD_FILE.
ArabicAnalyzer(Version matchVersion, File stopwords)
          Deprecated. use ArabicAnalyzer(Version, Set) instead
ArabicAnalyzer(Version matchVersion, Hashtable<?,?> stopwords)
          Deprecated. use ArabicAnalyzer(Version, Set) instead
ArabicAnalyzer(Version matchVersion, Set<?> stopwords)
          Builds an analyzer with the given stop words
ArabicAnalyzer(Version matchVersion, Set<?> stopwords, Set<?> stemExclusionSet)
          Builds an analyzer with the given stop word.
ArabicAnalyzer(Version matchVersion, String... stopwords)
          Deprecated. use ArabicAnalyzer(Version, Set) instead
 
Method Summary
protected  ReusableAnalyzerBase.TokenStreamComponents createComponents(String fieldName, Reader reader)
          Creates ReusableAnalyzerBase.TokenStreamComponents used to tokenize all the text in the provided Reader.
static Set<?> getDefaultStopSet()
          Returns an unmodifiable instance of the default stop-words set.
 
Methods inherited from class org.apache.lucene.analysis.StopwordAnalyzerBase
getStopwordSet, loadStopwordSet, loadStopwordSet, loadStopwordSet
 
Methods inherited from class org.apache.lucene.analysis.ReusableAnalyzerBase
initReader, reusableTokenStream, tokenStream
 
Methods inherited from class org.apache.lucene.analysis.Analyzer
close, getOffsetGap, getPositionIncrementGap, getPreviousTokenStream, 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 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

@Deprecated
public static final String STOPWORDS_COMMENT
Deprecated. use WordlistLoader.getWordSet(Reader, String, Version) directly
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(Version matchVersion)
Builds an analyzer with the default stop words: DEFAULT_STOPWORD_FILE.


ArabicAnalyzer

public ArabicAnalyzer(Version matchVersion,
                      Set<?> stopwords)
Builds an analyzer with the given stop words

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

ArabicAnalyzer

public ArabicAnalyzer(Version matchVersion,
                      Set<?> stopwords,
                      Set<?> 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

ArabicAnalyzer

@Deprecated
public ArabicAnalyzer(Version matchVersion,
                                 String... stopwords)
Deprecated. use ArabicAnalyzer(Version, Set) instead

Builds an analyzer with the given stop words.


ArabicAnalyzer

@Deprecated
public ArabicAnalyzer(Version matchVersion,
                                 Hashtable<?,?> stopwords)
Deprecated. use ArabicAnalyzer(Version, Set) instead

Builds an analyzer with the given stop words.


ArabicAnalyzer

@Deprecated
public ArabicAnalyzer(Version matchVersion,
                                 File stopwords)
               throws IOException
Deprecated. use ArabicAnalyzer(Version, Set) instead

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

Throws:
IOException
Method Detail

getDefaultStopSet

public static Set<?> getDefaultStopSet()
Returns an unmodifiable instance of the default stop-words set.

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

createComponents

protected ReusableAnalyzerBase.TokenStreamComponents createComponents(String fieldName,
                                                                      Reader reader)
Creates ReusableAnalyzerBase.TokenStreamComponents used to tokenize all the text in the provided Reader.

Specified by:
createComponents in class ReusableAnalyzerBase
Parameters:
fieldName - the name of the fields content passed to the ReusableAnalyzerBase.TokenStreamComponents sink as a reader
reader - the reader passed to the Tokenizer constructor
Returns:
ReusableAnalyzerBase.TokenStreamComponents built from an StandardTokenizer filtered with LowerCaseFilter, StopFilter, ArabicNormalizationFilter, KeywordMarkerFilter if a stem exclusion set is provided and ArabicStemFilter.