Package org.apache.solr.search
Class QParser
- java.lang.Object
-
- org.apache.solr.search.QParser
-
- Direct Known Subclasses:
CrossCollectionJoinQParser,DisMaxQParser,ExportQParserPlugin.ExportQParser,ExtendedDismaxQParser,FiltersQParser,FunctionQParser,GraphQueryParser,HashRangeQParser,KnnQParser,LuceneQParser,MinHashQParser,RankQParserPlugin.RankQParser,SimpleMLTQParser,SpatialFilterQParser
public abstract class QParser extends Object
Note: This API is experimental and may change in non backward-compatible ways in the future
-
-
Field Summary
Fields Modifier and Type Field Description static intFLAG_FILTERprotected intflagsprotected org.apache.solr.common.params.SolrParamslocalParamsprotected intlocalParamsEndprotected org.apache.solr.common.params.SolrParamsparamsprotected Stringqstrprotected org.apache.lucene.search.Queryqueryprotected intrecurseCountprotected SolrQueryRequestreqprotected StringstringIncludingLocalParamsprotected booleanvalFollowedParams
-
Constructor Summary
Constructors Constructor Description QParser(String qstr, org.apache.solr.common.params.SolrParams localParams, org.apache.solr.common.params.SolrParams params, SolrQueryRequest req)Constructor for the QParser
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddDebugInfo(org.apache.solr.common.util.NamedList<Object> debugInfo)String[]getDefaultHighlightFields()intgetFlags()org.apache.lucene.search.QuerygetHighlightQuery()org.apache.solr.common.params.SolrParamsgetLocalParams()StringgetParam(String name)check both local and global paramsorg.apache.solr.common.params.SolrParamsgetParams()static QParsergetParser(String qstr, String parserName, boolean allowLocalParams, SolrQueryRequest req)Expert: Create aQParserto parseqstrusing theparserNameparser, while allowing a toggle for whether local-params may be parsed.static QParsergetParser(String qstr, String defaultParser, SolrQueryRequest req)static QParsergetParser(String qstr, SolrQueryRequest req)Create aQParserto parseqstr, using the "lucene" (QParserPlugin.DEFAULT_QTYPE) query parser.org.apache.lucene.search.QuerygetQuery()Returns the resulting query from this QParser, calling parse() only the first time and caching the Query result.SolrQueryRequestgetReq()SortSpecgetSortSpec(boolean useGlobalParams)StringgetString()booleanisFilter()abstract org.apache.lucene.search.Queryparse()Create and return theQueryobject represented byqstr.voidsetFlags(int flags)voidsetIsFilter(boolean isFilter)voidsetLocalParams(org.apache.solr.common.params.SolrParams localParams)voidsetParams(org.apache.solr.common.params.SolrParams params)voidsetReq(SolrQueryRequest req)voidsetString(String s)QParsersubQuery(String q, String defaultType)Create a new QParser for parsing an embedded sub-query
-
-
-
Field Detail
-
FLAG_FILTER
public static final int FLAG_FILTER
- See Also:
- Constant Field Values
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
qstr
protected String qstr
-
params
protected org.apache.solr.common.params.SolrParams params
-
localParams
protected org.apache.solr.common.params.SolrParams localParams
-
req
protected SolrQueryRequest req
-
recurseCount
protected int recurseCount
-
flags
protected int flags
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
query
protected org.apache.lucene.search.Query query
-
stringIncludingLocalParams
protected String stringIncludingLocalParams
-
valFollowedParams
protected boolean valFollowedParams
-
localParamsEnd
protected int localParamsEnd
-
-
Constructor Detail
-
QParser
public QParser(String qstr, org.apache.solr.common.params.SolrParams localParams, org.apache.solr.common.params.SolrParams params, SolrQueryRequest req)
Constructor for the QParser- Parameters:
qstr- The part of the query string specific to this parserlocalParams- The set of parameters that are specific to this QParser. See https://solr.apache.org/guide/solr/latest/query-guide/local-params.htmlparams- The rest of theSolrParamsreq- The originalSolrQueryRequest.
-
-
Method Detail
-
setFlags
public void setFlags(int flags)
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
getFlags
public int getFlags()
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
isFilter
public boolean isFilter()
- WARNING: This API is experimental and might change in incompatible ways in the next release.
- Query is in the context of a filter, where scores don't matter
-
setIsFilter
public void setIsFilter(boolean isFilter)
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
parse
public abstract org.apache.lucene.search.Query parse() throws SyntaxErrorCreate and return theQueryobject represented byqstr. Null MAY be returned to signify there was no input (e.g. no query string) to parse.- Throws:
SyntaxError- See Also:
getQuery()
-
getLocalParams
public org.apache.solr.common.params.SolrParams getLocalParams()
-
setLocalParams
public void setLocalParams(org.apache.solr.common.params.SolrParams localParams)
-
getParams
public org.apache.solr.common.params.SolrParams getParams()
-
setParams
public void setParams(org.apache.solr.common.params.SolrParams params)
-
getReq
public SolrQueryRequest getReq()
-
setReq
public void setReq(SolrQueryRequest req)
-
getString
public String getString()
-
setString
public void setString(String s)
-
getQuery
public org.apache.lucene.search.Query getQuery() throws SyntaxErrorReturns the resulting query from this QParser, calling parse() only the first time and caching the Query result. A null return is possible!- Throws:
SyntaxError
-
subQuery
public QParser subQuery(String q, String defaultType) throws SyntaxError
Create a new QParser for parsing an embedded sub-query- Throws:
SyntaxError
-
getSortSpec
public SortSpec getSortSpec(boolean useGlobalParams) throws SyntaxError
- Parameters:
useGlobalParams- look up sort, start, rows in global params if not in local params- Returns:
- the sort specification
- Throws:
SyntaxError
-
getDefaultHighlightFields
public String[] getDefaultHighlightFields()
-
getHighlightQuery
public org.apache.lucene.search.Query getHighlightQuery() throws SyntaxError- Throws:
SyntaxError
-
addDebugInfo
public void addDebugInfo(org.apache.solr.common.util.NamedList<Object> debugInfo)
-
getParser
public static QParser getParser(String qstr, SolrQueryRequest req) throws SyntaxError
Create aQParserto parseqstr, using the "lucene" (QParserPlugin.DEFAULT_QTYPE) query parser. The query parser may be overridden by local-params in the query string itself. For example if qstr={!prefix f=myfield}foothen the prefix query parser will be used.- Throws:
SyntaxError
-
getParser
public static QParser getParser(String qstr, String defaultParser, SolrQueryRequest req) throws SyntaxError
Create aQParserto parseqstrusing thedefaultParser. Note that local-params is only parsed when the defaultParser is "lucene" or "func".- Throws:
SyntaxError
-
getParser
public static QParser getParser(String qstr, String parserName, boolean allowLocalParams, SolrQueryRequest req) throws SyntaxError
Expert: Create aQParserto parseqstrusing theparserNameparser, while allowing a toggle for whether local-params may be parsed. The query parser may be overridden by local parameters in the query string itself (assumingallowLocalParams. For example if parserName=dismaxand qstr=foo, then the dismax query parser will be used to parse and construct the query object. However if qstr={!prefix f=myfield}foothen the prefix query parser will be used.- Parameters:
allowLocalParams- Whether this query parser should parse local-params syntax. Note that the "lucene" query parser natively parses local-params regardless.- Throws:
SyntaxError- NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
-
-