public final class PersianAnalyzer extends StopwordAnalyzerBase
Analyzer
for Persian.
This Analyzer uses PersianCharFilter
which implies tokenizing around
zero-width non-joiner in addition to whitespace. Some persian-specific variant forms (such as farsi
yeh and keheh) are standardized. "Stemming" is accomplished via stopwords.
Analyzer.ReuseStrategy, Analyzer.TokenStreamComponents
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DEFAULT_STOPWORD_FILE
File containing default Persian stopwords.
|
static java.lang.String |
STOPWORDS_COMMENT
The comment character in the stopwords file.
|
stopwords
GLOBAL_REUSE_STRATEGY, PER_FIELD_REUSE_STRATEGY
Constructor and Description |
---|
PersianAnalyzer()
Builds an analyzer with the default stop words:
DEFAULT_STOPWORD_FILE . |
PersianAnalyzer(CharArraySet stopwords)
Builds an analyzer with the given stop words
|
Modifier and Type | Method and Description |
---|---|
protected Analyzer.TokenStreamComponents |
createComponents(java.lang.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 java.io.Reader |
initReader(java.lang.String fieldName,
java.io.Reader reader)
Wraps the Reader with
PersianCharFilter |
protected TokenStream |
normalize(java.lang.String fieldName,
TokenStream in)
Wrap the given
TokenStream in order to apply normalization filters. |
getStopwordSet, loadStopwordSet, loadStopwordSet, loadStopwordSet
attributeFactory, close, getOffsetGap, getPositionIncrementGap, getReuseStrategy, getVersion, initReaderForNormalization, normalize, setVersion, tokenStream, tokenStream
public static final java.lang.String DEFAULT_STOPWORD_FILE
public static final java.lang.String STOPWORDS_COMMENT
public PersianAnalyzer()
DEFAULT_STOPWORD_FILE
.public PersianAnalyzer(CharArraySet stopwords)
stopwords
- a stopword setpublic static CharArraySet getDefaultStopSet()
protected Analyzer.TokenStreamComponents createComponents(java.lang.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 a StandardTokenizer
filtered with
LowerCaseFilter
, DecimalDigitFilter
, ArabicNormalizationFilter
,
PersianNormalizationFilter
and Persian Stop wordsprotected TokenStream normalize(java.lang.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)
.protected java.io.Reader initReader(java.lang.String fieldName, java.io.Reader reader)
PersianCharFilter
initReader
in class Analyzer
fieldName
- IndexableField name being indexedreader
- original ReaderCopyright © 2000–2019 The Apache Software Foundation. All rights reserved.