前段时间 写了个 google suggestion之类 的东西。写之前在网上搜了一些实现的方法,大多数文章介绍了前台的实现,后台的实现 大多借助了数据库的查询 或者是 lucene的前缀搜索+单词搜索。但是这些后台的方法仅仅适合小数据量的搜索,不适合大数据量的搜索。因为 数据量大会造成响应时间相当慢的情况,作为搜索建议,是不可以忍受的。
经过琢磨,研究了一下GOOGLE的表现。发现 1.如果网速快的话,其响应速度很快。2. 不仅能搜出前缀匹配,而且可以搜出任意中间单词的前缀匹配。
我想到的解决方法:
1.数据结构:压缩trie树,利用它可以得到前缀匹配的keyword。可实现google suggestion的两点表现。
2.找出该前缀匹配的 排名top10的 关键词存在相应的节点上。
3.前台实现采用AJAX。注意 应该延时提交请求,可以减缓服务器的压力。
结果:200万条数据,trie树的内存占用400多M,搜索相应速度在2ms左右。
本文出自 “牛奶咖啡” 博客,请务必保留此出处http://xiaomao870311.blog.51cto.com/1458701/381883
分享到:
相关推荐
3000万提示词、5亿key值、支持拼音、简拼等搜索、400并发响应时间在20ms 支持实时更新 自带缓存
BaiduSuggestionJavaScript实现百度搜索suggestion功能百度搜索suggestion功能增强了用户体验,现在很多带有搜索功能的网站都会有类似搜索suggestion功能,用以增强用户体验。暑假的时候试着做了一个百度搜索...
纯ajax实现的仿效谷歌和百度的搜索提示功能,自己建立一个小数据库模拟一下,可以实现上下键的动态选取,鼠标单击触发搜索等
flex suggestion组件(支持拼音)自动提示,自动补全,类似于百度搜索 可以支持输入拼音匹配汉字,支持汉字 包含匹配
百度地图步行导航+POI检索+Suggestion提示,android studio2.3.2版本
谷歌建议搜索(googlesuggestion)ajax,json实现方式 里面有实现的说明,本人原创,如有错误 还请海涵.但是功能都已实现 欢迎下载!
suggestion 自动完成 suggestion 自动完成
Marriage Suggestion Program - Android Studio is source code ready for build and run
灵活的AngularJS提前输入/自动填充/建议/预测搜索指令依存关系ng-建议的设置使用Bower安装: bower install ng-suggestion --save在您的应用程序中包含js / ng-suggestion.min.js。 您可能还希望包含css / ng-...
RAS Suggestion to Random Number Generation in Software
语言:English chrome扩展以扩展亚马逊搜索栏中显示的搜索建议数。 为亚马逊卖家! 该Chrome扩展通过显示Amazon在您输入的关键字之前和之后,亚马逊搜索栏中显示的搜索建议的数量展开。 这使得正在寻找新产品的努力...
ecshop仿照淘宝模板搜索下拉框,ajax实现google suggestion效果
Version 1.1 05-19-00
v标签建议具有预输入功能的简单标签组件 :keyboard: 通过npm安装npm install vue-tag-suggestion导入并注册您要使用的位置import vue-tag-suggestion from ' vue-tag-suggestion 'components: { vue-tag-suggestion ...
npm install vue-suggestion 将插件添加到您的应用中: import Vue from 'vue' import VueSuggestion from 'vue-suggestion' Vue . use ( VueSuggestion ) 使用vue-suggestion组件: < vue-suggestion :...
它给出了谷歌搜索字符串给出的建议列表
语言:English 巨大的Amazon&KDP搜索建议扩展器和一键下载。 此扩展将使您对FBA产品和KDP书籍市场的亚马逊关键词研究变得更加轻松和快捷。 只需开始在搜索栏中输入关键字,它就会非常Swift地吸引Amazon推荐的大量...
Chrome扩展程序可扩展亚马逊搜索栏中显示的搜索建议数量。 对于亚马逊卖家!此Chrome扩展程序通过显示在您输入的关键字之前和之后Amazon会建议的关键字,来扩展显示在Amazon搜索栏中的搜索建议的数量。...