百度搜索时,这种边输入边检索出相关信息的该怎么做呢
发布于 9 年前 作者 suntopo 5485 次浏览 最后一次编辑是 8 年前 来自 问答

QQ20150910-1.png 像个人查询的小网站,改怎么做呢?每次keydown都去数据模糊查询下吗?拼音这么解决呢

15 回复

@1340641314 哪种方式请求不重要

@suntopo 那好吧,你的问题太高级,我回答不了

模糊查询是啥。。。 自豪地采用 CNodeJS ionic

用 key event 来捕获用户输入,再用 ajax 取数据并更新

有现成的js库,比如 twitter typeahead。够用的话就不用再造轮子了

一个简单的方案 做个关键字表, 还要包含全拼字段 如果是全字母/拼音就从全拼字段里模糊搜索猜用户的目标关键字

有项技术叫全文搜索,比如sphinx,简单来说就是分词+索引,这对本身就做搜索的baidu来说,小菜一碟。

当然,在百度里,这肯定不仅仅是全文搜索,全文搜索只是基础,后面会有大数据的智能匹配,自动或人工的热词运营等等

拼音什么的就是算法去猜测用户输入…我不会告诉你五笔都可以的

@William17 我也这么考虑,有木有现成的库可以用呢

@tim1020 恩,了解一点点lucene,我不做全文检索,值检索下title就可以了,所以用模糊查询应该就够了吧

你可以了解下Apache Solr , 基于lucene的,更轻量

@suntopo 像这种每输一个字母都会向后端获得热词的,其实原理也是一个key value的索引表吧,g对应一堆的词,ga对应一堆,gan又是一堆…至于key和value有哪些,可以基于自动的数据源,也可以是基于人工的热词推送

小网站还是直接查库吧,没必要用lucene太重了。

回到顶部