我的应用程序接受用户输入的字符串并尝试使用Lucene查询解析器解析它。但是我注意到有几种格式的字符串会在这个查询解析器中引发错误 e.g:
首先,我尝试模拟用户输入的字符串,以便它不能包含这些情况,但正如我所看到的,可能会有更多我不能预见的情况。
如何处理查询解析器异常?你怎么阻止他们?
答案 0 :(得分:2)
我们捕获剩余的解析异常并显示错误消息(“您的搜索与任何文档都不匹配。建议:尝试不同的关键字。”)。
答案 1 :(得分:0)
query.replace(/([\!\*\+\&\|\(\)\[\]\{\}\^\~\?\:\"\/])/g, "");