📄 queryparser.cs
字号:
case Lucene.Net.QueryParsers.QueryParserConstants.OR:
Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.OR);
ret = CONJ_OR;
break;
default:
jj_la1[0] = jj_gen;
Jj_consume_token(- 1);
throw new ParseException();
}
break;
default:
jj_la1[1] = jj_gen;
;
break;
}
{
if (true)
return ret;
}
throw new System.ApplicationException("Missing return statement in function");
}
public int Modifiers()
{
int ret = MOD_NONE;
switch ((jj_ntk == - 1) ? Jj_ntk() : jj_ntk)
{
case Lucene.Net.QueryParsers.QueryParserConstants.NOT:
case Lucene.Net.QueryParsers.QueryParserConstants.PLUS:
case Lucene.Net.QueryParsers.QueryParserConstants.MINUS:
switch ((jj_ntk == - 1) ? Jj_ntk() : jj_ntk)
{
case Lucene.Net.QueryParsers.QueryParserConstants.PLUS:
Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.PLUS);
ret = MOD_REQ;
break;
case Lucene.Net.QueryParsers.QueryParserConstants.MINUS:
Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.MINUS);
ret = MOD_NOT;
break;
case Lucene.Net.QueryParsers.QueryParserConstants.NOT:
Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.NOT);
ret = MOD_NOT;
break;
default:
jj_la1[2] = jj_gen;
Jj_consume_token(- 1);
throw new ParseException();
}
break;
default:
jj_la1[3] = jj_gen;
;
break;
}
{
if (true)
return ret;
}
throw new System.ApplicationException("Missing return statement in function");
}
public Query Query(System.String field)
{
System.Collections.ArrayList clauses = System.Collections.ArrayList.Synchronized(new System.Collections.ArrayList(10));
Query q, firstQuery = null;
int conj, mods;
mods = Modifiers();
q = Clause(field);
AddClause(clauses, CONJ_NONE, mods, q);
if (mods == MOD_NONE)
firstQuery = q;
while (true)
{
switch ((jj_ntk == - 1) ? Jj_ntk() : jj_ntk)
{
case Lucene.Net.QueryParsers.QueryParserConstants.AND:
case Lucene.Net.QueryParsers.QueryParserConstants.OR:
case Lucene.Net.QueryParsers.QueryParserConstants.NOT:
case Lucene.Net.QueryParsers.QueryParserConstants.PLUS:
case Lucene.Net.QueryParsers.QueryParserConstants.MINUS:
case Lucene.Net.QueryParsers.QueryParserConstants.LPAREN:
case Lucene.Net.QueryParsers.QueryParserConstants.STAR:
case Lucene.Net.QueryParsers.QueryParserConstants.QUOTED:
case Lucene.Net.QueryParsers.QueryParserConstants.TERM:
case Lucene.Net.QueryParsers.QueryParserConstants.PREFIXTERM:
case Lucene.Net.QueryParsers.QueryParserConstants.WILDTERM:
case Lucene.Net.QueryParsers.QueryParserConstants.RANGEIN_START:
case Lucene.Net.QueryParsers.QueryParserConstants.RANGEEX_START:
case Lucene.Net.QueryParsers.QueryParserConstants.NUMBER:
;
break;
default:
jj_la1[4] = jj_gen;
goto label_1_brk;
}
conj = Conjunction();
mods = Modifiers();
q = Clause(field);
AddClause(clauses, conj, mods, q);
}
label_1_brk: ;
if (clauses.Count == 1 && firstQuery != null)
{
if (true)
return firstQuery;
}
else
{
{
if (true)
return GetBooleanQuery(clauses);
}
}
throw new System.ApplicationException("Missing return statement in function");
}
public Query Clause(System.String field)
{
Query q;
Token fieldToken = null, boost = null;
if (Jj_2_1(2))
{
switch ((jj_ntk == - 1)?Jj_ntk():jj_ntk)
{
case Lucene.Net.QueryParsers.QueryParserConstants.TERM:
fieldToken = Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.TERM);
Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.COLON);
field = DiscardEscapeChar(fieldToken.image);
break;
case Lucene.Net.QueryParsers.QueryParserConstants.STAR:
Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.STAR);
Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.COLON);
field = "*";
break;
default:
jj_la1[5] = jj_gen;
Jj_consume_token(- 1);
throw new ParseException();
}
}
else
{
;
}
switch ((jj_ntk == - 1) ? Jj_ntk() : jj_ntk)
{
case Lucene.Net.QueryParsers.QueryParserConstants.STAR:
case Lucene.Net.QueryParsers.QueryParserConstants.QUOTED:
case Lucene.Net.QueryParsers.QueryParserConstants.TERM:
case Lucene.Net.QueryParsers.QueryParserConstants.PREFIXTERM:
case Lucene.Net.QueryParsers.QueryParserConstants.WILDTERM:
case Lucene.Net.QueryParsers.QueryParserConstants.RANGEIN_START:
case Lucene.Net.QueryParsers.QueryParserConstants.RANGEEX_START:
case Lucene.Net.QueryParsers.QueryParserConstants.NUMBER:
q = Term(field);
break;
case Lucene.Net.QueryParsers.QueryParserConstants.LPAREN:
Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.LPAREN);
q = Query(field);
Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.RPAREN);
switch ((jj_ntk == - 1) ? Jj_ntk() : jj_ntk)
{
case Lucene.Net.QueryParsers.QueryParserConstants.CARAT:
Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.CARAT);
boost = Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.NUMBER);
break;
default:
jj_la1[6] = jj_gen;
;
break;
}
break;
default:
jj_la1[7] = jj_gen;
Jj_consume_token(- 1);
throw new ParseException();
}
if (boost != null)
{
float f = (float) 1.0;
try
{
f = (float) System.Single.Parse(boost.image);
q.SetBoost(f);
}
catch (System.Exception ignored)
{
}
}
{
if (true)
return q;
}
throw new System.ApplicationException("Missing return statement in function");
}
public Query Term(System.String field)
{
Token term, boost = null, fuzzySlop = null, goop1, goop2;
bool prefix = false;
bool wildcard = false;
bool fuzzy = false;
bool rangein = false;
Query q;
switch ((jj_ntk == - 1) ? Jj_ntk() : jj_ntk)
{
case Lucene.Net.QueryParsers.QueryParserConstants.STAR:
case Lucene.Net.QueryParsers.QueryParserConstants.TERM:
case Lucene.Net.QueryParsers.QueryParserConstants.PREFIXTERM:
case Lucene.Net.QueryParsers.QueryParserConstants.WILDTERM:
case Lucene.Net.QueryParsers.QueryParserConstants.NUMBER:
switch ((jj_ntk == - 1) ? Jj_ntk() : jj_ntk)
{
case Lucene.Net.QueryParsers.QueryParserConstants.TERM:
term = Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.TERM);
break;
case Lucene.Net.QueryParsers.QueryParserConstants.STAR:
term = Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.STAR);
wildcard = true;
break;
case Lucene.Net.QueryParsers.QueryParserConstants.PREFIXTERM:
term = Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.PREFIXTERM);
prefix = true;
break;
case Lucene.Net.QueryParsers.QueryParserConstants.WILDTERM:
term = Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.WILDTERM);
wildcard = true;
break;
case Lucene.Net.QueryParsers.QueryParserConstants.NUMBER:
term = Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.NUMBER);
break;
default:
jj_la1[8] = jj_gen;
Jj_consume_token(- 1);
throw new ParseException();
}
switch ((jj_ntk == - 1) ? Jj_ntk() : jj_ntk)
{
case Lucene.Net.QueryParsers.QueryParserConstants.FUZZY_SLOP:
fuzzySlop = Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.FUZZY_SLOP);
fuzzy = true;
break;
default:
jj_la1[9] = jj_gen;
;
break;
}
switch ((jj_ntk == - 1) ? Jj_ntk() : jj_ntk)
{
case Lucene.Net.QueryParsers.QueryParserConstants.CARAT:
Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.CARAT);
boost = Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.NUMBER);
switch ((jj_ntk == - 1) ? Jj_ntk() : jj_ntk)
{
case Lucene.Net.QueryParsers.QueryParserConstants.FUZZY_SLOP:
fuzzySlop = Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.FUZZY_SLOP);
fuzzy = true;
break;
default:
jj_la1[10] = jj_gen;
;
break;
}
break;
default:
jj_la1[11] = jj_gen;
;
break;
}
System.String termImage = DiscardEscapeChar(term.image);
if (wildcard)
{
q = GetWildcardQuery(field, termImage);
}
else if (prefix)
{
q = GetPrefixQuery(field, DiscardEscapeChar(term.image.Substring(0, (term.image.Length - 1) - (0))));
}
else if (fuzzy)
{
float fms = fuzzyMinSim;
try
{
fms = (float) System.Single.Parse(fuzzySlop.image.Substring(1).Replace(".",
System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator));
}
catch (System.Exception ignored)
{
}
if (fms < 0.0f || fms > 1.0f)
{
{
if (true)
throw new ParseException("Minimum similarity for a FuzzyQuery has to be between 0.0f and 1.0f !");
}
}
q = GetFuzzyQuery(field, termImage, fms);
}
else
{
q = GetFieldQuery(field, termImage);
}
break;
case Lucene.Net.QueryParsers.QueryParserConstants.RANGEIN_START:
Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.RANGEIN_START);
switch ((jj_ntk == - 1) ? Jj_ntk() : jj_ntk)
{
case Lucene.Net.QueryParsers.QueryParserConstants.RANGEIN_GOOP:
goop1 = Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.RANGEIN_GOOP);
break;
case Lucene.Net.QueryParsers.QueryParserConstants.RANGEIN_QUOTED:
goop1 = Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.RANGEIN_QUOTED);
break;
default:
jj_la1[12] = jj_gen;
Jj_consume_token(- 1);
throw new ParseException();
}
switch ((jj_ntk == - 1) ? Jj_ntk() : jj_ntk)
{
case Lucene.Net.QueryParsers.QueryParserConstants.RANGEIN_TO:
Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.RANGEIN_TO);
break;
default:
jj_la1[13] = jj_gen;
;
break;
}
switch ((jj_ntk == - 1) ? Jj_ntk() : jj_ntk)
{
case Lucene.Net.QueryParsers.QueryParserConstants.RANGEIN_GOOP:
goop2 = Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.RANGEIN_GOOP);
break;
case Lucene.Net.QueryParsers.QueryParserConstants.RANGEIN_QUOTED:
goop2 = Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.RANGEIN_QUOTED);
break;
default:
jj_la1[14] = jj_gen;
Jj_consume_token(- 1);
throw new ParseException();
}
Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.RANGEIN_END);
switch ((jj_ntk == - 1) ? Jj_ntk() : jj_ntk)
{
case Lucene.Net.QueryParsers.QueryParserConstants.CARAT:
Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.CARAT);
boost = Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.NUMBER);
break;
default:
jj_la1[15] = jj_gen;
;
break;
}
if (goop1.kind == Lucene.Net.QueryParsers.QueryParserConstants.RANGEIN_QUOTED)
{
goop1.image = goop1.image.Substring(1, (goop1.image.Length - 1) - (1));
}
if (goop2.kind == Lucene.Net.QueryParsers.QueryParserConstants.RANGEIN_QUOTED)
{
goop2.image = goop2.image.Substring(1, (goop2.image.Length - 1) - (1));
}
q = GetRangeQuery(field, DiscardEscapeChar(goop1.image), DiscardEscapeChar(goop2.image), true);
break;
case Lucene.Net.QueryParsers.QueryParserConstants.RANGEEX_START:
Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.RANGEEX_START);
switch ((jj_ntk == - 1) ? Jj_ntk() : jj_ntk)
{
case Lucene.Net.QueryParsers.QueryParserConstants.RANGEEX_GOOP:
goop1 = Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.RANGEEX_GOOP);
break;
case Lucene.Net.QueryParsers.QueryParserConstants.RANGEEX_QUOTED:
goop1 = Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.RANGEEX_QUOTED);
break;
default:
jj_la1[16] = jj_gen;
Jj_consume_token(- 1);
throw new ParseException();
}
switch ((jj_ntk == - 1) ? Jj_ntk() : jj_ntk)
{
case Lucene.Net.QueryParsers.QueryParserConstants.RANGEEX_TO:
Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.RANGEEX_TO);
break;
default:
jj_la1[17] = jj_gen;
;
break;
}
switch ((jj_ntk == - 1) ? Jj_ntk() : jj_ntk)
{
case Lucene.Net.QueryParsers.QueryParserConstants.RANGEEX_GOOP:
goop2 = Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.RANGEEX_GOOP);
break;
case Lucene.Net.QueryParsers.QueryParserConstants.RANGEEX_QUOTED:
goop2 = Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.RANGEEX_QUOTED);
break;
default:
jj_la1[18] = jj_gen;
Jj_consume_token(- 1);
throw new ParseException();
}
Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.RANGEEX_END);
switch ((jj_ntk == - 1) ? Jj_ntk() : jj_ntk)
{
case Lucene.Net.QueryParsers.QueryParserConstants.CARAT:
Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.CARAT);
boost = Jj_consume_token(Lucene.Net.QueryParsers.QueryParserConstants.NUMBER);
break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -