} catch (Exception e) {
logger.error("failed to return search analyzer. are the analyzers specified correctly in server.conf? {language='"+language+"', class='"+className+"'}",e);
logger.error("recovering by returning default archiver analyzer. indexing and search may be impaired. urgent fix required.");
analyzer = new ArchivaAnalyzer();
}
PerFieldAnalyzerWrapper wrapper = new PerFieldAnalyzerWrapper(analyzer);
if (operation==Operation.INDEX) {
wrapper.addAnalyzer("to", new EmailAnalyzer());
wrapper.addAnalyzer("from", new EmailAnalyzer());
wrapper.addAnalyzer("cc", new EmailAnalyzer());
wrapper.addAnalyzer("bcc", new EmailAnalyzer());
wrapper.addAnalyzer("deliveredto", new EmailAnalyzer());
wrapper.addAnalyzer("attachname", new FileNameAnalyzer());
} else {
wrapper.addAnalyzer("to", new WhitespaceAnalyzer());
wrapper.addAnalyzer("from", new WhitespaceAnalyzer());
wrapper.addAnalyzer("cc", new WhitespaceAnalyzer());
wrapper.addAnalyzer("bcc", new WhitespaceAnalyzer());
wrapper.addAnalyzer("deliveredto", new WhitespaceAnalyzer());
wrapper.addAnalyzer("attachname", new FileNameAnalyzer());
}
return wrapper;
}