Package org.dlese.dpc.index.queryParser
Class FieldExpansionQueryParser
java.lang.Object
org.apache.lucene.queryParser.QueryParser
org.dlese.dpc.index.queryParser.FieldExpansionQueryParser
- All Implemented Interfaces:
org.apache.lucene.queryParser.QueryParserConstants
public class FieldExpansionQueryParser
extends org.apache.lucene.queryParser.QueryParser
A QueryParser that modifies a user's query by expanding the fields that are searched, applying boosting,
and applying Query mappings for the given virtual field/terms. The static parse method must be used - see
it's definition for details.
- Author:
- John Weatherley
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.lucene.queryParser.QueryParser
org.apache.lucene.queryParser.QueryParser.Operator -
Field Summary
Fields inherited from class org.apache.lucene.queryParser.QueryParser
AND_OPERATOR, jj_nt, OR_OPERATOR, token, token_sourceFields inherited from interface org.apache.lucene.queryParser.QueryParserConstants
_ESCAPED_CHAR, _NUM_CHAR, _QUOTED_CHAR, _TERM_CHAR, _TERM_START_CHAR, _WHITESPACE, AND, Boost, CARAT, COLON, DEFAULT, EOF, FUZZY_SLOP, LPAREN, MINUS, NOT, NUMBER, OR, PLUS, PREFIXTERM, QUOTED, RangeEx, RANGEEX_END, RANGEEX_GOOP, RANGEEX_QUOTED, RANGEEX_START, RANGEEX_TO, RangeIn, RANGEIN_END, RANGEIN_GOOP, RANGEIN_QUOTED, RANGEIN_START, RANGEIN_TO, RPAREN, STAR, TERM, tokenImage, WILDTERM -
Method Summary
Modifier and TypeMethodDescriptionprotected org.apache.lucene.search.QuerygetFieldQuery(String field, String queryText) Gets the fieldQuery attribute of the FieldExpansionQueryParser objectorg.apache.lucene.search.QueryParses a query which searches on the fields specified.org.apache.lucene.search.QueryParses a query string, returning a Query.static org.apache.lucene.search.Queryparse(String query, org.apache.lucene.analysis.Analyzer analyzer, String[] expansionFields, String[] boostingFields, Map boostValues, VirtualSearchFieldMapper mappedFields, org.apache.lucene.queryParser.QueryParser.Operator defaultOperator) Parses the query text to create an expanded Lucene Query.static voidsetDebug(boolean db) Sets the debug attribute of the FieldQueryParser objectMethods inherited from class org.apache.lucene.queryParser.QueryParser
addClause, Clause, Conjunction, disable_tracing, enable_tracing, escape, generateParseException, getAllowLeadingWildcard, getAnalyzer, getBooleanQuery, getBooleanQuery, getDateResolution, getDefaultOperator, getEnablePositionIncrements, getField, getFieldQuery, getFuzzyMinSim, getFuzzyPrefixLength, getFuzzyQuery, getLocale, getLowercaseExpandedTerms, getMultiTermRewriteMethod, getNextToken, getPhraseSlop, getPrefixQuery, getRangeCollator, getRangeQuery, getToken, getWildcardQuery, main, Modifiers, newBooleanClause, newBooleanQuery, newFuzzyQuery, newMatchAllDocsQuery, newMultiPhraseQuery, newPhraseQuery, newPrefixQuery, newRangeQuery, newTermQuery, newWildcardQuery, Query, ReInit, ReInit, setAllowLeadingWildcard, setDateResolution, setDateResolution, setDefaultOperator, setEnablePositionIncrements, setFuzzyMinSim, setFuzzyPrefixLength, setLocale, setLowercaseExpandedTerms, setMultiTermRewriteMethod, setPhraseSlop, setRangeCollator, Term, TopLevelQuery
-
Method Details
-
parse
public static org.apache.lucene.search.Query parse(String query, org.apache.lucene.analysis.Analyzer analyzer, String[] expansionFields, String[] boostingFields, Map boostValues, VirtualSearchFieldMapper mappedFields, org.apache.lucene.queryParser.QueryParser.Operator defaultOperator) throws org.apache.lucene.queryParser.ParseException Parses the query text to create an expanded Lucene Query. Default text is searched in the given expansion fields with boosting applied for the given boosting fields. At least one field must be supplied in the expansion fields in order to form a valid query.If n fields are specified, this effectively constructs:
(field1:query) (field2:query) (field3:query)...(fieldn:query)- Parameters:
query- The query textanalyzer- The Analyzer to userexpansionFields- Fields to search in for default text, which must contain at least one fieldboostingFields- Fields to boost terms found in the default text, or nullboostValues- A Map of boosting values corresponding the the boostingFields - Map of String/Float pairs, or nullmappedFields- Field/term mappings to apply, or nulldefaultOperator- Default AND or OR operator- Returns:
- A Query
- Throws:
org.apache.lucene.queryParser.ParseException- If unable to parse the query
-
parse
public org.apache.lucene.search.Query parse(String query) throws org.apache.lucene.queryParser.ParseException Parses a query which searches on the fields specified. This expands the query so that multiple fields are searched for the default text, and boosting is applied for the given boosting fields.If n fields are specified, this effectively constructs:
(field1:query) (field2:query) (field3:query)...(fieldn:query)- Overrides:
parsein classorg.apache.lucene.queryParser.QueryParser- Parameters:
query- Query string to parse- Returns:
- A Query or null if none
- Throws:
org.apache.lucene.queryParser.ParseException- if query parsing failsorg.apache.lucene.queryParser.TokenMgrError- if query parsing fails
-
parse
public org.apache.lucene.search.Query parse(String query, String field) throws org.apache.lucene.queryParser.ParseException Parses a query string, returning a Query. Same as the QueryParser parse method but adds the ability to specify the default field rather than using the one initialized in the constructor.- Parameters:
query- the query string to be parsed.field- the default field for this query.- Returns:
- A Query Object.
- Throws:
org.apache.lucene.queryParser.ParseException- if the parsing fails
-
getFieldQuery
protected org.apache.lucene.search.Query getFieldQuery(String field, String queryText) throws org.apache.lucene.queryParser.ParseException Gets the fieldQuery attribute of the FieldExpansionQueryParser object- Overrides:
getFieldQueryin classorg.apache.lucene.queryParser.QueryParser- Parameters:
field- The field being processedqueryText- The text in the field- Returns:
- The fieldQuery value
- Throws:
org.apache.lucene.queryParser.ParseException- If error
-
setDebug
public static void setDebug(boolean db) Sets the debug attribute of the FieldQueryParser object- Parameters:
db- The new debug value
-