关键字模糊匹配
2016-03-02 22:33
141 查看
关键词模糊匹配,如候选词集合为{‘我爱北京天安门’,‘北京西站’,‘上海外滩’},输入‘北京’,要匹配出{‘我爱北京天安门’,‘北京西站’}
想到了如下几种方法:
1. 正则法
将所有关键词集合存入数组或字典中,然后用关键字进行正则匹配。
效率略慢,400万候选词的话,约用时4s
2.reids法
有两种子方法
keys命令模糊匹配
官方不推荐这种做法
sscan命令模糊匹配
400万候选词的话,约用时7s
3.mysql法
将关键词集合存入mysql,用like的方式匹配
效率低,400万候选词的话,用时约10s以上
4.分词建索引
实现较难,没有实践经验
想到了如下几种方法:
1. 正则法
将所有关键词集合存入数组或字典中,然后用关键字进行正则匹配。
效率略慢,400万候选词的话,约用时4s
2.reids法
有两种子方法
keys命令模糊匹配
keys *北京*
官方不推荐这种做法
sscan命令模糊匹配
SSCAN myset 0 MATCH *北京* COUNT 4000000
400万候选词的话,约用时7s
3.mysql法
将关键词集合存入mysql,用like的方式匹配
效率低,400万候选词的话,用时约10s以上
4.分词建索引
实现较难,没有实践经验
相关文章推荐
- ASP.NET MVC中viewData、viewBag和templateData的使用与区别
- bzoj 1085: [SCOI2005]骑士精神
- 从C/C++到Objective-C(三)--- 内存管理
- 【算法】错排——错误引发的讨论
- 51Nod 1278 相离的圆(好题)
- 面向对象的三个基本元素,五大基本原则
- 从堆栈快速定位出错的代码行
- 常见验证码的弱点与验证码识别
- bzoj 1084: [SCOI2005]最大子矩阵
- ui-router(三)controller与template
- js 判断两个变量是否相等
- Android主线程、子线程通信(Thread+handler)
- 导学目录-学如逆水行舟
- 【JAVA知识】集合框架
- NAT工作原理
- http://lib.csdn.net
- TextView实现跑马灯效果
- C++程序员快过来围观:非常实用全面的 C++资源
- 第三章 View的事件体系
- 搭建云服务器--移动应用开发