求一个关键字匹配的快速算法!!谢谢!在线等!
时间:2011-12-12
来源:互联网
同时我每天要处理10000封email,要对每一封email做关键字匹配,凡是email的Body中存在tblKeywords表中任意一条fldKeyword记录的字符串值,就算匹配成功,否则不成功。
我要做个程序实现上面功能。
我想到的算法是:
1.把关键字表tblKeywords所有记录读到内存变量datatable中
2.对每一封email,遍历内存变量datatable,对当前fldKeyword的字符串值,搜索email的Body,如果有此Keyword,成功,跳出;如果没有此Keyword,继续匹配下一个fldKeyword记录,直到匹配到或匹配完退出。
但是这个算法貌似很费时间,2个循环嵌套,最大可能须比较100-200万 * 10000 = 100亿次。
请教高手有没有更快速的算法?
谢谢!
在线等!
作者: jamex 发布时间: 2011-12-12
实际上国际上垃圾邮件检测这块90%以上的成熟应用都是使用的“贝叶斯算法”(或改进的“贝叶斯算法”
)
作者: wanghui0380 发布时间: 2011-12-12
作者: jamex 发布时间: 2011-12-12
作者: ssp2009 发布时间: 2011-12-12
100-200万,只是一次要做的事情,并不是每天都要扫的。
作者: yyz985 发布时间: 2011-12-12
每天一万 不需要考虑性能,再慢也要不了几分钟。
100-200万,只是一次要做的事情,并不是每天都要扫的。
我前几天自己测试了一下。一个while循环1秒钟做简单的3次判断, 可以循环300多万次吧,如果对于一100亿级别的数据100/0.03 = 30000秒,所以在我个人电脑上做简单的运算也要8,9个小时。。
所以我向服务器也快不到那里去把
作者: yibey 发布时间: 2011-12-12
作者: jiangfling 发布时间: 2011-12-12
作者: Sandy945 发布时间: 2011-12-12
作者: wushuai1346 发布时间: 2011-12-12
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28