org.apache.solr.util
Class SolrPluginUtils.DisjunctionMaxQueryParser
java.lang.Object
org.apache.solr.parser.SolrQueryParserBase
org.apache.solr.parser.QueryParser
org.apache.solr.search.SolrQueryParser
org.apache.solr.util.SolrPluginUtils.DisjunctionMaxQueryParser
- All Implemented Interfaces:
- QueryParserConstants
- Enclosing class:
- SolrPluginUtils
public static class SolrPluginUtils.DisjunctionMaxQueryParser
- extends SolrQueryParser
A subclass of SolrQueryParser that supports aliasing fields for
constructing DisjunctionMaxQueries.
Fields inherited from interface org.apache.solr.parser.QueryParserConstants |
_ESCAPED_CHAR, _NUM_CHAR, _QUOTED_CHAR, _SQUOTED_CHAR, _TERM_CHAR, _TERM_START_CHAR, _WHITESPACE, AND, BAREOPER, Boost, CARAT, COLON, DEFAULT, EOF, FUZZY_SLOP, LPARAMS, LPAREN, MINUS, NOT, NUMBER, OR, PLUS, PREFIXTERM, QUOTED, Range, RANGE_GOOP, RANGE_QUOTED, RANGE_TO, RANGEEX_END, RANGEEX_START, RANGEIN_END, RANGEIN_START, REGEXPTERM, RPAREN, STAR, TERM, tokenImage, WILDTERM |
Method Summary |
void |
addAlias(String field,
float tiebreaker,
Map<String,Float> fieldBoosts)
Add an alias to this query parser. |
protected Query |
getFieldQuery(String field,
String queryText,
boolean quoted)
Delegates to the super class unless the field has been specified
as an alias -- in which case we recurse on each of
the aliased fields, and the results are composed into a
DisjunctionMaxQuery. |
Methods inherited from class org.apache.solr.parser.QueryParser |
Clause, Conjunction, disable_tracing, enable_tracing, generateParseException, getNextToken, getToken, Modifiers, Query, ReInit, ReInit, Term, TopLevelQuery |
Methods inherited from class org.apache.solr.parser.SolrQueryParserBase |
addClause, analyzeIfMultitermTermText, escape, getAllowLeadingWildcard, getAutoGeneratePhraseQueries, getBooleanQuery, getBooleanQuery, getDefaultField, getDefaultOperator, getEnablePositionIncrements, getExplicitField, getField, getFieldQuery, getFuzzyMinSim, getFuzzyPrefixLength, getFuzzyQuery, getLocalParams, getMultiTermRewriteMethod, getPhraseSlop, getPrefixQuery, getRangeQuery, getRegexpQuery, getReversedWildcardFilterFactory, getWildcardQuery, init, newBooleanClause, newBooleanQuery, newFieldQuery, newFuzzyQuery, newMatchAllDocsQuery, newMultiPhraseQuery, newPhraseQuery, newPrefixQuery, newRegexpQuery, newTermQuery, newWildcardQuery, parse, setAllowLeadingWildcard, setAutoGeneratePhraseQueries, setDefaultOperator, setEnablePositionIncrements, setFuzzyMinSim, setFuzzyPrefixLength, setMultiTermRewriteMethod, setPhraseSlop |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
aliases
protected Map<String,SolrPluginUtils.DisjunctionMaxQueryParser.Alias> aliases
- Where we store a map from field name we expect to see in our query
string, to Alias object containing the fields to use in our
DisjunctionMaxQuery and the tiebreaker to use.
SolrPluginUtils.DisjunctionMaxQueryParser
public SolrPluginUtils.DisjunctionMaxQueryParser(QParser qp,
String defaultField)
addAlias
public void addAlias(String field,
float tiebreaker,
Map<String,Float> fieldBoosts)
- Add an alias to this query parser.
- Parameters:
field
- the field name that should trigger alias mappingfieldBoosts
- the mapping from fieldname to boost value that
should be used to build up the clauses of the
DisjunctionMaxQuery.tiebreaker
- to the tiebreaker to be used in the
DisjunctionMaxQuery- See Also:
SolrPluginUtils.parseFieldBoosts(java.lang.String)
getFieldQuery
protected Query getFieldQuery(String field,
String queryText,
boolean quoted)
throws SyntaxError
- Delegates to the super class unless the field has been specified
as an alias -- in which case we recurse on each of
the aliased fields, and the results are composed into a
DisjunctionMaxQuery. (so yes: aliases which point at other
aliases should work)
- Overrides:
getFieldQuery
in class SolrQueryParserBase
- Throws:
SyntaxError
Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.