Я использую 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"
и т. Д., Он завершится ошибкой:
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, вероятно, зарезервированы и будут действовать как ключевые слова.
В голландском языке слово «ИЛИ» важно, потому что оно имеет значение для «Ondernemings Raad». Он используется во многих текстах, и его нужно найти. Например, «или» работает, но не возвращает тексты, соответствующие термину «ИЛИ». Как я могу сделать это для поиска?
Как я могу избежать ключевого слова "или"? Или Как я могу сказать Lucene трактовать "или" как поисковый запрос, а НЕ как ключевое слово.