搜索bug反馈

By shiqiren at 2015-08-10 • 2人收藏 • 2014人看过

例如,我想搜索“游戏”,在输入“yo”后,当再输入“u”后,输入框被自动填充为“You”,导致无法输入“游”

10 个回复 | 最后更新于 2015-08-10
2015-08-10   #1

大概是autocomplete库对中文输入支持不好吧,或者是我的程序问题?

这种bug确实很奇怪啊,我等下看看。

2015-08-10   #2

回复#1 @lincanbin :

另外一个关于搜索的js bug,就是当后台没搜搜结果时,会提示js错误。

解决办法:

在json.php case 'tag_autocomplete': 加上


else{
    $Response['suggestions'][]='';
}


2015-08-10   #3

回复#2 @shiqiren :

blob.png

确实有这么个问题,感谢反馈。

2015-08-10   #5

https://github.com/lincanbin/Carbon-Forum/commit/ef842ae774630d90887faa547af6663359868809

主帖中报告的这个问题也已修复,强制刷新缓存应该就可以正常输入了。

这个bug在chrome 42下无法复现,导致我一直没注意到,现已修复。

2015-08-10   #6

回复#5 @lincanbin :

我测试是,只要第一个搜索结果完全跟搜索框一样就会出现,不过根据你在git的修改测试后,已经没此问题了,多谢啊!!!

2015-08-10   #7

回复#5 @lincanbin :

对搜索的建议:可以把原始的话题数据,在加上不断累积的用户发表的话题数据,进行分词处理,放到 no-sql,例如 mongodb,加快搜索速度,如果检测到主机不支持 mongodb,就从 mysql 下搜索,照顾下没有独立服务器的用户

2015-08-10   #8

回复#7 @shiqiren :

这种大规模分词我也有考虑过,但是这样的话搜索数据表的数据增长实在太快了。发个帖,搜索数据表就加几百条数据,有几十万帖的话,估计搜索数据表都上亿记录了吧。

目前数据量大的情况下,搜索就是用标签索引帖子。

2015-08-10   #9

回复#8 @lincanbin :

我还想偷下懒呢,不过我得自己动手改了

2015-08-10   #10

回复#9 @shiqiren :

我有个网站差不多30000帖量,每个帖子内容平均是2KB,使用Like进行包括帖子内容的全表扫描搜索,大概耗时800~1200ms。

这种数量级下,如果你用分词建立搜索索引表,索引表的记录数量大概要过千万条了吧,不见得能节约多少时间。



这种情况我建议使用MyIsam引擎,然后对内容使用FullText索引,ft_min_word_len设置为1,然后用

MATCH (Content) AGAINST

进行搜索,虽然对中文支持不佳,但是精确度跟分词后自行建表相比也差不多了太多。

我另外有一个网站,大概2G的数据量,1,500,000条数据,用Fulltext搜索平均耗时也就10~50ms,精确度还可以。

登录后方可回帖

登 录
信息栏

Carbon Forum是一个基于话题的高性能轻型PHP论坛

下载地址:Carbon Forum v5.9.0
QQ群:12607708(QQ我不常上)

donate

手机支付宝扫描上方二维码可向本项目捐款

粤公网安备 44030602003677号
粤ICP备17135490号

Loading...