lucene高亮时由于QueryParser引起的问题

在使用QueryParser之前,要使用一个函数

QueryParser.escape() 对关键字进行escape,主要是对 " [ )等符号进行转译,因为这些符号在QueryParser中是表示一个query的开始或结束的,所以当keyword中出现这些符号时,如果没有对应的另一个作为结束的话,那么调用

QueryParser.parse()时,就会出错,抛出异常。

 

 我们搜索的时候调用escape了,但是高亮的时候忘记调用这个函数。

测试的时候,能搜出记录,却不高亮,最后查到是这个问题。

你可能感兴趣的:(QueryParser)