| java.lang.Object org.apache.lucene.queryParser.QueryParser org.apache.lucene.queryParser.analyzing.AnalyzingQueryParser
AnalyzingQueryParser | public class AnalyzingQueryParser extends org.apache.lucene.queryParser.QueryParser (Code) | | Overrides Lucene's default QueryParser so that Fuzzy-, Prefix-, Range-, and WildcardQuerys
are also passed through the given analyzer, but wild card characters (like * )
don't get removed from the search terms.
Warning: This class should only be used with analyzers that do not use stopwords
or that add tokens. Also, several stemming analyzers are inappropriate: for example, GermanAnalyzer
will turn Häuser into hau , but H?user will
become h?user when using this parser and thus no match would be found (i.e.
using this parser will be no improvement over QueryParser in such cases).
author: Ronnie Kolehmainen (ronnie.kolehmainen at ub.uu.se) version: $Revision$, $Date$ |
Method Summary | |
protected Query | getFuzzyQuery(String field, String termStr, float minSimilarity) Called when parser parses an input term token that has the fuzzy suffix (~) appended.
Depending on analyzer and settings, a fuzzy term may (most probably will)
be lower-cased automatically. | protected Query | getPrefixQuery(String field, String termStr) Called when parser parses an input term
token that uses prefix notation; that is, contains a single '*' wildcard
character as its last character. | protected Query | getRangeQuery(String field, String part1, String part2, boolean inclusive) Overrides super class, by passing terms through analyzer. | protected Query | getWildcardQuery(String field, String termStr) Called when parser
parses an input term token that contains one or more wildcard
characters (like * ), but is not a prefix term token (one
that has just a single * character at the end).
Example: will be called for H?user or for H*user
but not for *user .
Depending on analyzer and settings, a wildcard term may (most probably will)
be lower-cased automatically. |
AnalyzingQueryParser | public AnalyzingQueryParser(String field, Analyzer analyzer)(Code) | | Constructs a query parser.
Parameters: field - the default field for query terms. Parameters: analyzer - used to find terms in the query text. |
getFuzzyQuery | protected Query getFuzzyQuery(String field, String termStr, float minSimilarity) throws ParseException(Code) | | Called when parser parses an input term token that has the fuzzy suffix (~) appended.
Depending on analyzer and settings, a fuzzy term may (most probably will)
be lower-cased automatically. It will go through the default Analyzer.
Overrides super class, by passing terms through analyzer.
Parameters: field - Name of the field query will use. Parameters: termStr - Term token to use for building term for the query Resulting Query built for the term exception: ParseException - |
getPrefixQuery | protected Query getPrefixQuery(String field, String termStr) throws ParseException(Code) | | Called when parser parses an input term
token that uses prefix notation; that is, contains a single '*' wildcard
character as its last character. Since this is a special case
of generic wildcard term, and such a query can be optimized easily,
this usually results in a different query object.
Depending on analyzer and settings, a prefix term may (most probably will)
be lower-cased automatically. It will go through the default Analyzer.
Overrides super class, by passing terms through analyzer.
Parameters: field - Name of the field query will use. Parameters: termStr - Term token to use for building term for the query(without trailing '*' character!) Resulting Query built for the term throws: ParseException - |
getWildcardQuery | protected Query getWildcardQuery(String field, String termStr) throws ParseException(Code) | | Called when parser
parses an input term token that contains one or more wildcard
characters (like * ), but is not a prefix term token (one
that has just a single * character at the end).
Example: will be called for H?user or for H*user
but not for *user .
Depending on analyzer and settings, a wildcard term may (most probably will)
be lower-cased automatically. It will go through the default Analyzer.
Overrides super class, by passing terms through analyzer.
Parameters: field - Name of the field query will use. Parameters: termStr - Term token that contains one or more wild cardcharacters (? or *), but is not simple prefix term Resulting Query built for the term throws: ParseException - |
Methods inherited from org.apache.lucene.queryParser.QueryParser | final public Query Clause(String field) throws ParseException(Code)(Java Doc) final public int Conjunction() throws ParseException(Code)(Java Doc) final public int Modifiers() throws ParseException(Code)(Java Doc) final public Query Query(String field) throws ParseException(Code)(Java Doc) public void ReInit(CharStream stream)(Code)(Java Doc) public void ReInit(QueryParserTokenManager tm)(Code)(Java Doc) final public Query Term(String field) throws ParseException(Code)(Java Doc) final public Query TopLevelQuery(String field) throws ParseException(Code)(Java Doc) protected void addClause(Vector clauses, int conj, int mods, Query q)(Code)(Java Doc) final public void disable_tracing()(Code)(Java Doc) final public void enable_tracing()(Code)(Java Doc) public static String escape(String s)(Code)(Java Doc) public ParseException generateParseException()(Code)(Java Doc) public boolean getAllowLeadingWildcard()(Code)(Java Doc) public Analyzer getAnalyzer()(Code)(Java Doc) protected Query getBooleanQuery(Vector clauses) throws ParseException(Code)(Java Doc) protected Query getBooleanQuery(Vector clauses, boolean disableCoord) throws ParseException(Code)(Java Doc) public DateTools.Resolution getDateResolution(String fieldName)(Code)(Java Doc) public Operator getDefaultOperator()(Code)(Java Doc) public boolean getEnablePositionIncrements()(Code)(Java Doc) public String getField()(Code)(Java Doc) protected Query getFieldQuery(String field, String queryText) throws ParseException(Code)(Java Doc) protected Query getFieldQuery(String field, String queryText, int slop) throws ParseException(Code)(Java Doc) public float getFuzzyMinSim()(Code)(Java Doc) public int getFuzzyPrefixLength()(Code)(Java Doc) protected Query getFuzzyQuery(String field, String termStr, float minSimilarity) throws ParseException(Code)(Java Doc) public Locale getLocale()(Code)(Java Doc) public boolean getLowercaseExpandedTerms()(Code)(Java Doc) final public Token getNextToken()(Code)(Java Doc) public int getPhraseSlop()(Code)(Java Doc) protected Query getPrefixQuery(String field, String termStr) throws ParseException(Code)(Java Doc) protected Query getRangeQuery(String field, String part1, String part2, boolean inclusive) throws ParseException(Code)(Java Doc) final public Token getToken(int index)(Code)(Java Doc) public boolean getUseOldRangeQuery()(Code)(Java Doc) protected Query getWildcardQuery(String field, String termStr) throws ParseException(Code)(Java Doc) public static void main(String[] args) throws Exception(Code)(Java Doc) public Query parse(String query) throws ParseException(Code)(Java Doc) public void setAllowLeadingWildcard(boolean allowLeadingWildcard)(Code)(Java Doc) public void setDateResolution(DateTools.Resolution dateResolution)(Code)(Java Doc) public void setDateResolution(String fieldName, DateTools.Resolution dateResolution)(Code)(Java Doc) public void setDefaultOperator(Operator op)(Code)(Java Doc) public void setEnablePositionIncrements(boolean enable)(Code)(Java Doc) public void setFuzzyMinSim(float fuzzyMinSim)(Code)(Java Doc) public void setFuzzyPrefixLength(int fuzzyPrefixLength)(Code)(Java Doc) public void setLocale(Locale locale)(Code)(Java Doc) public void setLowercaseExpandedTerms(boolean lowercaseExpandedTerms)(Code)(Java Doc) public void setPhraseSlop(int phraseSlop)(Code)(Java Doc) public void setUseOldRangeQuery(boolean useOldRangeQuery)(Code)(Java Doc)
|
|
|