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, TopLevelQueryprotected 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.QueryParserorg.apache.lucene.queryParser.ParseExceptionprotected 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.QueryParserorg.apache.lucene.queryParser.ParseExceptionprotected org.apache.lucene.search.Query getPrefixQuery(String field, String termStr) throws org.apache.lucene.queryParser.ParseException
getPrefixQuery in class org.apache.lucene.queryParser.QueryParserorg.apache.lucene.queryParser.ParseException