|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.lucene.queryParser.core.QueryParserHelper org.apache.lucene.queryParser.standard.StandardQueryParser
public class StandardQueryParser
This class is a helper that enables users to easily use the Lucene query parser.
To construct a Query object from a query string, use the
parse(String, String)
method:
To change any configuration before parsing the query string do, for example:
StandardQueryParser
is a
StandardQueryConfigHandler
The syntax for query strings is as follows (copied from the old QueryParser javadoc):
+
) or a minus (-
) sign, indicating that
the clause is required or prohibited respectively; or
+
/-
prefix to require any of a set of terms.
Query ::= ( Clause )* Clause ::= ["+", "-"] [<TERM> ":"] ( <TERM> | "(" Query ")" )
Examples of appropriately formatted queries can be found in the query syntax documentation.
The text parser used by this helper is a StandardSyntaxParser
.
The query node processor used by this helper is a
StandardQueryNodeProcessorPipeline
.
The builder used by this helper is a StandardQueryTreeBuilder
.
StandardQueryParser
,
StandardQueryConfigHandler
,
StandardSyntaxParser
,
StandardQueryNodeProcessorPipeline
,
StandardQueryTreeBuilder
Constructor Summary | |
---|---|
StandardQueryParser()
Constructs a StandardQueryParser object. |
|
StandardQueryParser(Analyzer analyzer)
Constructs a StandardQueryParser object and sets an
Analyzer to it. |
Method Summary | |
---|---|
boolean |
getAllowLeadingWildcard()
|
Analyzer |
getAnalyzer()
|
DateTools.Resolution |
getDateResolution()
Returns the default DateTools.Resolution used for certain field when no
DateTools.Resolution is defined for this field. |
Map<CharSequence,DateTools.Resolution> |
getDateResolutionMap()
Returns the field to DateTools.Resolution map used to normalize each date
field. |
StandardQueryConfigHandler.Operator |
getDefaultOperator()
Gets implicit operator setting, which will be either StandardQueryConfigHandler.Operator.AND
or StandardQueryConfigHandler.Operator.OR . |
boolean |
getEnablePositionIncrements()
|
Map<String,Float> |
getFieldsBoost()
Returns the field to boost map used to set boost for each field. |
float |
getFuzzyMinSim()
Get the minimal similarity for fuzzy queries. |
int |
getFuzzyPrefixLength()
Get the prefix length for fuzzy queries. |
Locale |
getLocale()
Returns current locale, allowing access by subclasses. |
boolean |
getLowercaseExpandedTerms()
|
void |
getMultiFields(CharSequence[] fields)
Returns the fields used to expand the query when the field for a certain query is null |
MultiTermQuery.RewriteMethod |
getMultiTermRewriteMethod()
|
Map<String,NumericConfig> |
getNumericConfigMap()
|
int |
getPhraseSlop()
Gets the default slop for phrases. |
Collator |
getRangeCollator()
|
Query |
parse(String query,
String defaultField)
Overrides QueryParserHelper.parse(String, String) so it casts the
return object to Query . |
void |
setAllowLeadingWildcard(boolean allowLeadingWildcard)
Set to true to allow leading wildcard characters. |
void |
setAnalyzer(Analyzer analyzer)
|
void |
setDateResolution(DateTools.Resolution dateResolution)
Sets the default DateTools.Resolution used for certain field when no
DateTools.Resolution is defined for this field. |
void |
setDateResolution(Map<CharSequence,DateTools.Resolution> dateRes)
Deprecated. this method was renamed to setDateResolutionMap(Map) |
void |
setDateResolutionMap(Map<CharSequence,DateTools.Resolution> dateRes)
Sets the DateTools.Resolution used for each field |
void |
setDefaultOperator(DefaultOperatorAttribute.Operator operator)
Deprecated. |
void |
setDefaultOperator(StandardQueryConfigHandler.Operator operator)
Sets the boolean operator of the QueryParser. |
void |
setDefaultPhraseSlop(int defaultPhraseSlop)
Deprecated. renamed to setPhraseSlop(int) |
void |
setEnablePositionIncrements(boolean enabled)
Set to true to enable position increments in result query. |
void |
setFieldsBoost(Map<String,Float> boosts)
Sets the boost used for each field. |
void |
setFuzzyMinSim(float fuzzyMinSim)
Set the minimum similarity for fuzzy queries. |
void |
setFuzzyPrefixLength(int fuzzyPrefixLength)
Set the prefix length for fuzzy queries. |
void |
setLocale(Locale locale)
Set locale used by date range parsing. |
void |
setLowercaseExpandedTerms(boolean lowercaseExpandedTerms)
Set to true to allow leading wildcard characters. |
void |
setMultiFields(CharSequence[] fields)
Set the fields a query should be expanded to when the field is null |
void |
setMultiTermRewriteMethod(MultiTermQuery.RewriteMethod method)
By default, it uses MultiTermQuery.CONSTANT_SCORE_AUTO_REWRITE_DEFAULT when creating a
prefix, wildcard and range queries. |
void |
setNumericConfigMap(Map<String,NumericConfig> numericConfigMap)
|
void |
setPhraseSlop(int defaultPhraseSlop)
Sets the default slop for phrases. |
void |
setRangeCollator(Collator collator)
Sets the collator used to determine index term inclusion in ranges for RangeQuerys. |
String |
toString()
|
Methods inherited from class org.apache.lucene.queryParser.core.QueryParserHelper |
---|
getQueryBuilder, getQueryConfigHandler, getQueryNodeProcessor, getSyntaxParser, setQueryBuilder, setQueryConfigHandler, setQueryNodeProcessor, setSyntaxParser |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public StandardQueryParser()
StandardQueryParser
object.
public StandardQueryParser(Analyzer analyzer)
StandardQueryParser
object and sets an
Analyzer
to it. The same as:
analyzer
- the analyzer to be used by this query parser helperMethod Detail |
---|
public String toString()
toString
in class Object
public Query parse(String query, String defaultField) throws QueryNodeException
QueryParserHelper.parse(String, String)
so it casts the
return object to Query
. For more reference about this method, check
QueryParserHelper.parse(String, String)
.
parse
in class QueryParserHelper
query
- the query stringdefaultField
- the default field used by the text parser
QueryNodeException
- if something wrong happens along the three
phasespublic StandardQueryConfigHandler.Operator getDefaultOperator()
StandardQueryConfigHandler.Operator.AND
or StandardQueryConfigHandler.Operator.OR
.
public void setRangeCollator(Collator collator)
collator
- the collator to use when constructing
RangeQueryNode
spublic Collator getRangeCollator()
@Deprecated public void setDefaultOperator(DefaultOperatorAttribute.Operator operator)
StandardQueryConfigHandler.Operator.OR
) terms without any modifiers are considered optional:
for example capital of Hungary
is equal to
capital OR of OR Hungary
.StandardQueryConfigHandler.Operator.AND
mode terms are considered to be in conjunction: the
above mentioned query is parsed as capital AND of AND Hungary
public void setDefaultOperator(StandardQueryConfigHandler.Operator operator)
StandardQueryConfigHandler.Operator.OR
) terms without any modifiers are considered optional:
for example capital of Hungary
is equal to
capital OR of OR Hungary
.StandardQueryConfigHandler.Operator.AND
mode terms are considered to be in conjunction: the
above mentioned query is parsed as capital AND of AND Hungary
public void setLowercaseExpandedTerms(boolean lowercaseExpandedTerms)
true
to allow leading wildcard characters.
When set, *
or ?
are allowed as the first
character of a PrefixQuery and WildcardQuery. Note that this can produce
very slow queries on big indexes.
Default: false.
public boolean getLowercaseExpandedTerms()
setLowercaseExpandedTerms(boolean)
public void setAllowLeadingWildcard(boolean allowLeadingWildcard)
true
to allow leading wildcard characters.
When set, *
or ?
are allowed as the first
character of a PrefixQuery and WildcardQuery. Note that this can produce
very slow queries on big indexes.
Default: false.
public void setEnablePositionIncrements(boolean enabled)
true
to enable position increments in result query.
When set, result phrase and multi-phrase queries will be aware of position increments. Useful when e.g. a StopFilter increases the position increment of the token that follows an omitted token.
Default: false.
public boolean getEnablePositionIncrements()
setEnablePositionIncrements(boolean)
public void setMultiTermRewriteMethod(MultiTermQuery.RewriteMethod method)
MultiTermQuery.CONSTANT_SCORE_AUTO_REWRITE_DEFAULT
when creating a
prefix, wildcard and range queries. This implementation is generally
preferable because it a) Runs faster b) Does not have the scarcity of terms
unduly influence score c) avoids any TooManyListenersException
exception. However, if your application really needs to use the
old-fashioned boolean queries expansion rewriting and the above points are
not relevant then use this change the rewrite method.
public MultiTermQuery.RewriteMethod getMultiTermRewriteMethod()
setMultiTermRewriteMethod(org.apache.lucene.search.MultiTermQuery.RewriteMethod)
public void setMultiFields(CharSequence[] fields)
null
fields
- the fields used to expand the querypublic void getMultiFields(CharSequence[] fields)
null
fields
- the fields used to expand the querypublic void setFuzzyPrefixLength(int fuzzyPrefixLength)
fuzzyPrefixLength
- The fuzzyPrefixLength to set.public void setNumericConfigMap(Map<String,NumericConfig> numericConfigMap)
public Map<String,NumericConfig> getNumericConfigMap()
public void setLocale(Locale locale)
public Locale getLocale()
@Deprecated public void setDefaultPhraseSlop(int defaultPhraseSlop)
setPhraseSlop(int)
public void setPhraseSlop(int defaultPhraseSlop)
public void setAnalyzer(Analyzer analyzer)
public Analyzer getAnalyzer()
public boolean getAllowLeadingWildcard()
setAllowLeadingWildcard(boolean)
public float getFuzzyMinSim()
public int getFuzzyPrefixLength()
public int getPhraseSlop()
public void setFuzzyMinSim(float fuzzyMinSim)
FuzzyQuery.defaultMinSimilarity
.
public void setFieldsBoost(Map<String,Float> boosts)
boosts
- a collection that maps a field to its boostpublic Map<String,Float> getFieldsBoost()
public void setDateResolution(DateTools.Resolution dateResolution)
DateTools.Resolution
used for certain field when no
DateTools.Resolution
is defined for this field.
dateResolution
- the default DateTools.Resolution
public DateTools.Resolution getDateResolution()
DateTools.Resolution
used for certain field when no
DateTools.Resolution
is defined for this field.
DateTools.Resolution
@Deprecated public void setDateResolution(Map<CharSequence,DateTools.Resolution> dateRes)
setDateResolutionMap(Map)
DateTools.Resolution
used for each field
dateRes
- a collection that maps a field to its DateTools.Resolution
public Map<CharSequence,DateTools.Resolution> getDateResolutionMap()
DateTools.Resolution
map used to normalize each date
field.
DateTools.Resolution
mappublic void setDateResolutionMap(Map<CharSequence,DateTools.Resolution> dateRes)
DateTools.Resolution
used for each field
dateRes
- a collection that maps a field to its DateTools.Resolution
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |