浏览 1727 次
锁定老帖子 主题:Mysql全文检索探讨
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2013-10-16
要求是这样的,一个用户表里有几万条记录,里面记录着每个用户的地址(美国),现在要求做检索,数据表结构如下图。 city,state,zip(这三个字段已做数据库索引)这三个字段都是必须使用匹配的,address这个字段则可以是模糊匹配。 检索的时候比如输入:2317 Settlers Way Blvd, Houston, TX 从检索条件可以得到address,city,state这三个字段,要求把相关的记录列出。 现在我的SQL是这样的: select address,city,state,zip,phone from customer where city = 'city' and state = 'state' and address like '%address%' 虽然这样也可以得到结果,但是好像跟老大说要的结果不太一样,他的意思是尽量让相似度高的排在前面,就比如ITEYE的搜索一样。当然,如果使用了lucene,Sphinx这样的搜索工具当然可以实现。问题是现在只有几万条记录,原来系统里也没有使用lucene或Sphinx,现在想通过纯数据库来索引,大家可有办法? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2013-10-23
纯数据好像没这功能,不然你要重新索引address那一列,数据量不大,你拿到内存来本地做排序吧
|
|
返回顶楼 | |