使用Mongodb的搜索拼音自动补全方案

来源:未知 责任编辑:责任编辑 发表时间:2014-01-06 18:19 点击:

搜索的自动提示功能能给用户带来很好的搜索体验,由于中文的特点,如果搜索自动提示可以支持拼音的话会给用户带来更大的方便,免得切换输入法。目前大多数的电子商务网站都支持拼音提示功能。
 
关于多音字
由于中文存在多音字问题(读音,声调),例如 调的读音有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

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Request.ServerVariables 参数大全
    • 执行全文索引时出现权限不足的解决方法
    • 导入excel文件处理流程节点的解决方案
    • 查看sql修改痕迹(SQL Change Tracking on Table)
    • App数据层设计及云存储使用指南
    • PostgreSQL启动过程中的那些事三:加载GUC参数
    • MongoDB安装为Windows服务方法与注意事项
    • Percolator与分布式事务思考(二)
    • 写给MongoDB开发者的50条建议Tip1
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1