在使用QueryParser之前,要使用一个函数
QueryParser.escape() 对关键字进行escape,主要是对 " [ )等符号进行转译,因为这些符号在QueryParser中是表示一个query的开始或结束的,所以当keyword中出现这些符号时,如果没有对应的另一个作为结束的话,那么调用
QueryParser.parse()时,就会出错,抛出异常。
我们搜索的时候调用escape了,但是高亮的时候忘记调用这个函数。
测试的时候,能搜出记录,却不高亮,最后查到是这个问题。
本文探讨了在使用QueryParser时遇到的问题:对关键字未正确使用QueryParser.escape()导致搜索结果无法正常高亮显示。通过调用此函数对特殊字符进行转义,确保了搜索功能的准确性。
在使用QueryParser之前,要使用一个函数
QueryParser.escape() 对关键字进行escape,主要是对 " [ )等符号进行转译,因为这些符号在QueryParser中是表示一个query的开始或结束的,所以当keyword中出现这些符号时,如果没有对应的另一个作为结束的话,那么调用
QueryParser.parse()时,就会出错,抛出异常。
我们搜索的时候调用escape了,但是高亮的时候忘记调用这个函数。
测试的时候,能搜出记录,却不高亮,最后查到是这个问题。
776
5934

被折叠的 条评论
为什么被折叠?