roykyle8 opened a new issue, #13437:
URL: https://github.com/apache/lucene/issues/13437

   ### Description
   
   I've a project using lucene 2 and trying to upgrade to lucene 9. Following 
simple program works in lucene 2.
   
   ```
   public class CustomMultiFieldQueryParser {
   
       private static String[] DefaultQueryFields = new String[]{"name", 
"category", "jobType"};
   
       public static void main(String[] args) throws ParseException {
           String query = "jobType:(1/2 day)";
           MultiFieldQueryParser queryParser = new 
MultiFieldQueryParser(DefaultQueryFields, new StandardAnalyzer());
           System.out.println(queryParser.parse(query));
       }
   
   }
   ```
   
   But when I run the same progam with lucene 9, I get Lexical error.
   
   ```
   Exception in thread "main" 
org.apache.lucene.queryparser.classic.ParseException: Cannot parse 
'jobType:(1/2 day)': Lexical error at line 1, column 18.  Encountered: <EOF> 
after prefix "/2 day)" (in lexical state 2)
        at 
org.apache.lucene.queryparser.classic.QueryParserBase.parse(QueryParserBase.java:141)
        at CustomMultiFieldQueryParser.main(CustomMultiFieldQueryParser.java:12)
   Caused by: org.apache.lucene.queryparser.classic.TokenMgrError: Lexical 
error at line 1, column 18.  Encountered: <EOF> after prefix "/2 day)" (in 
lexical state 2)
        at 
org.apache.lucene.queryparser.classic.QueryParserTokenManager.getNextToken(QueryParserTokenManager.java:1065)
        at 
org.apache.lucene.queryparser.classic.QueryParser.getToken(QueryParser.java:914)
        at 
org.apache.lucene.queryparser.classic.QueryParser.jj_3R_MultiTerm_383_3_3(QueryParser.java:763)
        at 
org.apache.lucene.queryparser.classic.QueryParser.jj_3_1(QueryParser.java:738)
        at 
org.apache.lucene.queryparser.classic.QueryParser.jj_2_1(QueryParser.java:690)
        at 
org.apache.lucene.queryparser.classic.QueryParser.Query(QueryParser.java:232)
        at 
org.apache.lucene.queryparser.classic.QueryParser.Clause(QueryParser.java:371)
        at 
org.apache.lucene.queryparser.classic.QueryParser.Query(QueryParser.java:251)
        at 
org.apache.lucene.queryparser.classic.QueryParser.TopLevelQuery(QueryParser.java:223)
        at 
org.apache.lucene.queryparser.classic.QueryParserBase.parse(QueryParserBase.java:137)
        ... 1 more
   
   Process finished with exit code 1
   ```
   
   When I change the query to ```+(jobType:(1/2 part-time)) 
-(jobType:(1/4-full))```, again it works with lucene 2 but with lucene 9 
getting following error.
   
   ```
   Exception in thread "main" java.lang.IllegalArgumentException: end-of-string 
expected at position 11
        at org.apache.lucene.util.automaton.RegExp.<init>(RegExp.java:506)
        at org.apache.lucene.search.RegexpQuery.<init>(RegexpQuery.java:144)
        at 
org.apache.lucene.queryparser.classic.QueryParserBase.newRegexpQuery(QueryParserBase.java:574)
        at 
org.apache.lucene.queryparser.classic.QueryParserBase.getRegexpQuery(QueryParserBase.java:752)
        at 
org.apache.lucene.queryparser.classic.MultiFieldQueryParser.getRegexpQuery(MultiFieldQueryParser.java:272)
        at 
org.apache.lucene.queryparser.classic.QueryParserBase.handleBareTokenQuery(QueryParserBase.java:821)
        at 
org.apache.lucene.queryparser.classic.QueryParser.Term(QueryParser.java:494)
        at 
org.apache.lucene.queryparser.classic.QueryParser.Clause(QueryParser.java:366)
        at 
org.apache.lucene.queryparser.classic.QueryParser.Query(QueryParser.java:312)
        at 
org.apache.lucene.queryparser.classic.QueryParser.Clause(QueryParser.java:371)
        at 
org.apache.lucene.queryparser.classic.QueryParser.Query(QueryParser.java:251)
        at 
org.apache.lucene.queryparser.classic.QueryParser.Clause(QueryParser.java:371)
        at 
org.apache.lucene.queryparser.classic.QueryParser.Query(QueryParser.java:251)
        at 
org.apache.lucene.queryparser.classic.QueryParser.TopLevelQuery(QueryParser.java:223)
        at 
org.apache.lucene.queryparser.classic.QueryParserBase.parse(QueryParserBase.java:137)
        at CustomMultiFieldQueryParser.main(CustomMultiFieldQueryParser.java:13)
   ```
   
   Can anybody help here?
   
   ### Version and environment details
   
   Lucene Version 2 & 9.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to