前段时间 写了个 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
分享到:
相关推荐
谷歌建议搜索(Google Suggestion)是谷歌搜索引擎提供的一项功能,当用户在搜索框输入关键词时,它会自动显示与输入内容相关的搜索建议。这个功能极大地提高了用户的搜索效率,减少了拼写错误,同时也提供了流行和...
本示例将聚焦于如何使用Ajax来实现类似Google搜索时的实时搜索提示功能。 首先,我们要理解Google搜索提示的基本原理。它通过在用户输入关键字时,向服务器发送请求,服务器根据这些关键字返回相关的搜索建议。这些...
在这个版本的Android Studio中,开发者可以享受到Google提供的最新IDE特性,如Gradle插件升级、性能优化、代码编辑器增强等。在开发百度地图相关应用时,可以通过集成Gradle依赖管理,轻松引入百度地图SDK。同时,...
**Ajax 实现Google搜索模拟** Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。在本项目中,我们利用Ajax技术模仿了Google的搜索功能,提供了一种实时、...
在实现输入框提示Google Suggestion的过程中,开发者需要注意以下关键点: 1. **事件监听**:需要监听用户的输入事件,如`keyup`或`keydown`,并在适当的时候触发查询建议的逻辑。 2. **数据获取**:数据可以来自...
综上所述,"Marriage Suggestion Program - Android Studio"项目涵盖了Android开发的多个重要方面,包括UI设计、数据管理、算法实现、网络通信以及测试和发布流程。开发者在实践中可以深入学习和掌握Android开发的全...
**JavaScript实现的仿Google下拉框** 在网页交互设计中,Google下拉框是一个非常经典的用户体验元素,它能够根据用户输入的内容动态展示相关的建议,提高了用户的输入效率。本篇文章将深入探讨如何使用JavaScript来...
在本示例中,我们将探讨如何通过Ajax实现无刷新网页,以"1106_Google Suggestion 参考代码"为例,来理解其工作原理和实际应用。 1. **Ajax基础概念** - 异步:Ajax操作不会阻塞用户交互,可以在后台与服务器通信。...
在IT行业中,实现“类似于Google搜索框下拉效果”是一项常见的前端开发任务,它涉及到用户体验设计和JavaScript技术的运用。这种效果通常被称为自动补全(Autocomplete)或预测搜索(Predictive Search),它能提高...
而实现QComboBox输入自动提示功能,可以极大地提升用户体验,类似于Google搜索框的自动完成效果。这个功能在开发过程中常用于减少用户的输入负担,提高数据选择的效率。本篇将详细介绍如何在C++中使用Qt库来实现这一...
ecshop仿照淘宝模板搜索下拉框,ajax实现google suggestion效果
在本示例中,我们将讨论如何利用Ajax和iBatis数据库框架来实现一个自动提示搜索功能,类似于Google的搜索建议。 **1. 前端部分** 在前端,通常使用JavaScript库如jQuery来处理Ajax请求。首先,我们需要在HTML页面...
**三、仿谷歌搜索建议的实现步骤** 1. **HTML结构**:首先,我们需要创建一个搜索框元素,以及一个用于显示建议结果的容器。 ```html 请输入搜索关键词"> <div id="suggestions"></div> ``` 2. **CSS样式**:为了...
在IT行业中,构建一个搜索引擎是复杂且技术性强的任务,尤其是要实现类似谷歌这样的高效、用户友好的搜索体验。本文将详细解析"完全仿谷歌搜索 显示信息条数"这一主题,涵盖智能提示、自动回传、谷歌搜索效果的实现...
"成熟的仿百度和Google的搜索联想提示功能"指的是在用户输入关键词时,系统能够实时预测并显示可能的相关搜索词,这些联想词通常是基于用户历史搜索数据、热门搜索趋势或相关词汇关联性来生成的。 实现这一功能的...
实现"ajax+jsp仿谷歌搜索引擎"的过程大致分为以下步骤: 1. **前端界面**:创建HTML表单,包含一个输入框和一个隐藏的Ajax请求组件。当用户在输入框中输入时,通过JavaScript监听键盘事件,触发Ajax请求。 2. **...
**Ajax技术实现自动补全功能** Ajax(Asynchronous JavaScript ...通过以上步骤,我们可以实现类似Google的自动补全功能。然而,实际项目中还需要结合具体业务需求,进行更复杂的优化和调整,以提供更优质的用户体验。
在本文中,我们将深入探讨如何使用jQuery 1.3.2库来实现类似于Google和百度搜索引擎的提示效果,以及如何确保这种效果在不同浏览器(如IE和Firefox)中具有良好的兼容性。首先,让我们理解jQuery的基本概念。 ...
这个组件模仿了Google Suggest的功能,即在用户在输入框中输入字符时,会根据预设的数据源动态地给出匹配的建议,提高了用户的输入效率和体验。 组件的核心特性包括: 1. **实时性**:用户在输入文本框中每输入一...
要实现Google Suggest风格的搜索,首先我们需要在用户输入时监听键盘事件,当用户输入达到一定长度或按下特定键(如回车或下拉键)时,触发Ajax请求。使用JavaScript的XMLHttpRequest对象或者现代浏览器支持的fetch ...