Лексическая ошибка при использовании lucene 9, но lucene 2 работаетJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Лексическая ошибка при использовании lucene 9, но lucene 2 работает

Сообщение Anonymous »

У меня есть проект, использующий lucene 2, и я пытаюсь выполнить обновление до lucene 9. Следующая простая программа работает в 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));
}

}
Но когда я запускаю ту же программу с lucene 9, я получаю лексическую ошибку.

Код: Выделить всё

Exception in thread "main" org.apache.lucene.queryparser.classic.ParseException: Cannot parse 'jobType:(1/2 day)': Lexical error at line 1, column 18.  Encountered:  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:  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
Когда я меняю запрос на +(jobType:(1/2 неполный рабочий день)) -(jobType:(1/4-full)), он снова работает с lucene 2, но с lucene 9 возникает следующая ошибка.

Код: Выделить всё

Exception in thread "main" java.lang.IllegalArgumentException: end-of-string expected at position 11
at org.apache.lucene.util.automaton.RegExp.(RegExp.java:506)
at org.apache.lucene.search.RegexpQuery.(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)
Может ли кто-нибудь помочь?

Подробнее здесь: https://stackoverflow.com/questions/785 ... ne-2-works
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Разница в полнотекстовом поиске в Lucene 2.4 и Lucene 3.1
    Anonymous » » в форуме JAVA
    0 Ответы
    129 Просмотры
    Последнее сообщение Anonymous
  • Нужны исходные файлы Lucene 4.1.0 или файлы javadoc (чтобы можно было разрабатывать с помощью Lucene 4.1.0 в Eclipse)
    Anonymous » » в форуме JAVA
    0 Ответы
    93 Просмотры
    Последнее сообщение Anonymous
  • Исчерпание инодов при построении индекса lucene
    Anonymous » » в форуме JAVA
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Исчерпание инодов при построении индекса lucene
    Anonymous » » в форуме JAVA
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Apache Lucene возвращает NaN в качестве оценки при сортировке по релевантности
    Anonymous » » в форуме JAVA
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»