Example usage for org.apache.solr.schema IndexSchema getQueryAnalyzer

List of usage examples for org.apache.solr.schema IndexSchema getQueryAnalyzer

Introduction

In this page you can find the example usage for org.apache.solr.schema IndexSchema getQueryAnalyzer.

Prototype

public Analyzer getQueryAnalyzer() 

Source Link

Document

Returns the Analyzer used when searching this index

This Analyzer is field (and dynamic field) name aware, and delegates to a field specific Analyzer based on the field type.

Usage

From source file:org.tallison.solr.search.SpanQParser.java

License:Apache License

public SpanQParser(String qstr, SolrParams localParams, SolrParams params, SolrQueryRequest req) {
    super(qstr, localParams, params, req);
    IndexSchema schema = req.getSchema();

    //now set the params
    SolrParams comboParams = SolrParams.wrapDefaults(localParams, params);

    //preamble to initializing the parser
    Analyzer analyzer = schema.getQueryAnalyzer(); //default analyzer?

    defaultFieldName = getParam(CommonParams.DF);

    if (defaultFieldName != null) {
        SchemaField sf = schema.getField(defaultFieldName);
        if (sf != null && sf.getType() != null) {
            analyzer = sf.getType().getQueryAnalyzer();
        }/*from  w w w.j  a v  a 2s. c  o m*/
    }

    //initialize the parser
    parser = new SolrSpanQueryParser(defaultFieldName, analyzer, schema, this);

    parser.setAllowLeadingWildcard(comboParams.getBool(ALLOW_LEADING_WILDCARD, true));

    parser.setAutoGeneratePhraseQueries(comboParams.getBool(AUTO_GENERATE_PHRASE, false));

    org.apache.lucene.queryparser.classic.QueryParser.Operator defaultOp = DEFAULT_OPERATOR;
    String defaultOpString = comboParams.get(QueryParsing.OP);
    if (defaultOpString != null) {
        if (defaultOpString.equalsIgnoreCase("and")) {
            defaultOp = org.apache.lucene.queryparser.classic.QueryParser.Operator.AND;
        }
    }

    parser.setDefaultOperator(defaultOp);

    parser.setFuzzyMaxEdits(comboParams.getInt(MAX_FUZZY_EDITS, 2));
    parser.setFuzzyPrefixLength(comboParams.getInt(PREFIX_LENGTH, 0));
    parser.setPhraseSlop(comboParams.getInt(PHRASE_SLOP, 0));
    parser.setSpanNearMaxDistance(comboParams.getInt(NEAR_MAX, -1));
    parser.setSpanNotNearMaxDistance(comboParams.getInt(NOT_NEAR_MAX, -1));

}