QueryParser escaping/parsin issue with strings starting/ending with ||
----------------------------------------------------------------------
Key: LUCENE-881
URL: https://issues.apache.org/jira/browse/LUCENE-881
Project: Lucene - Java
Issue Type: Bug
Components: QueryParser
Affects Versions: 2.1, 2.2
Environment: MAC OS X 10.4.7, J2SE 5.0 Release 4
Reporter: Slobodan Marjanovic
There is a problem with query parser when search string starts/ends with ||.
When string contains || in the middle like 'something || something' everything
runs without a problem.
Part of code:
searchText = QueryParser.escape(searchText);
QueryParser parser = null;
parser = new QueryParser(fieldName, new CustomAnalyser());
parser.parse(searchText);
CustomAnalyser class extends Analyser. Here is the only redefined method:
@Override
public TokenStream tokenStream(String fieldName, Reader reader) {
return new PorterStemFilter( (new StopAnalyzer()).tokenStream(fieldName,
reader));
}
I have tested this on Lucene 2.1 and latest source I have checked-out from SVN
(Revision 538867) and in both cases parsing exception was thrown.
Part of Stack Trace (Lucene - SVN checkout - Revision 538867):
Cannot parse 'someting ||': Encountered "<EOF>" at line 1, column 11.
Was expecting one of:
<NOT> ...
"+" ...
"-" ...
"(" ...
"*" ...
<QUOTED> ...
<TERM> ...
<PREFIXTERM> ...
<WILDTERM> ...
"[" ...
"{" ...
<NUMBER> ...
org.apache.lucene.queryParser.ParseException: Cannot parse 'someting ||':
Encountered "<EOF>" at line 1, column 11.
Was expecting one of:
<NOT> ...
"+" ...
"-" ...
"(" ...
"*" ...
<QUOTED> ...
<TERM> ...
<PREFIXTERM> ...
<WILDTERM> ...
"[" ...
"{" ...
<NUMBER> ...
at org.apache.lucene.queryParser.QueryParser.parse(QueryParser.java:150)
Part of Stack Trace (Lucene 2.1):
Cannot parse 'something ||': Encountered "<EOF>" at line 1, column 12.
Was expecting one of:
<NOT> ...
"+" ...
"-" ...
"(" ...
"*" ...
<QUOTED> ...
<TERM> ...
<PREFIXTERM> ...
<WILDTERM> ...
"[" ...
"{" ...
<NUMBER> ...
org.apache.lucene.queryParser.ParseException: Cannot parse 'something ||':
Encountered "<EOF>" at line 1, column 12.
Was expecting one of:
<NOT> ...
"+" ...
"-" ...
"(" ...
"*" ...
<QUOTED> ...
<TERM> ...
<PREFIXTERM> ...
<WILDTERM> ...
"[" ...
"{" ...
<NUMBER> ...
at org.apache.lucene.queryParser.QueryParser.parse(QueryParser.java:149)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]