像个人查询的小网站,改怎么做呢?每次keydown都去数据模糊查询下吗?拼音这么解决呢
ajax
@1340641314 哪种方式请求不重要
@suntopo 那好吧,你的问题太高级,我回答不了
oninput
模糊查询是啥。。。 自豪地采用 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太重了。