Package org.apache.lucene.analysis.ar
Class ArabicAnalyzer
- java.lang.Object
-
- org.apache.lucene.analysis.Analyzer
-
- org.apache.lucene.analysis.StopwordAnalyzerBase
-
- org.apache.lucene.analysis.ar.ArabicAnalyzer
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
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.
- 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 Description static String
DEFAULT_STOPWORD_FILE
File containing default Arabic stopwords.-
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 ArabicAnalyzer()
Builds an analyzer with the default stop words:DEFAULT_STOPWORD_FILE
.ArabicAnalyzer(CharArraySet stopwords)
Builds an analyzer with the given stop wordsArabicAnalyzer(CharArraySet stopwords, CharArraySet stemExclusionSet)
Builds an analyzer with the given stop word.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Analyzer.TokenStreamComponents
createComponents(String fieldName)
CreatesAnalyzer.TokenStreamComponents
used to tokenize all the text in the providedReader
.static CharArraySet
getDefaultStopSet()
Returns an unmodifiable instance of the default stop-words set.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, initReader, initReaderForNormalization, normalize, tokenStream, tokenStream
-
-
-
-
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()
Builds an analyzer with the default stop words:DEFAULT_STOPWORD_FILE
.
-
ArabicAnalyzer
public ArabicAnalyzer(CharArraySet stopwords)
Builds an analyzer with the given stop words- Parameters:
stopwords
- a stopword set
-
ArabicAnalyzer
public ArabicAnalyzer(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 aSetKeywordMarkerFilter
beforeArabicStemFilter
.- Parameters:
stopwords
- a stopword setstemExclusionSet
- 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)
CreatesAnalyzer.TokenStreamComponents
used to tokenize all the text in the providedReader
.- Specified by:
createComponents
in classAnalyzer
- Returns:
Analyzer.TokenStreamComponents
built from anStandardTokenizer
filtered withLowerCaseFilter
,DecimalDigitFilter
,StopFilter
,ArabicNormalizationFilter
,SetKeywordMarkerFilter
if a stem exclusion set is provided andArabicStemFilter
.
-
normalize
protected TokenStream normalize(String fieldName, TokenStream in)
-
-