public class SolrQueryParser extends QueryParser
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.
Modifier and Type | Class and Description |
---|---|
static class |
SolrQueryParser.MagicFieldName
Identifies the list of all known "magic fields" that trigger
special parsing behavior
|
QueryParser.Operator
Modifier and Type | Field and Description |
---|---|
protected String |
defaultField |
protected QParser |
parser |
protected IndexSchema |
schema |
AND_OPERATOR, jj_nt, OR_OPERATOR, token, token_source
_ESCAPED_CHAR, _NUM_CHAR, _QUOTED_CHAR, _TERM_CHAR, _TERM_START_CHAR, _WHITESPACE, AND, Boost, CARAT, COLON, DEFAULT, EOF, FUZZY_SLOP, LPAREN, MINUS, NOT, NUMBER, OR, PLUS, PREFIXTERM, QUOTED, RangeEx, RANGEEX_END, RANGEEX_GOOP, RANGEEX_QUOTED, RANGEEX_START, RANGEEX_TO, RangeIn, RANGEIN_END, RANGEIN_GOOP, RANGEIN_QUOTED, RANGEIN_START, RANGEIN_TO, RPAREN, STAR, TERM, tokenImage, WILDTERM
Constructor and Description |
---|
SolrQueryParser(IndexSchema schema,
String defaultField)
Constructs a SolrQueryParser using the schema to understand the
formats and datatypes of each field.
|
SolrQueryParser(QParser parser,
String defaultField) |
SolrQueryParser(QParser parser,
String defaultField,
Analyzer analyzer) |
Modifier and Type | Method and Description |
---|---|
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 inclusive) |
protected ReversedWildcardFilterFactory |
getReversedWildcardFilterFactory(FieldType fieldType) |
protected Query |
getWildcardQuery(String field,
String termStr) |
addClause, Clause, Conjunction, disable_tracing, enable_tracing, escape, generateParseException, getAllowLeadingWildcard, getAnalyzer, getAutoGeneratePhraseQueries, getBooleanQuery, getBooleanQuery, getDateResolution, getDefaultOperator, getEnablePositionIncrements, getField, getFieldQuery, getFieldQuery, getFuzzyMinSim, getFuzzyPrefixLength, getFuzzyQuery, getLocale, getLowercaseExpandedTerms, getMultiTermRewriteMethod, getNextToken, getPhraseSlop, getRangeCollator, getToken, main, Modifiers, newBooleanClause, newBooleanQuery, newFuzzyQuery, newMatchAllDocsQuery, newMultiPhraseQuery, newPhraseQuery, newPrefixQuery, newRangeQuery, newTermQuery, newWildcardQuery, parse, Query, ReInit, ReInit, setAllowLeadingWildcard, setAutoGeneratePhraseQueries, setDateResolution, setDateResolution, setDefaultOperator, setEnablePositionIncrements, setFuzzyMinSim, setFuzzyPrefixLength, setLocale, setLowercaseExpandedTerms, setMultiTermRewriteMethod, setPhraseSlop, setRangeCollator, Term, TopLevelQuery
protected final IndexSchema schema
protected final QParser parser
protected final String defaultField
public SolrQueryParser(IndexSchema schema, String defaultField)
schema
- Used for default search field name if defaultField is null and field information is used for analysisdefaultField
- default field used for unspecified search terms. if null, the schema default field is usedIndexSchema.getDefaultSearchFieldName()
protected ReversedWildcardFilterFactory getReversedWildcardFilterFactory(FieldType fieldType)
protected String analyzeIfMultitermTermText(String field, String part, FieldType fieldType)
protected Query getFieldQuery(String field, String queryText, boolean quoted) throws ParseException
getFieldQuery
in class QueryParser
ParseException
protected Query getRangeQuery(String field, String part1, String part2, boolean inclusive) throws ParseException
getRangeQuery
in class QueryParser
ParseException
protected Query getPrefixQuery(String field, String termStr) throws ParseException
getPrefixQuery
in class QueryParser
ParseException
protected Query getWildcardQuery(String field, String termStr) throws ParseException
getWildcardQuery
in class QueryParser
ParseException