Lucene の ShingleAnalyzerWrapper を使用して、句読点記号 (:.\,\;) を考慮してバイグラムを生成できる可能性はありますか? 簡単な例: フィールドが「one two; three four」の場合、2 つのバイグラムのみが提供されます: (one two) and (three four)?
1 に答える
1
ShingleAnalyzerWrapper
に基づくアナライザーを使用するを作成できますLetterTokenizer
。LetterTokenizer
入力テキストを非文字で分割します。何かのようなもの:
public class MyCharAnalyzer extends Analyzer {
public TokenStream tokenStream(String fieldName, Reader reader) {
TokenStream result = new LetterTokenizer(reader);
return result;
}
}
ShingleAnalyzerWrapper myBigramWrapper = new ShingleAnalyzerWrapper(new MyCharAnalyzer());
句読点と見なすものをより適切に制御したい場合はCharTokenizer
、メソッドをサブクラス化してオーバーライドできますisTokenChar()
。
于 2011-06-10T05:14:23.867 に答える