设为首页 加入收藏

TOP

使用Mongodb的搜索拼音自动补全方案
2014-11-24 03:04:53 来源: 作者: 【 】 浏览:4
Tags:使用 Mongodb 搜索 拼音 自动 方案

搜索的自动提示功能能给用户带来很好的搜索体验,由于中文的特点,如果搜索自动提示可以支持拼音的话会给用户带来更大的方便,免得切换输入法。目前大多数的电子商务网站都支持拼音提示功能。

关于多音字
由于中文存在多音字问题(读音,声调),例如 调的读音有DIAO;TIAO 长的读音有CHANG;ZHANG 所以对于一个词语如果用程序组合可能有多个组合,比如美的空调有4中组合:meidikongtiao;meidikongdiao; meidekongtiao;meidekongdiao 如何处理这中问题要做到精确第一需要有拼音库还要分词,这种处理难度较大,第二种就是把所有可能组合在一起,这样的缺点是一个词汇组合太多(阶乘);提示结果不准确。
大多数电子商务网站都采用第二种方案:例如 洗衣机 洗字有xian 和xi 两种读音。

淘宝商城:




卓越:




京东:




SQLServer还是MongoDB
如果使用sql server这样的关系型数据库 需要见两张表一张数提示词一张表是对应的读音,这样不管存储还是读取都相对比较麻烦,同时这种查询数次较高(用户每输入一个字符都要查询数据库)对sql server 造成不必要的浪费。
MongoDB是一种非关系型的文档数据库,开源,免费,具有易于使用,效率高等特点,存储是JSON格式,强大的查询功能(数组和正则表达式的支持)。

比如 美的空调 可以存储为 {name:’美的空调’;pinyin:[meidikongtiao’,’meidekongtiao’]}



查选也很方便,例如我们用户输入xian,我们的查选语句就是这样的:

查询结果为:






本文来自于博客园 作者MicroCoder

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇数据库各个阶段的INSTANCE DATABA.. 下一篇数据库面试题

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·哈希表 - 菜鸟教程 (2025-12-24 20:18:55)
·MySQL存储引擎InnoDB (2025-12-24 20:18:53)
·索引堆及其优化 - 菜 (2025-12-24 20:18:50)
·Shell 中各种括号的 (2025-12-24 19:50:39)
·Shell 变量 - 菜鸟教 (2025-12-24 19:50:37)