如何实现仿百度的拼音搜索提示

发布于 2021-12-03 21:33:37 字数 160 浏览 751 评论 5

在百度的搜索框里,输入拼音,会得到搜索提示。比如输入tianq,在提示框里有“天气,天气预报查询”等提示内容。现在打算做一个这样效果的搜索。本来想用lucene实现:把要搜索的所有汉字串转成拼音,然后索引起来,再搜索。但是实现效果很差。问问大家,像百度这种效果在后台怎么实现好?要查找的汉字串现成有的,大概几十万条数据。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

静谧 2021-12-05 14:28:10

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

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

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

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

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

清欢 2021-12-05 14:27:34

https://github.com/liudng/pinyin

筱果果 2021-12-05 05:40:57

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

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

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

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

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

归途 2021-12-04 16:10:49

估计绝对不是那样的吧?

看透却不说透 2021-12-04 14:29:01

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文