org.apache.solr.search
Class SolrQueryParser
java.lang.Object
org.apache.lucene.queryparser.classic.QueryParserBase
org.apache.lucene.queryparser.classic.QueryParser
org.apache.solr.search.SolrQueryParser
- All Implemented Interfaces:
- QueryParserConstants
- Direct Known Subclasses:
- SolrPluginUtils.DisjunctionMaxQueryParser
public class SolrQueryParser
- extends QueryParser
A variation on the Lucene QueryParser which knows about the field
types and query time analyzers configured in Solr's schema.xml.
This class also deviates from the Lucene QueryParser by using
ConstantScore versions of RangeQuery and PrefixQuery to prevent
TooManyClauses exceptions.
If the magic field name "_val_
" is used in a term or
phrase query, the value is parsed as a function.
Nested Class Summary |
static class |
SolrQueryParser.MagicFieldName
Identifies the list of all known "magic fields" that trigger
special parsing behavior |
Fields inherited from interface org.apache.lucene.queryparser.classic.QueryParserConstants |
_ESCAPED_CHAR, _NUM_CHAR, _QUOTED_CHAR, _TERM_CHAR, _TERM_START_CHAR, _WHITESPACE, AND, BAREOPER, Boost, CARAT, COLON, DEFAULT, EOF, FUZZY_SLOP, LPAREN, MINUS, NOT, NUMBER, OR, PLUS, PREFIXTERM, QUOTED, Range, RANGE_GOOP, RANGE_QUOTED, RANGE_TO, RANGEEX_END, RANGEEX_START, RANGEIN_END, RANGEIN_START, REGEXPTERM, RPAREN, STAR, TERM, tokenImage, WILDTERM |
Method Summary |
protected String |
analyzeIfMultitermTermText(String field,
String part,
FieldType fieldType)
|
protected Query |
getFieldQuery(String field,
String queryText,
boolean quoted)
|
protected Query |
getPrefixQuery(String field,
String termStr)
|
protected Query |
getRangeQuery(String field,
String part1,
String part2,
boolean startInclusive,
boolean endInclusive)
|
protected Query |
getRegexpQuery(String field,
String termStr)
|
protected ReversedWildcardFilterFactory |
getReversedWildcardFilterFactory(FieldType fieldType)
|
protected Query |
getWildcardQuery(String field,
String termStr)
|
Methods inherited from class org.apache.lucene.queryparser.classic.QueryParser |
Clause, Conjunction, disable_tracing, enable_tracing, generateParseException, getNextToken, getToken, Modifiers, Query, ReInit, ReInit, Term, TopLevelQuery |
Methods inherited from class org.apache.lucene.queryparser.classic.QueryParserBase |
addClause, analyzeMultitermTerm, escape, getAllowLeadingWildcard, getAnalyzer, getAnalyzeRangeTerms, getAutoGeneratePhraseQueries, getBooleanQuery, getBooleanQuery, getDateResolution, getDefaultOperator, getEnablePositionIncrements, getField, getFieldQuery, getFuzzyMinSim, getFuzzyPrefixLength, getFuzzyQuery, getLocale, getLowercaseExpandedTerms, getMultiTermRewriteMethod, getPhraseSlop, init, newBooleanClause, newBooleanQuery, newFieldQuery, newFuzzyQuery, newMatchAllDocsQuery, newMultiPhraseQuery, newPhraseQuery, newPrefixQuery, newRangeQuery, newRegexpQuery, newTermQuery, newWildcardQuery, parse, setAllowLeadingWildcard, setAnalyzeRangeTerms, setAutoGeneratePhraseQueries, setDateResolution, setDateResolution, setDefaultOperator, setEnablePositionIncrements, setFuzzyMinSim, setFuzzyPrefixLength, setLocale, setLowercaseExpandedTerms, setMultiTermRewriteMethod, setPhraseSlop |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
schema
protected final IndexSchema schema
parser
protected final QParser parser
defaultField
protected final String defaultField
SolrQueryParser
public SolrQueryParser(QParser parser,
String defaultField)
SolrQueryParser
public SolrQueryParser(QParser parser,
String defaultField,
Analyzer analyzer)
getReversedWildcardFilterFactory
protected ReversedWildcardFilterFactory getReversedWildcardFilterFactory(FieldType fieldType)
analyzeIfMultitermTermText
protected String analyzeIfMultitermTermText(String field,
String part,
FieldType fieldType)
getFieldQuery
protected Query getFieldQuery(String field,
String queryText,
boolean quoted)
throws ParseException
- Overrides:
getFieldQuery
in class QueryParserBase
- Throws:
ParseException
getRangeQuery
protected Query getRangeQuery(String field,
String part1,
String part2,
boolean startInclusive,
boolean endInclusive)
throws ParseException
- Overrides:
getRangeQuery
in class QueryParserBase
- Throws:
ParseException
getPrefixQuery
protected Query getPrefixQuery(String field,
String termStr)
throws ParseException
- Overrides:
getPrefixQuery
in class QueryParserBase
- Throws:
ParseException
getWildcardQuery
protected Query getWildcardQuery(String field,
String termStr)
throws ParseException
- Overrides:
getWildcardQuery
in class QueryParserBase
- Throws:
ParseException
getRegexpQuery
protected Query getRegexpQuery(String field,
String termStr)
throws ParseException
- Overrides:
getRegexpQuery
in class QueryParserBase
- Throws:
ParseException
Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.