lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Doron Cohen <DOR...@il.ibm.com>
Subject Re: QueryParser oddity with PrefixQuery
Date Mon, 26 Feb 2007 20:51:34 GMT
I agree, might be a redundant check now. This test was added when the query
parser was enhanced to optionally allow leading wild card (revision 468291
),
but this case calls getWildCardQuery(), not getPrefixQuery().

Still, the check seems harmless - sort of defensive - protecting against
the
case that a bug in query parser would identify such a query as prefix
rather
than wildcard (although this is not very likely.)

Doron

Antony Bowesman wrote:

> In certain cases, I use a modified QueryParser which does not allow
"field:"
> syntax.  While testing variants of Prefix and Wildcard Query, I
cameacross an
> oddity with getPrefixQuery().  The standard getPrefixQuery() (2.1) is
given
> termStr without the trailing *, so the check
>
> if (!allowLeadingWildcard && termStr.startsWith("*"))
>    throw new ParseException("'*' not allowed as first character in
> PrefixQuery");
>
> only triggers if you parse the String "**", in which case the PrefixQuery
is
> then created with Term(field, "*"); whereas if you parse "*",
> getWildcardQuery()
> is called.
>
> So it's not obvious that the test "termStr.startsWith("*"))" can
> ever occur, so
> this code seems redundant.
>
> After Doron's latest patch
http://issues.apache.org/jira/browse/LUCENE-813
> , if
> you parse "**" it now calls getWildcardQuery().
>
> Antony


---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org


Mime
View raw message