当时笔试问到的一个问题,如题.当时脑子想的是用正则匹配,但是估计会炸了....回来查了好多资料,貌似是用AC算法这种东西,对算法真的不了解,大神们觉得怎么处理比较好呢?
2 回答
慕村9548890
TA贡献1884条经验 获得超4个赞
这些应用都是多台部署的,后台多台机器会提供敏感词验证服务接口,任务平摊给多个机器,速度自然很快了。
在自己公司内部技术wiki上搜索了一下,我司使用的敏感词算法是:Aho Corasick自动机结合DoubleArrayTrie极速多模式匹配 ,我司主要用的是java实现的,应该也有php版本的实现,你自己去找找吧。
蛊毒传说
TA贡献1895条经验 获得超3个赞
用PHP做过类似的应用demo,也是用的ac,其实算法这东西,如果你不是研究算法,只是单纯的用的话其实不难的。
这是匹配算法。
然后还有一点的就是语言,这种要求运行速度的最好别选PHP,脚本语言总是没有静态语言跑的快。然后是敏感词的存储,从内存中拿和从磁盘上拿这两个区别还是蛮大的。
然后是一台服务器上多线程处理,多台服务器的分布式处理;暂时想到的就这些了
- 2 回答
- 0 关注
- 746 浏览
添加回答
举报
0/150
提交
取消