6
回答
如何实现仿百度的拼音搜索提示
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   
在百度的搜索框里,输入拼音,会得到搜索提示。比如输入tianq,在提示框里有“天气,天气预报查询”等提示内容。现在打算做一个这样效果的搜索。本来想用lucene实现:把要搜索的所有汉字串转成拼音,然后索引起来,再搜索。但是实现效果很差。问问大家,像百度这种效果在后台怎么实现好?要查找的汉字串现成有的,大概几十万条数据。
举报
containsoft
发帖于6年前 6回/2K+阅

一般是把 检索历史 索引,索引的时候 把简拼、全拼都索引进去

然后在使用的时候根据用户检索的输入提示:(py:tq OR pyw:tq OR pysx:tq* OR keyword:tq)

首先要有个中文拼音对应表:["A","阿吖嗄腌锕"]**["Wo","挝蜗涡窝我斡卧握沃倭莴喔幄渥肟硪龌"]**

然后把待查询的词语根据拼音对应表进行分数组:"我爱中华",***

得到单字母数组:arr[a] =["我爱中华",**],arr[w] =["我爱中华",**],arr[o] =["我爱中华",**]

双拼音的数组:arr[ai] =["我爱中华",**],arr[wo] =["我爱中华",**]

最后根据用户输入的字符是个数,找数组下标,再根据字符去查找数组。

“实现效果很差”?是速度慢,还是其他原因,这个技术并不复杂,只是想做好非常繁琐

数据库索引优化、拼音多音词处理、php jsp JavaScript 一堆问题要处理

感兴趣的可以参考一下北京交通大学图书馆 http://202.112.150.128:8991/F 的做法

你不是已经准备好提示字符串了吗,可以把数据托管到 www.92find.com ,只要一行JS代码就可以

实现baidu 淘宝 的所有提示功能:前缀、全拼、简拼、容错、模糊匹配、自定义排序规则等等

顶部