Lucene 中的关键字 (OR, AND) 搜索
我正在我的门户(基于J2EE)中使用Lucene进行索引和搜索服务。
问题在于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的关键字,可能是保留的,并且将充当关键字。
在荷兰语中,“OR”这个词很重要,因为它对“Ondernemings Raad”有含义。它在许多文本中使用,需要找到它。例如,“or”确实有效,但不返回与术语“OR”匹配的文本。如何使其可搜索?
如何转义关键字“or”?或者我怎么能告诉Lucene将“or”视为搜索词而不是关键字。