Example usage for org.apache.lucene.analysis CachingTokenFilter end

List of usage examples for org.apache.lucene.analysis CachingTokenFilter end

Introduction

In this page you can find the example usage for org.apache.lucene.analysis CachingTokenFilter end.

Prototype

@Override
    public final void end() 

Source Link

Usage

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;
}