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
Analyzer.ReuseStrategy, Analyzer.TokenStreamComponents
Modifier and Type | Field and Description |
---|---|
static String |
DEFAULT_STOPWORD_FILE
File containing default Arabic stopwords.
|
stopwords
GLOBAL_REUSE_STRATEGY, PER_FIELD_REUSE_STRATEGY
Constructor and Description |
---|
ArabicAnalyzer()
Builds an analyzer with the default stop words:
DEFAULT_STOPWORD_FILE . |
ArabicAnalyzer(CharArraySet stopwords)
Builds an analyzer with the given stop words
|
ArabicAnalyzer(CharArraySet stopwords,
CharArraySet stemExclusionSet)
Builds an analyzer with the given stop word.
|
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 TokenStream |
normalize(String fieldName,
TokenStream in)
Wrap the given
TokenStream in order to apply normalization filters. |
getStopwordSet, loadStopwordSet, loadStopwordSet, loadStopwordSet
attributeFactory, close, getOffsetGap, getPositionIncrementGap, getReuseStrategy, getVersion, initReader, initReaderForNormalization, normalize, setVersion, tokenStream, tokenStream
public static final String DEFAULT_STOPWORD_FILE
public ArabicAnalyzer()
DEFAULT_STOPWORD_FILE
.public ArabicAnalyzer(CharArraySet stopwords)
stopwords
- a stopword setpublic ArabicAnalyzer(CharArraySet stopwords, CharArraySet stemExclusionSet)
SetKeywordMarkerFilter
before
ArabicStemFilter
.stopwords
- a stopword setstemExclusionSet
- a set of terms not to be stemmedpublic static CharArraySet getDefaultStopSet()
protected Analyzer.TokenStreamComponents createComponents(String fieldName)
Analyzer.TokenStreamComponents
used to tokenize all the text in the provided Reader
.createComponents
in class Analyzer
fieldName
- the name of the fields content passed to the
Analyzer.TokenStreamComponents
sink as a readerAnalyzer.TokenStreamComponents
built from an StandardTokenizer
filtered with
LowerCaseFilter
, DecimalDigitFilter
, StopFilter
,
ArabicNormalizationFilter
, SetKeywordMarkerFilter
if a stem exclusion set is provided and ArabicStemFilter
.protected TokenStream normalize(String fieldName, TokenStream in)
Analyzer
TokenStream
in order to apply normalization filters.
The default implementation returns the TokenStream
as-is. This is
used by Analyzer.normalize(String, String)
.