class ExtendedDismaxQParser extends QParser
Modifier and Type | Class and Description |
---|---|
(package private) static class |
ExtendedDismaxQParser.Clause |
private static interface |
ExtendedDismaxQParser.DMP
shorten the class references for utilities
|
(package private) static class |
ExtendedDismaxQParser.DynamicField |
(package private) class |
ExtendedDismaxQParser.ExtendedSolrQueryParser
A subclass of SolrQueryParser that supports aliasing fields for
constructing DisjunctionMaxQueries.
|
(package private) static class |
ExtendedDismaxQParser.QType |
private static class |
ExtendedDismaxQParser.U
shorten the class references for utilities
|
(package private) static class |
ExtendedDismaxQParser.UserFields
Class that encapsulates the input from userFields parameter and can answer whether
a field allowed or disallowed as fielded query in the query string
|
Modifier and Type | Field and Description |
---|---|
private QParser |
altQParser |
private org.apache.lucene.search.Query |
altUserQuery |
private java.lang.String[] |
boostParams |
private java.util.List<org.apache.lucene.search.Query> |
boostQueries |
private static java.lang.String |
IMPOSSIBLE_FIELD_NAME
A field we can't ever find in any schema, so we can safely tell
DisjunctionMaxQueryParser to use it as our defaultField, and
map aliases from it to any field in our schema.
|
private java.lang.String[] |
multBoosts |
private org.apache.lucene.search.Query |
parsedUserQuery |
private java.util.Map<java.lang.String,java.lang.Float> |
queryFields
The field names specified by 'qf' that (most) clauses will
be queried against
|
private SolrParams |
solrParams |
(package private) static java.lang.RuntimeException |
unknownField |
private ExtendedDismaxQParser.UserFields |
userFields
The field names specified by 'uf' that users are
allowed to include literally in their query string.
|
localParams, localParamsEnd, params, qstr, query, recurseCount, req, stringIncludingLocalParams, valFollowedParams
Constructor and Description |
---|
ExtendedDismaxQParser(java.lang.String qstr,
SolrParams localParams,
SolrParams params,
SolrQueryRequest req) |
Modifier and Type | Method and Description |
---|---|
private void |
addAliasesFromRequest(ExtendedDismaxQParser.ExtendedSolrQueryParser up,
float tiebreaker)
Extracts all the alised fields from the requests and adds them to up
|
void |
addDebugInfo(NamedList<java.lang.Object> debugInfo) |
private void |
addShingledPhraseQueries(org.apache.lucene.search.BooleanQuery mainQuery,
java.util.List<ExtendedDismaxQParser.Clause> clauses,
java.util.Map<java.lang.String,java.lang.Float> fields,
int shingleSize,
float tiebreaker,
int slop)
Modifies the main query by adding a new optional Query consisting
of shingled phrase queries across the specified clauses using the
specified field => boost mappings.
|
java.lang.String[] |
getDefaultHighlightFields() |
java.lang.String |
getFieldName(java.lang.String s,
int pos,
int end)
returns a field name or legal field alias from the current
position of the string
|
org.apache.lucene.search.Query |
getHighlightQuery() |
(package private) static boolean |
isEmpty(org.apache.lucene.search.Query q) |
org.apache.lucene.search.Query |
parse()
Create and return the
Query object represented by qstr . |
static java.lang.CharSequence |
partialEscape(java.lang.CharSequence s) |
static java.util.List<java.lang.String> |
split(java.lang.String s,
boolean ignoreQuote) |
java.util.List<ExtendedDismaxQParser.Clause> |
splitIntoClauses(java.lang.String s,
boolean ignoreQuote) |
private static java.lang.String IMPOSSIBLE_FIELD_NAME
private java.util.Map<java.lang.String,java.lang.Float> queryFields
private ExtendedDismaxQParser.UserFields userFields
private org.apache.lucene.search.Query parsedUserQuery
private java.lang.String[] boostParams
private java.lang.String[] multBoosts
private java.util.List<org.apache.lucene.search.Query> boostQueries
private org.apache.lucene.search.Query altUserQuery
private QParser altQParser
private SolrParams solrParams
static final java.lang.RuntimeException unknownField
public ExtendedDismaxQParser(java.lang.String qstr, SolrParams localParams, SolrParams params, SolrQueryRequest req)
public org.apache.lucene.search.Query parse() throws org.apache.lucene.queryParser.ParseException
QParser
Query
object represented by qstr
. Null MAY be returned to signify
there was no input (e.g. no query string) to parse.parse
in class QParser
org.apache.lucene.queryParser.ParseException
QParser.getQuery()
private void addAliasesFromRequest(ExtendedDismaxQParser.ExtendedSolrQueryParser up, float tiebreaker) throws org.apache.lucene.queryParser.ParseException
up
- tiebreaker
- org.apache.lucene.queryParser.ParseException
private void addShingledPhraseQueries(org.apache.lucene.search.BooleanQuery mainQuery, java.util.List<ExtendedDismaxQParser.Clause> clauses, java.util.Map<java.lang.String,java.lang.Float> fields, int shingleSize, float tiebreaker, int slop) throws org.apache.lucene.queryParser.ParseException
mainQuery
- Where the phrase boosting queries will be addedclauses
- Clauses that will be used to construct the phrasesfields
- Field => boost mappings for the phrase queriesshingleSize
- how big the phrases should be, 0 means a single phrasetiebreaker
- tie breker value for the DisjunctionMaxQueriesslop
- slop value for the constructed phrasesorg.apache.lucene.queryParser.ParseException
public java.lang.String[] getDefaultHighlightFields()
getDefaultHighlightFields
in class QParser
public org.apache.lucene.search.Query getHighlightQuery() throws org.apache.lucene.queryParser.ParseException
getHighlightQuery
in class QParser
org.apache.lucene.queryParser.ParseException
public void addDebugInfo(NamedList<java.lang.Object> debugInfo)
addDebugInfo
in class QParser
public static java.lang.CharSequence partialEscape(java.lang.CharSequence s)
public java.util.List<ExtendedDismaxQParser.Clause> splitIntoClauses(java.lang.String s, boolean ignoreQuote)
public java.lang.String getFieldName(java.lang.String s, int pos, int end)
solrParams
- public static java.util.List<java.lang.String> split(java.lang.String s, boolean ignoreQuote)
static boolean isEmpty(org.apache.lucene.search.Query q)