If you're going to escape all the special characters used as
operators in the query expression, then what is the point of using
QueryParser? Seems like you could just tokenize the text yourself
and build a Query instance via API to support your needs. Do you
need to leverage any special operators of QueryParser? Or are you
just using it to take a string of words and turn it into a BooleanQuery?
Erik
On Apr 4, 2006, at 7:29 AM, miki sun wrote:
Thanks Erik and Michael!
I copied some code from demo.SearchFiles.java, I do not have a more
clearer tracing message. Now it works.
But do you have a better way than this:
//escaping special chars for query parser
for (int i = 0; i < qr.length(); i ++)
{
if( (qr.charAt(i) == '+') ||(qr.charAt(i) == '-')
||(qr.charAt(i) == '&')||(qr.charAt(i) == '~')
||(qr.charAt(i) == '|')|| (qr.charAt(i) == '!')
||(qr.charAt(i) == '[')||(qr.charAt(i) == ']')
||(qr.charAt(i) == '(')||(qr.charAt(i) == ')')
||(qr.charAt(i) == '{')||(qr.charAt(i) == '}')
||(qr.charAt(i) == '^')||(qr.charAt(i) == '"')
||(qr.charAt(i) == '*')||(qr.charAt(i) == '?')
||(qr.charAt(i) == ':')||(qr.charAt(i) == '\\') )
theQueries += "\\" + qr.charAt(i);
else
theQueries += qr.charAt(i) ;
}
----Original Message Follows----
From: Erik Hatcher <[EMAIL PROTECTED]>
Reply-To: java-user@lucene.apache.org
To: java-user@lucene.apache.org
Subject: Re: QueryParser error
Date: Tue, 4 Apr 2006 07:01:41 -0400
Miki hasn't posted a complete stack trace, and if the NPE is
coming from QueryParser it would likely give stack trace
information pinpointing precisely where the issue is. My hunch is
some other code is obfuscating the real issue. A complete stack
trace would be much more helpful.
Erik
On Apr 4, 2006, at 6:55 AM, Michael Barry wrote:
Exclamation point too ... check out the "Escaping Special Characters"
section in the QueryParser syntax guide (http://lucene.apache.org/
java/docs/queryparsersyntax.html)
miki sun wrote:
Still got error even without colon:
Error in parse query :The light of the body is the eye if
therefore thine eye be single, thy whole body shall be full of
light. But if thine eye be evil, thy whole body shall be full of
darkness. If therefore the light that is in thee be darkness,
how great is that darkness!
java.lang.NullPointerException
----Original Message Follows----
From: Michael Barry <[EMAIL PROTECTED]>
Reply-To: java-user@lucene.apache.org
To: java-user@lucene.apache.org
Subject: Re: QueryParser error
Date: Tue, 04 Apr 2006 06:44:02 -0400
You need to escape the colons.
miki sun wrote:
Hi there
Who can tell me why I got the the queryParser error for the
following query:
Error in parse query :The light of the body is the eye: if
therefore thine eye be single, thy whole body shall be full of
light. But if thine eye be evil, thy whole body shall be full
of darkness. If therefore the light that is in thee be
darkness, how great is that darkness!
java.lang.NullPointerException
Appart from [, ], (, ), whatelse should be exculded in the query?
Thanks
Miki
--------------------------------------------------------------------
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]