如何解决Umbraco Lucene 搜索突破“特殊字符”
当用户输入某些特殊字符,即 html 标签时,用户会收到:
加载局部视图脚本时出错(文件:~/Views/MacroPartials/ezSearch.cshtml)
我一直在调查,这似乎是一个常见问题,我尝试应用修复程序,以便去除“坏”字符:
public string CleanseSearchTerm(string input)
{
System.Text.RegularExpressions.Regex rgx = new System.Text.RegularExpressions.Regex("[^a-zA-Z0-9 -]");
input = rgx.Replace(input,"");
return input.ToString();
}
然而,问题是这个错误在它有机会使用我的方法来去除“坏”字符之前就已经生成了。有关如何解决此问题的任何想法?
解决方法
我自己没有尝试过这些更改,Kyle 但我已经做了一些调查来帮助您解决这个问题。以下解决方案之一能帮到您吗?
请参阅 this Umbraco form question 及其答案,尤其是来自 Ismail Mayat 的答案可以帮助您。
链接到 Ismail 的回答,还有这个 "How to make the Lucene QueryParser more forgiving?" 问题,我建议您也检查这个问题的答案。
另一个可能对您有帮助的答案是this stackoverflow answer.
,Lucene.NET 确实包含一些类来帮助进行 HTML 剥离。这些类位于 Lucene.NET 存储库中的 here。具体来说,HTMLStripCharFilter 可能很有趣。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。