Class QueryParser
- java.lang.Object
-
- org.apache.lucene.queryparser.surround.parser.QueryParser
-
- All Implemented Interfaces:
QueryParserConstants
public class QueryParser extends java.lang.Object implements QueryParserConstants
This class is generated by JavaCC. The only method that clients should need to call isparse()
.This parser generates queries that make use of position information (Span queries). It provides positional operators (
w
andn
) that accept a numeric distance, as well as boolean operators (and
,or
, andnot
, wildcards (*
and?
), quoting (with"
), and boosting (via^
).The operators (W, N, AND, OR, NOT) can be expressed lower-cased or upper-cased, and the non-unary operators (everything but NOT) support both infix
(a AND b AND c)
and prefixAND(a, b, c)
notation.The W and N operators express a positional relationship among their operands. W is ordered, and N is unordered. The distance is 1 by default, meaning the operands are adjacent, or may be provided as a prefix from 2-99. So, for example, 3W(a, b) means that terms a and b must appear within three positions of each other, or in other words, up to two terms may appear between a and b.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
QueryParser.JJCalls
private static class
QueryParser.LookaheadSuccess
-
Field Summary
Fields Modifier and Type Field Description (package private) static char
ANY_CHAR
(package private) static java.lang.String
BOOST_ERROR_MESSAGE
(package private) static char
FIELD_OPERATOR
private QueryParser.JJCalls[]
jj_2_rtns
private int
jj_endpos
private java.util.List<int[]>
jj_expentries
private int[]
jj_expentry
private int
jj_gc
private int
jj_gen
private int
jj_kind
private int
jj_la
private int[]
jj_la1
private static int[]
jj_la1_0
private Token
jj_lastpos
private int[]
jj_lasttokens
private QueryParser.LookaheadSuccess
jj_ls
Token
jj_nt
Next token.private int
jj_ntk
private boolean
jj_rescan
private Token
jj_scanpos
(package private) static int
MINIMUM_CHARS_IN_TRUNC
(package private) static int
MINIMUM_PREFIX_LENGTH
Token
token
Current token.QueryParserTokenManager
token_source
Generated Token Manager.private boolean
trace_enabled
private int
trace_indent
(package private) static java.lang.String
TRUNCATION_ERROR_MESSAGE
(package private) static char
TRUNCATOR
-
Fields inherited from interface org.apache.lucene.queryparser.surround.parser.QueryParserConstants
_DISTOP_NUM, _NUM_CHAR, _ONE_CHAR, _STAR, _TERM_CHAR, _WHITESPACE, AND, Boost, CARAT, COLON, COMMA, DEFAULT, EOF, LPAREN, N, NOT, NUMBER, OR, QUOTED, RPAREN, SUFFIXTERM, TERM, tokenImage, TRUNCQUOTED, TRUNCTERM, W
-
-
Constructor Summary
Constructors Constructor Description QueryParser()
QueryParser(CharStream stream)
Constructor with user supplied CharStream.QueryParser(QueryParserTokenManager tm)
Constructor with generated Token Manager.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
allowedSuffix(java.lang.String suffixed)
protected boolean
allowedTruncation(java.lang.String truncated)
SrndQuery
AndQuery()
protected static void
checkDistanceSubQueries(DistanceQuery distq, java.lang.String opName)
void
disable_tracing()
Disable tracing.void
enable_tracing()
Enable tracing.SrndQuery
FieldsQuery()
java.util.List<SrndQuery>
FieldsQueryList()
ParseException
generateParseException()
Generate ParseException.protected SrndQuery
getAndQuery(java.util.List<SrndQuery> queries, boolean infix, Token andToken)
protected SrndQuery
getDistanceQuery(java.util.List<SrndQuery> queries, boolean infix, Token dToken, boolean ordered)
protected SrndQuery
getFieldsQuery(SrndQuery q, java.util.ArrayList<java.lang.String> fieldNames)
Token
getNextToken()
Get the next Token.protected SrndQuery
getNotQuery(java.util.List<SrndQuery> queries, Token notToken)
protected static int
getOpDistance(java.lang.String distanceOp)
protected SrndQuery
getOrQuery(java.util.List<SrndQuery> queries, boolean infix, Token orToken)
protected SrndQuery
getPrefixQuery(java.lang.String prefix, boolean quoted)
protected SrndQuery
getTermQuery(java.lang.String term, boolean quoted)
Token
getToken(int index)
Get the specific Token.protected SrndQuery
getTruncQuery(java.lang.String truncated)
private boolean
jj_2_1(int xla)
private boolean
jj_3_1()
private void
jj_add_error_token(int kind, int pos)
private Token
jj_consume_token(int kind)
private static void
jj_la1_init_0()
private int
jj_ntk_f()
private void
jj_rescan_token()
private void
jj_save(int index, int xla)
private boolean
jj_scan_token(int kind)
SrndQuery
NotQuery()
SrndQuery
NQuery()
java.util.ArrayList<java.lang.String>
OptionalFields()
void
OptionalWeights(SrndQuery q)
SrndQuery
OrQuery()
static SrndQuery
parse(java.lang.String query)
SrndQuery
parse2(java.lang.String query)
SrndQuery
PrefixOperatorQuery()
SrndQuery
PrimaryQuery()
void
ReInit(CharStream stream)
Reinitialise.void
ReInit(QueryParserTokenManager tm)
Reinitialise.SrndQuery
SimpleTerm()
SrndQuery
TopSrndQuery()
boolean
trace_enabled()
Trace enabled.SrndQuery
WQuery()
-
-
-
Field Detail
-
MINIMUM_PREFIX_LENGTH
static final int MINIMUM_PREFIX_LENGTH
- See Also:
- Constant Field Values
-
MINIMUM_CHARS_IN_TRUNC
static final int MINIMUM_CHARS_IN_TRUNC
- See Also:
- Constant Field Values
-
TRUNCATION_ERROR_MESSAGE
static final java.lang.String TRUNCATION_ERROR_MESSAGE
- See Also:
- Constant Field Values
-
BOOST_ERROR_MESSAGE
static final java.lang.String BOOST_ERROR_MESSAGE
- See Also:
- Constant Field Values
-
TRUNCATOR
static final char TRUNCATOR
- See Also:
- Constant Field Values
-
ANY_CHAR
static final char ANY_CHAR
- See Also:
- Constant Field Values
-
FIELD_OPERATOR
static final char FIELD_OPERATOR
- See Also:
- Constant Field Values
-
token_source
public QueryParserTokenManager token_source
Generated Token Manager.
-
token
public Token token
Current token.
-
jj_nt
public Token jj_nt
Next token.
-
jj_ntk
private int jj_ntk
-
jj_scanpos
private Token jj_scanpos
-
jj_lastpos
private Token jj_lastpos
-
jj_la
private int jj_la
-
jj_gen
private int jj_gen
-
jj_la1
private final int[] jj_la1
-
jj_la1_0
private static int[] jj_la1_0
-
jj_2_rtns
private final QueryParser.JJCalls[] jj_2_rtns
-
jj_rescan
private boolean jj_rescan
-
jj_gc
private int jj_gc
-
jj_ls
private final QueryParser.LookaheadSuccess jj_ls
-
jj_expentries
private java.util.List<int[]> jj_expentries
-
jj_expentry
private int[] jj_expentry
-
jj_kind
private int jj_kind
-
jj_lasttokens
private int[] jj_lasttokens
-
jj_endpos
private int jj_endpos
-
trace_indent
private int trace_indent
-
trace_enabled
private boolean trace_enabled
-
-
Constructor Detail
-
QueryParser
public QueryParser()
-
QueryParser
public QueryParser(CharStream stream)
Constructor with user supplied CharStream.
-
QueryParser
public QueryParser(QueryParserTokenManager tm)
Constructor with generated Token Manager.
-
-
Method Detail
-
parse
public static SrndQuery parse(java.lang.String query) throws ParseException
- Throws:
ParseException
-
parse2
public SrndQuery parse2(java.lang.String query) throws ParseException
- Throws:
ParseException
-
getFieldsQuery
protected SrndQuery getFieldsQuery(SrndQuery q, java.util.ArrayList<java.lang.String> fieldNames)
-
getOrQuery
protected SrndQuery getOrQuery(java.util.List<SrndQuery> queries, boolean infix, Token orToken)
-
getAndQuery
protected SrndQuery getAndQuery(java.util.List<SrndQuery> queries, boolean infix, Token andToken)
-
getOpDistance
protected static int getOpDistance(java.lang.String distanceOp)
-
checkDistanceSubQueries
protected static void checkDistanceSubQueries(DistanceQuery distq, java.lang.String opName) throws ParseException
- Throws:
ParseException
-
getDistanceQuery
protected SrndQuery getDistanceQuery(java.util.List<SrndQuery> queries, boolean infix, Token dToken, boolean ordered) throws ParseException
- Throws:
ParseException
-
getTermQuery
protected SrndQuery getTermQuery(java.lang.String term, boolean quoted)
-
allowedSuffix
protected boolean allowedSuffix(java.lang.String suffixed)
-
getPrefixQuery
protected SrndQuery getPrefixQuery(java.lang.String prefix, boolean quoted)
-
allowedTruncation
protected boolean allowedTruncation(java.lang.String truncated)
-
getTruncQuery
protected SrndQuery getTruncQuery(java.lang.String truncated)
-
TopSrndQuery
public final SrndQuery TopSrndQuery() throws ParseException
- Throws:
ParseException
-
FieldsQuery
public final SrndQuery FieldsQuery() throws ParseException
- Throws:
ParseException
-
OptionalFields
public final java.util.ArrayList<java.lang.String> OptionalFields() throws ParseException
- Throws:
ParseException
-
OrQuery
public final SrndQuery OrQuery() throws ParseException
- Throws:
ParseException
-
AndQuery
public final SrndQuery AndQuery() throws ParseException
- Throws:
ParseException
-
NotQuery
public final SrndQuery NotQuery() throws ParseException
- Throws:
ParseException
-
NQuery
public final SrndQuery NQuery() throws ParseException
- Throws:
ParseException
-
WQuery
public final SrndQuery WQuery() throws ParseException
- Throws:
ParseException
-
PrimaryQuery
public final SrndQuery PrimaryQuery() throws ParseException
- Throws:
ParseException
-
PrefixOperatorQuery
public final SrndQuery PrefixOperatorQuery() throws ParseException
- Throws:
ParseException
-
FieldsQueryList
public final java.util.List<SrndQuery> FieldsQueryList() throws ParseException
- Throws:
ParseException
-
SimpleTerm
public final SrndQuery SimpleTerm() throws ParseException
- Throws:
ParseException
-
OptionalWeights
public final void OptionalWeights(SrndQuery q) throws ParseException
- Throws:
ParseException
-
jj_2_1
private boolean jj_2_1(int xla)
-
jj_3_1
private boolean jj_3_1()
-
jj_la1_init_0
private static void jj_la1_init_0()
-
ReInit
public void ReInit(CharStream stream)
Reinitialise.
-
ReInit
public void ReInit(QueryParserTokenManager tm)
Reinitialise.
-
jj_consume_token
private Token jj_consume_token(int kind) throws ParseException
- Throws:
ParseException
-
jj_scan_token
private boolean jj_scan_token(int kind)
-
getNextToken
public final Token getNextToken()
Get the next Token.
-
getToken
public final Token getToken(int index)
Get the specific Token.
-
jj_ntk_f
private int jj_ntk_f()
-
jj_add_error_token
private void jj_add_error_token(int kind, int pos)
-
generateParseException
public ParseException generateParseException()
Generate ParseException.
-
trace_enabled
public final boolean trace_enabled()
Trace enabled.
-
enable_tracing
public final void enable_tracing()
Enable tracing.
-
disable_tracing
public final void disable_tracing()
Disable tracing.
-
jj_rescan_token
private void jj_rescan_token()
-
jj_save
private void jj_save(int index, int xla)
-
-