List of usage examples for org.apache.lucene.analysis CachingTokenFilter end
@Override
public final void end()
From source file:org.apache.maven.index.DefaultIteratorResultSet.java
License:Apache License
/** * Returns a string that contains match fragment highlighted in style as user requested. * /*from ww w . j a v a 2s . c om*/ * @param context * @param hr * @param field * @param text * @return * @throws IOException */ protected List<String> highlightField(IndexingContext context, MatchHighlightRequest hr, IndexerField field, String text) throws IOException { // exception with classnames if (MAVEN.CLASSNAMES.equals(field.getOntology())) { text = text.replace('/', '.').replaceAll("^\\.", "").replaceAll("\n\\.", "\n"); } Analyzer analyzer = context.getAnalyzer(); TokenStream baseTokenStream = analyzer.tokenStream(field.getKey(), new StringReader(text)); CachingTokenFilter tokenStream = new CachingTokenFilter(baseTokenStream); Formatter formatter = null; if (MatchHighlightMode.HTML.equals(hr.getHighlightMode())) { formatter = new SimpleHTMLFormatter(); } else { tokenStream.reset(); tokenStream.end(); tokenStream.close(); throw new UnsupportedOperationException( "Hightlight more \"" + hr.getHighlightMode().toString() + "\" is not supported!"); } List<String> bestFragments = getBestFragments(hr.getQuery(), formatter, tokenStream, text, 3); return bestFragments; }