当时笔试问到的一个问题,如题.当时脑子想的是用正则匹配,但是估计会炸了....回来查了好多资料,貌似是用AC算法这种东西,对算法真的不了解,大神们觉得怎么处理比较好呢?
当时笔试问到的一个问题,如题.当时脑子想的是用正则匹配,但是估计会炸了....回来查了好多资料,貌似是用AC算法这种东西,对算法真的不了解,大神们觉得怎么处理比较好呢?
用PHP做过类似的应用demo,也是用的ac,其实算法这东西,如果你不是研究算法,只是单纯的用的话其实不难的。
这是匹配算法。
然后还有一点的就是语言,这种要求运行速度的最好别选PHP,脚本语言总是没有静态语言跑的快。然后是敏感词的存储,从内存中拿和从磁盘上拿这两个区别还是蛮大的。
然后是一台服务器上多线程处理,多台服务器的分布式处理;暂时想到的就这些了
1 回答3.5k 阅读✓ 已解决
1 回答4.2k 阅读✓ 已解决
2 回答2.3k 阅读✓ 已解决
2 回答873 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.3k 阅读
1 回答2.8k 阅读
这些应用都是多台部署的,后台多台机器会提供敏感词验证服务接口,任务平摊给多个机器,速度自然很快了。
在自己公司内部技术wiki上搜索了一下,我司使用的敏感词算法是:Aho Corasick自动机结合DoubleArrayTrie极速多模式匹配 ,我司主要用的是java实现的,应该也有php版本的实现,你自己去找找吧。