java - 这种功能怎么实现?(搜索框自动补全+热词结果统计)
阿神
阿神 2017-04-17 17:42:07
0
6
576

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

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

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

阿神
阿神

闭关修行中......

全部回复(6)
Ty80

监听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可以自动绑定

刘奇

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

黄舟

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

伊谢尔伦

实现一个智能提示功能需要ajax、数据库、jsp/php、算法等很多知识,
如果数据量大,还需要特殊优化
一个小功能,花费太大精力很不划算
我使用了92find.c-o-m的搜索框智能提示功能托管服务,
只要一行javascript代码就可以实现百度、淘宝搜索框提示的全部功能
比如:汉字拼音匹配、拼音前缀匹配、模糊搜索、智能容错,还可以自定义提示词汇及其排序权重
花五分钟我的网站就可以部署同百度、淘宝一样强大好用的输入提示功能
同时兼容IE、Firefox、Safari、Chrome、Opera各种浏览器
兼容ios、Android、Windows

刘奇

实现一个智能提示功能需要ajax、数据库、jsp/php、算法等很多知识,
如果数据量大,还需要特殊优化
一个小功能,花费太大精力很不划算
我使用了92find.c-o-m的搜索框智能提示功能托管服务,
只要一行javascript代码就可以实现百度、淘宝搜索框提示的全部功能
比如:汉字拼音匹配、拼音前缀匹配、模糊搜索、智能容错,还可以自定义提示词汇及其排序权重
花五分钟我的网站就可以部署同百度、淘宝一样强大好用的输入提示功能
同时兼容IE、Firefox、Safari、Chrome、Opera各种浏览器
兼容ios、Android、Windows

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板