Я использую Lucene на своем портале (на основе J2EE) для служб индексирования и поиска.
Проблема связана с ключевыми словами Lucene. Когда вы используете один из них в поисковом запросе, вы получите сообщение об ошибке.
Например:
searchTerms = "ik OR jij"
Это отлично работает, потому что он будет искать "ik"
или "jij"
searchTerms = "ik AND jij"
Это отлично работает, он ищет "ik"
и "jij"
Но при поиске:
searchTerms = "OR"
searchTerms = "AND"
searchTerms = "ik OR"
searchTerms = "OR ik"
Etc., он с ошибкой завершится ошибкой:
Component Name: STSE_RESULTS Class: org.apache.lucene.queryParser.ParseException Message: Cannot parse 'OR jij': Encountered "OR" at line 1, column 0. Was expecting one of: ...
Это имеет смысл, потому что эти слова являются ключевыми словами для Lucene, вероятно, зарезервированы и будут выступать в качестве ключевых слов.
На голландском языке слово "OR" важно, поскольку оно имеет значение для "Ondernemings Raad". Он используется во многих текстах, и его нужно найти. Например, "или" работает, но не возвращает тексты, соответствующие термину "ИЛИ". Как я могу сделать его доступным для поиска?
Как я могу избежать ключевого слова "или" ? Или Как я могу рассказать Люцену о том, чтобы лечить "или" как поисковый термин НЕ как ключевое слово.