首页 > 解决方案 > 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();
}

然而,问题是这个错误是在它有机会使用我的方法去除“坏”字符之前生成的。关于如何解决这个问题的任何想法?

标签: luceneumbracolucene.netumbraco7

解决方案


Kyle 我自己没有尝试过这些更改,但我已经进行了一些调查以帮助您解决此问题。以下解决方案之一可以帮助您吗?

请参阅此 Umbraco 表单问题及其答案,尤其是Ismail Mayat的问题可以帮助您。

链接到 Ismail 的答案,还有这个“如何使 Lucene QueryParser 更宽容?” 问题,我建议你也检查这个问题的答案。

另一个可能对您有所帮助的答案是这个 stackoverflow 答案。


推荐阅读