|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.apache.solr.search.QParser
org.apache.solr.search.ExtendedDismaxQParser
public class ExtendedDismaxQParser
Query parser that generates DisjunctionMaxQueries based on user configuration. See Wiki page http://wiki.apache.org/solr/ExtendedDisMax
| Nested Class Summary | |
|---|---|
protected static class |
ExtendedDismaxQParser.Clause
|
class |
ExtendedDismaxQParser.ExtendedDismaxConfiguration
Simple container for configuration information used when parsing queries |
static class |
ExtendedDismaxQParser.ExtendedSolrQueryParser
A subclass of SolrQueryParser that supports aliasing fields for constructing DisjunctionMaxQueries. |
| Field Summary |
|---|
| Fields inherited from class org.apache.solr.search.QParser |
|---|
localParams, localParamsEnd, params, qstr, query, recurseCount, req, stringIncludingLocalParams, valFollowedParams |
| Constructor Summary | |
|---|---|
ExtendedDismaxQParser(String qstr,
SolrParams localParams,
SolrParams params,
SolrQueryRequest req)
|
|
| Method Summary | |
|---|---|
void |
addDebugInfo(NamedList<Object> debugInfo)
|
protected void |
addPhraseFieldQueries(BooleanQuery query,
List<ExtendedDismaxQParser.Clause> clauses,
ExtendedDismaxQParser.ExtendedDismaxConfiguration config)
Adds shingled phrase queries to all the fields specified in the pf, pf2 anf pf3 parameters |
protected void |
addShingledPhraseQueries(BooleanQuery mainQuery,
List<ExtendedDismaxQParser.Clause> clauses,
Map<String,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. |
protected ExtendedDismaxQParser.ExtendedDismaxConfiguration |
createConfiguration(String qstr,
SolrParams localParams,
SolrParams params,
SolrQueryRequest req)
Creates an instance of ExtendedDismaxConfiguration. |
protected ExtendedDismaxQParser.ExtendedSolrQueryParser |
createEdismaxQueryParser(QParser qParser,
String field)
Creates an instance of ExtendedSolrQueryParser, the query parser that's going to be used to parse the query. |
protected List<Query> |
getBoostFunctions()
Parses all function queries |
protected List<Query> |
getBoostQueries()
Parses all boost queries |
String[] |
getDefaultHighlightFields()
|
String |
getFieldName(String s,
int pos,
int end)
returns a field name or legal field alias from the current position of the string |
Query |
getHighlightQuery()
|
protected List<ValueSource> |
getMultiplicativeBoosts()
Parses all multiplicative boosts |
Query |
parse()
Create and return the Query object represented by qstr. |
protected Query |
parseEscapedQuery(ExtendedDismaxQParser.ExtendedSolrQueryParser up,
String escapedUserQuery,
ExtendedDismaxQParser.ExtendedDismaxConfiguration config)
Parses an escaped version of the user's query. |
protected Query |
parseOriginalQuery(ExtendedDismaxQParser.ExtendedSolrQueryParser up,
String mainUserQuery,
List<ExtendedDismaxQParser.Clause> clauses,
ExtendedDismaxQParser.ExtendedDismaxConfiguration config)
Parses the user's original query. |
protected String |
rebuildUserQuery(List<ExtendedDismaxQParser.Clause> clauses,
boolean lowercaseOperators)
Generates a query string from the raw clauses, uppercasing 'and' and 'or' as needed. |
protected boolean |
shouldRemoveStopFilter(ExtendedDismaxQParser.ExtendedDismaxConfiguration config,
Query query)
Determines if query should be re-parsed removing the stop filter. |
static List<String> |
split(String s,
boolean ignoreQuote)
|
List<ExtendedDismaxQParser.Clause> |
splitIntoClauses(String s,
boolean ignoreQuote)
|
| Methods inherited from class org.apache.solr.search.QParser |
|---|
getLocalParams, getParam, getParams, getParser, getQuery, getReq, getSort, getString, setLocalParams, setParams, setReq, setString, subQuery |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public ExtendedDismaxQParser(String qstr,
SolrParams localParams,
SolrParams params,
SolrQueryRequest req)
| Method Detail |
|---|
public Query parse()
throws SyntaxError
QParserQuery object represented by qstr. Null MAY be returned to signify
there was no input (e.g. no query string) to parse.
parse in class QParserSyntaxErrorQParser.getQuery()
protected void addPhraseFieldQueries(BooleanQuery query,
List<ExtendedDismaxQParser.Clause> clauses,
ExtendedDismaxQParser.ExtendedDismaxConfiguration config)
throws SyntaxError
SyntaxError
protected ExtendedDismaxQParser.ExtendedDismaxConfiguration createConfiguration(String qstr,
SolrParams localParams,
SolrParams params,
SolrQueryRequest req)
protected ExtendedDismaxQParser.ExtendedSolrQueryParser createEdismaxQueryParser(QParser qParser,
String field)
protected Query parseEscapedQuery(ExtendedDismaxQParser.ExtendedSolrQueryParser up,
String escapedUserQuery,
ExtendedDismaxQParser.ExtendedDismaxConfiguration config)
throws SyntaxError
up - parser usedescapedUserQuery - query that is parsed, should already be escaped so that no trivial parse errors are encounteredconfig - Configuration options for this parse request
SyntaxErrorparseOriginalQuery(org.apache.solr.search.ExtendedDismaxQParser.ExtendedSolrQueryParser, java.lang.String, java.util.List, org.apache.solr.search.ExtendedDismaxQParser.ExtendedDismaxConfiguration) ,
SolrPluginUtils.flattenBooleanQuery(org.apache.lucene.search.BooleanQuery, org.apache.lucene.search.BooleanQuery)
protected Query parseOriginalQuery(ExtendedDismaxQParser.ExtendedSolrQueryParser up,
String mainUserQuery,
List<ExtendedDismaxQParser.Clause> clauses,
ExtendedDismaxQParser.ExtendedDismaxConfiguration config)
up - parser usedmainUserQuery - query string that is parsedclauses - used to dictate "min should match" logicconfig - Configuration options for this parse request
parseEscapedQuery(org.apache.solr.search.ExtendedDismaxQParser.ExtendedSolrQueryParser, java.lang.String, org.apache.solr.search.ExtendedDismaxQParser.ExtendedDismaxConfiguration)
protected boolean shouldRemoveStopFilter(ExtendedDismaxQParser.ExtendedDismaxConfiguration config,
Query query)
protected String rebuildUserQuery(List<ExtendedDismaxQParser.Clause> clauses,
boolean lowercaseOperators)
clauses - the clauses of the query string to be rebuiltlowercaseOperators - if true, lowercase 'and' and 'or' clauses will
be recognized as operators and uppercased in the final query string.
protected List<ValueSource> getMultiplicativeBoosts()
throws SyntaxError
SyntaxError
protected List<Query> getBoostFunctions()
throws SyntaxError
SyntaxError
protected List<Query> getBoostQueries()
throws SyntaxError
SyntaxError
protected void addShingledPhraseQueries(BooleanQuery mainQuery,
List<ExtendedDismaxQParser.Clause> clauses,
Map<String,Float> fields,
int shingleSize,
float tiebreaker,
int slop)
throws SyntaxError
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 breaker value for the DisjunctionMaxQueriesslop - slop value for the constructed phrases
SyntaxErrorpublic String[] getDefaultHighlightFields()
getDefaultHighlightFields in class QParser
public Query getHighlightQuery()
throws SyntaxError
getHighlightQuery in class QParserSyntaxErrorpublic void addDebugInfo(NamedList<Object> debugInfo)
addDebugInfo in class QParser
public List<ExtendedDismaxQParser.Clause> splitIntoClauses(String s,
boolean ignoreQuote)
public String getFieldName(String s,
int pos,
int end)
public static List<String> split(String s,
boolean ignoreQuote)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||