一些国外开源程序不支持中文搜索的原因

By lincanbin at 2015-07-07 • 0人收藏 • 389人看过

http://v2ex.com/t/203939

从这里看到了这个帖子,就顺手写一下。

英文的语法跟中文的不同,它是按空格划分的。 

例如我到一个黄网,想搜美腿看看,我输入leg,结果找出来一个legal teen,这肯定不对吧?所以英文网站的搜索都是基于空格&符号分词进行的。 

中文就相对简单得多,FullText或者Like(前者性能高但是中文支持不佳,后者性能较菜),或者分词然后取索引(这是最好的方案,但是对分词和索引能力要求较高,知乎水平不够但是强上这种)。 

不同语言有不同的搜索实现,怎么可能一并实现? 

如果Google没被墙,最好的方案其实还是放个Google的站内搜索。

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

Carbon Forum这个搜索功能其实是没什么诚意的。 

https://github.com/lincanbin/Carbon-Forum/blob/master/search.php#L32 

大家可以看到它的搜索功能的后台实现只有五十多行,这段代码估计写了一个下午最多了。 
在低数量级的时候直接like匹配,数量级一高,则分词后然后取索引。 

这些索引实际上还是在发帖时人工输入的,所以精确度还可以。 



用户输入文章后,Carbon Forum利用RMM算法自动切分文章,从词库中筛选可能的词组,并给出这些词组,让用户选择合适的关键词作为标签。 

 

用户人工选择的这些标签同时也就是该主题在高数量级下的索引了。 

登录后方可回帖

登 录
信息栏
购买PHP虚拟主机 / VPS

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

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

donate

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

Loading...