读书人

lucene高亮时由于QueryParser引起的有

发布时间: 2012-12-21 12:03:49 作者: rapoo

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

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

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

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

?

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

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

读书人网 >编程

热点推荐