2

Lucene の ShingleAnalyzerWrapper を使用して、句読点記号 (:.\,\;) を考慮してバイグラムを生成できる可能性はありますか? 簡単な例: フィールドが「one two; three four」の場合、2 つのバイグラムのみが提供されます: (one two) and (three four)?

4

1 に答える 1

1

ShingleAnalyzerWrapperに基づくアナライザーを使用するを作成できますLetterTokenizerLetterTokenizer入力テキストを非文字で分割します。何かのようなもの:

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 に答える