Вы можете создать 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()
.