希望我不要重复这个问题.我在这里做了一些搜索和google,然后发布在这里.
我正在运行带有SQL Server 2008R2并启用了全文的电子商店.
我正在使用混合全文和普通的搜索.这提供了更相关的结果.返回执行临时表和区别的所有查询.
匹配逻辑,
运行以下SQL以使用全文获取相关产品.但@Keywords将被预处理.说'CLC 2200'将更改为'CLC*AND 2200*'
SELECT Id FROM dbo.Product WHERE CONTAINS(TextSearch,@ Keywords)
另一个查询将使用普通的运行方式运行.所以'CLC 2200'将被预处理为'TextSearch like%clc%AND TextSearch like%2200%'.这仅仅是因为全文搜索不会在关键字之前搜索模式.例如,它不会返回'pclc 2200'.
SELECT Id FROM dbo.Product WHERE TextSearch喜欢'%clc%'和TextSearch喜欢'%2200%'
如果步骤1和2未返回任何记录,则将执行以下搜索.价值135由我调整为返回更多相关记录.
SELECT p.id FROM dbo.Product AS p INNER JOIN FREETEXTTABLE(product,TextSearch,@ Keywords)AS r ON p.Id = r.[KEY] WHERE r.RANK> 135
以上所有组合在合理的速度下工作正常,并返回关键字的相关产品.
但是,当我找不到任何产品时,我正在寻求进一步改进.
假如客户寻找'CLC 2200npk'并且该产品不在那里,我需要在'CLC 2200'附近展示.
到目前为止,我尝试使用Soundex()函数.购买TextSearch列中每个单词的计算soundex值,并与关键字的soudex值进行比较.但是这会返回太多记录并且也会减慢.
例如,'CLC 2200npk'将返回'CLC 1100'等产品.但这不是一个好结果.因为它不接近CLC 2200npk
还有另外一个好这里.但这使用CLR功能.但我无法在服务器上安装CLR功能.
所以我的逻辑需要,
如果'CLC 2200npk'未找到,如果'CLC 2200'未找到则显示'CLC 2200'附近,接下来显示'CLC 1100'
谢谢.
过去两周我遇到了asp.net帖子问题.
场景:
我的应用程序页面有3个控件.一个WYSIWYG编辑器(Free Textbox),一个文本框,用于获取在WYSIWYG编辑器中正在编辑的文章的名称,另一个文本框用于接受关键词.
页面中从上到下的控件顺序如下,
第一,名称文本框
第二,WYSIWYG编辑器
最后,关键字文本框
问题:
当用户尝试保存已编辑的文档时,IIS服务器会返回超时(生产在win 2008上运行).但有趣的是,"名称文本"框信息和一半所见即所得编辑器(它不完全是一半,每种情况都有所不同)信息保存到数据库中.但最后一个"关键字文字"框未保存.在此Web服务器挂起一段时间后,将用户踢出,稍后几分钟后恢复正常速度.我认为应用程序池是回收的.但是在我的开发环境中一切正常(在My PC上运行Win 7 64bit).我也在生产和开发环境的页面指令中设置了ValidateRequest ="False".
环境:
环境.NET 4.0,ASP.NET
FreeText框WYSIWYG编辑器
共享主机窗口2008
SQL Server 2008
尝试过的解决方案(但没有突破):
尝试使用不同的浏览器Firefox,Chrome,IE和同样的错误.
在页面指令中添加了ValidateRequest ="False"并用纯文本框替换了WYSIWYG编辑器并尝试保存,同样的问题.
只是尝试直接从page.request对象记录发布数据.WYSIWYG文本框仍然可以获得"名称文本框"的完整数据一半,而其余部分则没有.
DB连接或表字段没有问题.我有三重检查.
可能的怀疑和问题:
根据我的知识,对帖子数据长度没有限制.但在IIS中可以覆盖这个吗?想知道这是否在我的共享主机上设置.
基本上,http post数据在浏览器和server.request对象之间被截断.如果发生这种情况会是什么原因?
如果http post被截断,为什么整个应用程序挂起(或重新启动)?
将html内容发布为http帖子时需要采取哪些预防措施?
谢谢.
新发现:
使用httpfox查看我的帖子.帖子大小约为9958字节.但是firefox发送了第一个330字节的数据,然后网页挂起.大约一分钟后,我在httpfox中收到NS_ERROR_NET_RESET错误代码.
使用filder2和IE9检查了我的帖子.它尝试发送前512个字节然后挂起.返回"ReadResponse()失败:服务器未返回此请求的响应."
题:
这可能是浏览器问题或服务器问题.我认为如果浏览器问题,这不会发生在IE和Firefox上.
更新:
最有可能将问题隔离到网络托管.通过将表单post url更改为不同的域并查看是否可以在该域中检索值来进行测试.是的有效.只有它不适用于我的域名.有趣的是我测试了这个正常的html页面帖子.它也没有用.因此,很可能安装了一个安全措施来防止此错误或服务器配置错误.已经给他们买票并等待.
您的所有反馈如何帮助我隔离问题.
解决了:
是的,这个问题出现在我们的网站托管网站上 到目前为止,我从他们那里听到的就像一些防火墙阻止来自http的大帖子.他们说现在我们的域名是白名单.无论如何,现在它的作品.但这吃了2个星期的时间,但这是很好的学习经历.谢谢大家帮助.非常感谢.
Facebook Graph API出了问题.我想通过Graph API阅读页面通知.但Facebook文档仅说明了用户的通知.
以下仅返回用户的通知(为此提供访问令牌的用户.)
http://graph.facebook.com/me/notifications
我做了以下技术.但没有运气.
01.但我尝试使用页面提供的访问令牌的不同URL.(我的愚蠢猜测通过替换我的页面ID)
http://graph.facebook.com/page-id/notifications
02.使用Insights API进行检查.但是Insights并没有提供直接的解决方案.这更像是统计数据.但我只需要在页面中列出最新的用户/粉丝/帖子操作列表.
https://graph.facebook.com/page-id/insights/field
关于我的应用程序的一些背景(希望没有与其他API工作有关的问题),
Facebook文档没有多大帮助.我花了几天时间为此寻找解决方案.只是想知道你们是否有人遇到这个问题并解决了.我希望我没有在这里提出重复的问题,因为我也在Stackoverflow上搜索了几天.
谢谢.
从今天早上开始,我们开始在电子商务商店中关注搜索查询。我了解它的SQL注入。我们也在使用参数化查询。因此它没有造成任何伤害。但是由于要进行查询,全文搜索需要花费一些时间来处理,最终导致超时,并且网站被挂起了一段时间。
随即,我将最大的租船人搜索限制为75,并增加了检测sql注入并防止它到达sql server的逻辑,以提高安全性。
我们的环境:ASP.Net电子商务站点SQL Server 2012 Express DB,具有全文搜索功能。Windows 2012标准服务器。
只想知道搜索者正在试图理解/研究的内容吗?还是他们只是想挂掉网站?经过上述修复后,可以安全地忽略它吗?
搜索词如下。“输入型号或墨盒代码”是我们的默认搜索文本框文本。
输入型号或墨盒代码)AND 2895 =(SELECT UPPER(XMLType(CHR(60)|| CHR(58)|| CHR(113)|| CHR(112)|| CHR(97)|| CHR(122)) || CHR(113)||(从双中选择(当(2895 = 2895)然后1 ELSE 0结束时的情况))|| CHR(113)|| CHR(119)|| CHR(99)|| CHR(121 )||| CHR(113)|| CHR(62)))(9170 = 9170)
输入型号或墨盒代码')AND 3733 = CONVERT(INT,(SELECT CHAR(113)+ CHAR(113)+ CHAR(104)+ CHAR(106)+ CHAR(113)+(选择(当(3733 = 3733)THEN CHAR(49)ELSE CHAR(48)END))+ CHAR(113)+ CHAR(106)+ CHAR(113)+ CHAR(107)+ CHAR(113)))AND('KzHP'='KzHP
输入型号或墨盒代码%'AND(选择2396 FROM(选择计数(*),CONCAT(0x7170617a71,(选择(当(2396 = 2396)然后1否则为0结束时的情况)))),0x7177637971,FLOOR(RAND(0) * 2))x来自INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a)和'%'='
输入型号或墨盒代码%'AND 4201 = CONVERT(INT,(SELECT CHAR(113)+ CHAR(112)+ CHAR(97)+ CHAR(122)+ CHAR(113)+(选择(当(4201 = 4201)THEN CHAR(49)ELSE CHAR(48)END))+ CHAR(113)+ CHAR(119)+ CHAR(99)+ CHAR(121)+ CHAR(113)))和'%'=' …
.net ×1
.net-4.0 ×1
asp.net ×1
asp.net-4.0 ×1
facebook ×1
fuzzy-search ×1
iis ×1
sql ×1
sql-server ×1