출처를 확인하십시오. 일반적으로 분석기는 꽤 판독 가능합니다. 당신은 토크 나이 및 필터가 사용하고 볼 CreateComponents
방법으로 볼 필요가 :
@Override
protected TokenStreamComponents createComponents(String fieldName, Reader reader) {
final Tokenizer source = new StandardTokenizer(matchVersion, reader);
TokenStream result = new StandardFilter(matchVersion, source);
// prior to this we get the classic behavior, standardfilter does it for us.
if (matchVersion.onOrAfter(Version.LUCENE_31))
result = new EnglishPossessiveFilter(matchVersion, result);
result = new LowerCaseFilter(matchVersion, result);
result = new StopFilter(matchVersion, result, stopwords);
if(!stemExclusionSet.isEmpty())
result = new KeywordMarkerFilter(result, stemExclusionSet);
result = new PorterStemFilter(result);
return new TokenStreamComponents(source, result);
}
반면이 StandardAnalyzer
그냥 StandardTokenizer
, StandardFilter
, LowercaseFilter
및 StopFilter
입니다. EnglishAnalyzer
롤은 EnglishPossesiveFilter
, KeywordMarkerFilter
및 PorterStemFilter
에있다.
주로 EnglishAnalyzer는 일부 영어 형태 향상 기능을 사용합니다. 영어 기능은 일반 영어 텍스트에서 잘 작동합니다.
StandardAnalyzer의 경우 영어 분석에 직접 연결된다는 사실을 알고있는 유일한 가정은 기본 중지 단어 세트입니다. 물론 기본값이며 변경할 수 있습니다. 이제 StandardAnalyzer는 Unicode Standard Annex #29을 구현합니다.이 언어는 비 언어 별 텍스트 분할을 제공합니다.