lucene - 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 我自己没有尝试过这些更改,但我已经进行了一些调查以帮助您解决此问题。以下解决方案之一可以帮助您吗?
请参阅此 Umbraco 表单问题及其答案,尤其是Ismail Mayat的问题可以帮助您。
链接到 Ismail 的答案,还有这个“如何使 Lucene QueryParser 更宽容?” 问题,我建议你也检查这个问题的答案。
另一个可能对您有所帮助的答案是这个 stackoverflow 答案。
推荐阅读
- sql-server - 无法将 Varchar 转换为 DateTime - 从字符串转换日期和/或时间时转换失败
- python - 寻找两组数据点之间的非线性映射
- ios - Unity动画精灵消失
- c# - 如何从 ComboBox c# 将值存储在 DateTime 对象中
- python - 在 python 中导航和访问目录
- javascript - 如何在Javascript中获取输入检查项目
- reactjs - Firestore 延迟在用户集合中创建新文档
- go - 需要 uint64 编译以实现 32 位架构的 Golang 程序
- regex - 你能限制正则表达式中两个捕获组之间的单词吗
- asp.net-mvc - 使用 ASP.Net Core 从一对多关联表中检索数据