4

我的应用程序接受用户输入的字符串并尝试使用 Lucene 查询解析器对其进行解析。然而,我注意到有几种格式的字符串会在这个查询解析器中引发错误。
例如:

  • ~任意字符串
  • 任意字符串 +

首先,我尝试塑造我的用户输入的字符串,使其不能包含这些案例,但正如我所见,我现在可能无法预见更多案例。

您如何处理查询解析器异常?你如何防止它们?

4

2 回答 2

2

我们捕获剩余的解析异常并显示错误消息(“您的搜索不匹配任何文档。建议:尝试不同的关键字。”)。

另请参阅如何使 Lucene QueryParser 更宽容?

于 2009-03-02T11:29:30.143 回答
0
query.replace(/([\!\*\+\&\|\(\)\[\]\{\}\^\~\?\:\"\/])/g, "");
于 2020-03-25T09:26:21.917 回答