public class SolrQueryParser
extends org.apache.lucene.queryParser.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
|
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, BAREOPER, 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,
org.apache.lucene.analysis.Analyzer analyzer) |
Modifier and Type | Method and Description |
---|---|
protected String |
analyzeIfMultitermTermText(String field,
String part,
FieldType fieldType) |
protected org.apache.lucene.search.Query |
getFieldQuery(String field,
String queryText,
boolean quoted) |
protected org.apache.lucene.search.Query |
getPrefixQuery(String field,
String termStr) |
protected org.apache.lucene.search.Query |
getRangeQuery(String field,
String part1,
String part2,
boolean inclusive) |
protected ReversedWildcardFilterFactory |
getReversedWildcardFilterFactory(FieldType fieldType) |
protected org.apache.lucene.search.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 org.apache.lucene.search.Query getFieldQuery(String field, String queryText, boolean quoted) throws org.apache.lucene.queryParser.ParseException
getFieldQuery
in class org.apache.lucene.queryParser.QueryParser
org.apache.lucene.queryParser.ParseException
protected org.apache.lucene.search.Query getRangeQuery(String field, String part1, String part2, boolean inclusive) throws org.apache.lucene.queryParser.ParseException
getRangeQuery
in class org.apache.lucene.queryParser.QueryParser
org.apache.lucene.queryParser.ParseException
protected org.apache.lucene.search.Query getPrefixQuery(String field, String termStr) throws org.apache.lucene.queryParser.ParseException
getPrefixQuery
in class org.apache.lucene.queryParser.QueryParser
org.apache.lucene.queryParser.ParseException