首页 > 这种功能怎么实现?(搜索框自动补全+热词结果统计)

这种功能怎么实现?(搜索框自动补全+热词结果统计)

类似这样,输入关键字,然后自动补全,返回相关热词+结果统计,我使用solr的facet功能,但是返回的结果,都是分的很细的词,比如头戴式(2),耳机(10),而不是头戴式耳机(4)。

所以,我想问一下,图中的效果是怎么实现的,后台方面要做哪些设计?

ps:举例是素材来着小米官网


说一个我的大致方案
先记录用户搜索的词 每个用户搜索 单独记录入库 (此处可做筛选 也可自己导入一部分词)
入库之前将中文 转化为拼音 同时保存 为了模糊查找
定时任务更新 每个搜索词在索引中的记录条数(此处可能不能实时)
前台可以使用一些jquery插件 有很多 比如 jquery-ui里的 autocomplete
实际效果 可见 www.cnal.com 搜索


监听onkeyup 事件,像后台发送Ajax请求,将输入的关键词传到后台,后台进行模糊匹配,将数组返回到前端;
这里注意两个地方,第一是前端的onkeyup事件,这里要做函数节流,防止频繁向后台发送请求,传送门:http://www.cnblogs.com/dolphinX/p/3403821.html;第二是数据库方面的优化,被搜索的字段要做索引和缓存,这里的东西涉及比较多,需要自己去查找相关资料了;
最后是关于前端效果实现,这个jquery插件有很多,你百度搜索自动补全就能找到,这里给你几个:http://jq22.com/search?seo=%E8%87%AA%E5%8A%A8%E8%A1%A5%E5%85%A8


angular可以自动绑定


有个jq.autocomplete插件, 你可以看看源码,然后二次开发下。

【热门文章】
【热门文章】