public TokenStream tokenStream(String fieldName, Reader reader) {
TokenStream result = new StandardTokenizer(mMatchVersion, reader);
result = new StandardFilter(mMatchVersion, result);
result = new LowerCaseFilter(mMatchVersion, result); // lowercased only
result = new StopFilter(mMatchVersion, result, mStopWordSet); // remove stopwords
result = new DoubleMetaphoneFilter(result,mMaxCodeLength,true); // store phonetic code
result = new ShingleFilter(result, 2, 3); // create token n-grams
return result;
}