/ / Lucene Tokenizerは非推奨 - java、lucene、tokenize、アナライザー

Lucene Tokenizerは廃止予定 - java、lucene、tokenize、アナライザ

次のAnalyzerエクステンションには、廃止予定のサブクラスがいくつかあります。非推奨の代替品は何ですか?にとって StandardTokenizer, StandardFilter, LowerCaseFilter、および StopFilter - 以下で使用されるように。

public class PorterAnalyzer extends Analyzer {

private final Version version;

public PorterAnalyzer(Version version) {
this.version = version;
}

@Override
@SuppressWarnings("resource")
protected TokenStreamComponents createComponents(String fieldName, Reader reader) {
final StandardTokenizer src = new StandardTokenizer(version, reader);
TokenStream tok = new StandardFilter(version, src);
tok = new LowerCaseFilter(version, tok);
tok = new StopFilter(version, tok, StandardAnalyzer.STOP_WORDS_SET);
tok = new PorterStemFilter(tok);
return new TokenStreamComponents(src, tok);
}

}

回答:

回答№1は0

バージョン引数を失うだけです。


Luceneバージョン4を使用していると思います。10、またはその一般的な付近の何か。これらすべてのバージョン引数を持つコンストラクタは非推奨となり(バージョン5.0以降は削除され)、その引数をとらないコンストラクタに置き換えられました。

public class PorterAnalyzer extends Analyzer {
@Override
@SuppressWarnings("resource")
protected TokenStreamComponents createComponents(String fieldName, Reader reader) {
final StandardTokenizer src = new StandardTokenizer(reader);
TokenStream tok = new StandardFilter(src);
tok = new LowerCaseFilter(tok);
tok = new StopFilter(tok, StandardAnalyzer.STOP_WORDS_SET);
tok = new PorterStemFilter(tok);
return new TokenStreamComponents(src, tok);
}
}