Example usage for org.apache.lucene.analysis.util CharFilterFactory create

List of usage examples for org.apache.lucene.analysis.util CharFilterFactory create

Introduction

In this page you can find the example usage for org.apache.lucene.analysis.util CharFilterFactory create.

Prototype

public abstract Reader create(Reader input);

Source Link

Document

Wraps the given Reader with a CharFilter.

Usage

From source file:org.apache.jackrabbit.oak.plugins.index.lucene.util.TokenizerChain.java

License:Apache License

@Override
public Reader initReader(String fieldName, Reader reader) {
    if (charFilters != null && charFilters.length > 0) {
        Reader cs = reader;/*from  w  w w .ja  v  a  2s. c o m*/
        for (CharFilterFactory charFilter : charFilters) {
            cs = charFilter.create(cs);
        }
        reader = cs;
    }
    return reader;
}

From source file:org.apache.solr.handler.AnalysisRequestHandlerBase.java

License:Apache License

/**
 * Analyzes the given value using the given Analyzer.
 *
 * @param value   Value to analyze//  ww  w  .j  av  a 2s.  c o m
 * @param context The {@link AnalysisContext analysis context}.
 *
 * @return NamedList containing the tokens produced by analyzing the given value
 */
protected NamedList<? extends Object> analyzeValue(String value, AnalysisContext context) {

    Analyzer analyzer = context.getAnalyzer();

    if (!TokenizerChain.class.isInstance(analyzer)) {

        TokenStream tokenStream = null;
        try {
            tokenStream = analyzer.tokenStream(context.getFieldName(), value);
            NamedList<List<NamedList>> namedList = new NamedList<List<NamedList>>();
            namedList.add(tokenStream.getClass().getName(),
                    convertTokensToNamedLists(analyzeTokenStream(tokenStream), context));
            return namedList;
        } catch (IOException e) {
            throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, e);
        } finally {
            IOUtils.closeWhileHandlingException(tokenStream);
        }
    }

    TokenizerChain tokenizerChain = (TokenizerChain) analyzer;
    CharFilterFactory[] cfiltfacs = tokenizerChain.getCharFilterFactories();
    TokenizerFactory tfac = tokenizerChain.getTokenizerFactory();
    TokenFilterFactory[] filtfacs = tokenizerChain.getTokenFilterFactories();

    NamedList<Object> namedList = new NamedList<Object>();

    if (cfiltfacs != null) {
        String source = value;
        for (CharFilterFactory cfiltfac : cfiltfacs) {
            Reader reader = new StringReader(source);
            reader = cfiltfac.create(reader);
            source = writeCharStream(namedList, reader);
        }
    }

    TokenStream tokenStream = tfac.create(tokenizerChain.initReader(null, new StringReader(value)));
    List<AttributeSource> tokens = analyzeTokenStream(tokenStream);

    namedList.add(tokenStream.getClass().getName(), convertTokensToNamedLists(tokens, context));

    ListBasedTokenStream listBasedTokenStream = new ListBasedTokenStream(tokens);

    for (TokenFilterFactory tokenFilterFactory : filtfacs) {
        for (final AttributeSource tok : tokens) {
            tok.getAttribute(TokenTrackingAttribute.class).freezeStage();
        }
        tokenStream = tokenFilterFactory.create(listBasedTokenStream);
        tokens = analyzeTokenStream(tokenStream);
        namedList.add(tokenStream.getClass().getName(), convertTokensToNamedLists(tokens, context));
        listBasedTokenStream = new ListBasedTokenStream(tokens);
    }

    return namedList;
}

From source file:org.hibernate.search.engine.impl.TokenizerChain.java

License:LGPL

@Override
public Reader initReader(final String fieldName, final Reader reader) {
    if (charFilters.length > 0) {
        Reader cs = reader;// w w  w  .j  a v  a2  s. c o  m
        for (CharFilterFactory charFilter : charFilters) {
            cs = charFilter.create(cs);
        }
        return cs;
    } else {
        return reader;
    }
}

From source file:org.tallison.gramreaper.ingest.schema.MyTokenizerChain.java

License:Apache License

@Override
public Reader initReader(String fieldName, Reader reader) {

    if (charFilters != null && charFilters.length > 0) {
        Reader cs = reader;/*from www .  j av  a  2  s  . c om*/
        for (CharFilterFactory charFilter : charFilters) {
            cs = charFilter.create(cs);
        }
        reader = cs;
    }

    return reader;
}