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 java.lang.String |
defaultField |
private java.util.Map<FieldType,ReversedWildcardFilterFactory> |
leadingWildcards |
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,
java.lang.String defaultField)
Constructs a SolrQueryParser using the schema to understand the
formats and datatypes of each field.
|
SolrQueryParser(QParser parser,
java.lang.String defaultField) |
SolrQueryParser(QParser parser,
java.lang.String defaultField,
org.apache.lucene.analysis.Analyzer analyzer) |
| Modifier and Type | Method and Description |
|---|---|
protected java.lang.String |
analyzeIfMultitermTermText(java.lang.String field,
java.lang.String part,
FieldType fieldType) |
private void |
checkNullField(java.lang.String field) |
protected org.apache.lucene.search.Query |
getFieldQuery(java.lang.String field,
java.lang.String queryText,
boolean quoted) |
protected org.apache.lucene.search.Query |
getPrefixQuery(java.lang.String field,
java.lang.String termStr) |
protected org.apache.lucene.search.Query |
getRangeQuery(java.lang.String field,
java.lang.String part1,
java.lang.String part2,
boolean inclusive) |
protected ReversedWildcardFilterFactory |
getReversedWildcardFilterFactory(FieldType fieldType) |
protected org.apache.lucene.search.Query |
getWildcardQuery(java.lang.String field,
java.lang.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 java.lang.String defaultField
private java.util.Map<FieldType,ReversedWildcardFilterFactory> leadingWildcards
public SolrQueryParser(IndexSchema schema, java.lang.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()public SolrQueryParser(QParser parser, java.lang.String defaultField)
public SolrQueryParser(QParser parser, java.lang.String defaultField, org.apache.lucene.analysis.Analyzer analyzer)
protected ReversedWildcardFilterFactory getReversedWildcardFilterFactory(FieldType fieldType)
private void checkNullField(java.lang.String field)
throws SolrException
SolrExceptionprotected java.lang.String analyzeIfMultitermTermText(java.lang.String field,
java.lang.String part,
FieldType fieldType)
protected org.apache.lucene.search.Query getFieldQuery(java.lang.String field,
java.lang.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(java.lang.String field,
java.lang.String part1,
java.lang.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(java.lang.String field,
java.lang.String termStr)
throws org.apache.lucene.queryParser.ParseException
getPrefixQuery in class org.apache.lucene.queryParser.QueryParserorg.apache.lucene.queryParser.ParseExceptionprotected org.apache.lucene.search.Query getWildcardQuery(java.lang.String field,
java.lang.String termStr)
throws org.apache.lucene.queryParser.ParseException
getWildcardQuery in class org.apache.lucene.queryParser.QueryParserorg.apache.lucene.queryParser.ParseException