protected TokenStreamComponents createComponents(String fieldName, Reader reader) {
switch (fieldName) {
case QueryBuilder.FULL:
return new TokenStreamComponents(new PlainFullTokenizer(reader));
case QueryBuilder.REFS:
return new TokenStreamComponents(new PlainSymbolTokenizer(reader));
case QueryBuilder.DEFS:
return new TokenStreamComponents(new PlainSymbolTokenizer(reader));
case QueryBuilder.PATH:
case QueryBuilder.PROJECT:
return new TokenStreamComponents(new PathTokenizer(reader));
case QueryBuilder.HIST:
return new HistoryAnalyzer().createComponents(fieldName, reader);