gpt4 book ai didi

c# - 调整我的搜索功能

转载 作者:搜寻专家 更新时间:2023-10-30 19:52:19 24 4
gpt4 key购买 nike

我已经测试了在实时网站上实现的搜索功能。我遇到了一些小问题。我不能在搜索框中输入特殊字符,否则我的应用程序会崩溃。我试图通过对它崩溃的字符进行一些替换来解决这个问题,但这并不能解决这个问题。当我在搜索框中输入这个标志:* 时,它给了我以下错误:

无法解析“<%%> echo;”:“”或“?”不允许作为 WildcardQuery 中的第一个字符。我以前有过这个错误,然后去掉了所有单词之间的空格。然后错误消失了。但是,当我现在将 this: * 替换为 this: ""时,我将收到上述错误。有什么标准方法可以解决特殊字符问题吗?我会在这里写下我的一些代码,这样我可以获得更好的反馈。

Analyzer analyzer = new StandardAnalyzer();
QueryParser qpContent = new QueryParser(Index.ContentFieldName, analyzer);
keyword.Trim();

keyword = keyword.Replace("\"", "");
keyword = keyword.Replace("^", "");
keyword = keyword.Replace("*", "");

Query queryContent = qpContent.Parse(keyword + "*");
QueryParser qpLanguage = new QueryParser("language", analyzer);
Query queryLanguage = qpLanguage.Parse(Sitecore.Context.Language.Name.ToString());

如您所见,我首先替换了 *,然后将其重新添加到查询解析器中。我不是 100% 熟悉这种功能,因此完全不知道我做错了什么。非常感谢所有帮助,谢谢!

最佳答案

您可能在配置中设置了 ValidateRequest 选项,这有助于防止 asp.net 中的注入(inject)攻击。

一些细节可以在这里找到...

http://msdn.microsoft.com/en-us/library/bb355989.aspx

http://msdn.microsoft.com/en-us/library/system.web.configuration.pagessection.validaterequest.aspx

和...

http://en.wikipedia.org/wiki/Code_injection

http://en.wikipedia.org/wiki/SQL_injection

关于c# - 调整我的搜索功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2132286/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com