List of usage examples for org.apache.solr.schema IndexSchema getQueryAnalyzer
public Analyzer getQueryAnalyzer()
This Analyzer is field (and dynamic field) name aware, and delegates to a field specific Analyzer based on the field type.
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)); }