瞎扯淡 在百度输入几个字,就出来一堆的下拉条,这是什么技术

waitingaminute · 2014年05月19日 · 最后由 zfjoy520 回复于 2014年05月21日 · 4721 次阅读

在百度输入几个字,就出来一堆的下拉条,这是什么技术,领导让我做这样的效果,我都不知道是什么技术,谁能提示下,谢谢

搜索 autocomplete

#1 楼 @huacnlee 谢谢,我去学一下

这里面水很深。。。。

#3 楼 @pynix 我感觉也是,但是领导突然就让我做这个,他只说这个叫舌头,我百度了半天也没百度着有叫舌头的技术,我看看网上有没有例子之类的,尽力吧。。。。。。。

前端直接用 jquery 插件也可以。后端涉及分词和前缀匹配,直接上全文吧,es 好像内置了

#4 楼 @waitingaminute 好名字啊,劳动人民的智慧啊,这就效果就是像吐舌头

#4 楼 @waitingaminute 你不会搜索 "舌头的技术" 吧?你和你们领导都好萌啊。

@waitingaminute @pynix 水超级深,涉及机器学习

可以考虑用 typeahead.js

RailsCasts 有一期讲这个

舌头。。。你们领导想象力超群,卖萌啊

彻底逗乐了。。。

这里前端推荐用 select2 或者 typeahead ... railscast 上的不怎么好用

#14 楼 说的差不多。复杂的查询 建立一个trie tree进行,不复杂的话 直接数据库 就 ok,前端这边可以 autocomplete。

你确定是舌头不是 suggest?

这个刚好昨天看到了视频 jquery-autocomplete 我想适合你。

我觉得“舌头”这个词好形象呀。

舌头。。。

#7 楼 @zgm 我真这么搜的“叫做舌头的 it 技术”,领导就扔给我这俩字,然后就不管了。。。

#17 楼 @huyong36 他问我知道百度的这个功能不,我说见过,他说知道是什么技术吗,我说不知道,他说叫舌头。。。。。。

#18 楼 @lb563 谢了,真是我需要的

仿百度做一个 autocomplete 的功能,使用 jquery.ui http://michael-roshen.iteye.com/blog/2061712

typeahead bloodhound 支持 localstorage 或者 remote 两种方法,如果数据量不大,前端 localstorage 后端传一次 json 就可以了,要是数据量大,可以 remote + redis, 速度也挺快的

感觉是 ajax 后端涉及到预测 匹配算法 整出来你应该不用在你们公司呆了

#25 楼 @apprentice 这种数据量一般不会小,我们现在做了分表,0-9,a-z,但是 like 查询速度还是不理想,不知道有没有高招?

都分表了还 like?全文检索吧

#27 楼 @michael_roshen 可以搜索一下 sphinx,或者是其他比较成熟的全文检索引擎,sphinx 应该算是比较老的了。前几年用过。最近没这些需求了。也没怎么关注这一块。夸大点说,like 在大数据面前是在做死。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号