public abstract class SirenQParser
extends org.apache.solr.search.QParser
SirenQParser
is in charge of parsing a SIREn query request.
Expand the query to multiple fields by constructing a disjunction of the parsed query across the fields.
For each nested
parameter in the request, its argument
is parsed as a subquery and added to the main query.
The default operator for use by the query parsers is StandardQueryConfigHandler.Operator.AND
. It
can be overwritten using the parameter QueryParsing.OP
.
Modifier and Type | Field and Description |
---|---|
protected Properties |
qnames |
Constructor and Description |
---|
SirenQParser(String qstr,
org.apache.solr.common.params.SolrParams localParams,
org.apache.solr.common.params.SolrParams params,
org.apache.solr.request.SolrQueryRequest req) |
Modifier and Type | Method and Description |
---|---|
protected org.apache.lucene.queryparser.flexible.standard.config.StandardQueryConfigHandler.Operator |
getDefaultOperator() |
org.apache.lucene.search.Query |
parse() |
protected abstract org.apache.lucene.search.Query |
parse(String field,
String qstr,
Map<String,org.apache.lucene.analysis.Analyzer> datatypeConfig) |
static Map<String,Float> |
parseQueryFields(org.apache.solr.schema.IndexSchema indexSchema,
org.apache.solr.common.params.SolrParams solrParams)
Uses
SolrPluginUtils.parseFieldBoosts(String) with the 'qf'
parameter. |
void |
setQNames(Properties qnames)
Set the QNames mapping for use in the query parser.
|
org.apache.solr.search.QParser |
subQuery(String q,
String defaultType)
Create a new QParser for parsing an embedded nested query.
|
protected Properties qnames
public SirenQParser(String qstr, org.apache.solr.common.params.SolrParams localParams, org.apache.solr.common.params.SolrParams params, org.apache.solr.request.SolrQueryRequest req)
public void setQNames(Properties qnames)
public org.apache.lucene.search.Query parse() throws org.apache.lucene.queryparser.classic.ParseException
parse
in class org.apache.solr.search.QParser
org.apache.lucene.queryparser.classic.ParseException
protected abstract org.apache.lucene.search.Query parse(String field, String qstr, Map<String,org.apache.lucene.analysis.Analyzer> datatypeConfig) throws org.apache.lucene.queryparser.classic.ParseException
org.apache.lucene.queryparser.classic.ParseException
public org.apache.solr.search.QParser subQuery(String q, String defaultType) throws org.apache.lucene.queryparser.classic.ParseException
Remove the nested parameters from the original request to avoid infinite recursion.
subQuery
in class org.apache.solr.search.QParser
org.apache.lucene.queryparser.classic.ParseException
protected org.apache.lucene.queryparser.flexible.standard.config.StandardQueryConfigHandler.Operator getDefaultOperator()
public static Map<String,Float> parseQueryFields(org.apache.solr.schema.IndexSchema indexSchema, org.apache.solr.common.params.SolrParams solrParams) throws org.apache.lucene.queryparser.classic.ParseException
SolrPluginUtils.parseFieldBoosts(String)
with the 'qf'
parameter. Falls back to the 'df' parameter or
IndexSchema.getDefaultSearchFieldName()
.org.apache.lucene.queryparser.classic.ParseException
Copyright © 2014. All rights reserved.