
在日常的工作或者面试中,经常会遇到一些与查询相关的问题,比如:
- 如何从海量数据中查询同时带有“极”和“客”字的唐诗?
- 为什么很多日志系统使用 NoSQL 数据库而不是关系型数据库?
- 在爬虫系统抓取网页之前,如何快速判断一个 URL 是否已经被抓取过?
其实,这些问题都属于检索技术的研究范畴。检索技术已经成为互联网时代技术人必不可少的技能之一,因为其应用极其广泛。
一方面,很多平台的架构设计都有相似的检索模块,比如搜索、推荐、广告等;另一方面,用好检索技术还可以帮助我们有效提升程序的执行效率,比如,只要我们能合理地使用数据库的索引功能,那程序从数据库中检索相关数据的速度就能提升好几倍。
在这个专栏中,陈东会通过 20 篇文章,将他十多年打造高性能广告引擎的工作经验,以及针对各种检索业务的深入思考和理解分享出来。带你系统地学习高效的检索方案和设计思想到底有哪些,到底怎么用;并且会结合工业界中的具体业务场景,从最简单的解决方案入手,一步一步带你分析各种方案的优缺点,找到最优解。
开篇词 | 学会检索,快人一步! 导读 | 三步走策略,轻松搞定检索! 01 | 线性结构检索:从数组和链表的原理初窥检索本质 02 | 非线性结构检索:数据频繁变化的情况下,如何高效检索? 03 | 哈希检索:如何根据用户ID快速查询用户信息? 04 | 状态检索:如何快速判断一个用户是否存在? 05 | 倒排索引:如何从海量数据中查询同时带有“极”和“客”的唐诗? 测一测 | 检索算法基础,你掌握了多少? 特别加餐 | 倒排检索加速(一):工业界如何利用跳表、哈希表、位图进行加速? 特别加餐 | 倒排检索加速(二):如何对联合查询进行加速? 06 | 数据库检索:如何使用B+树对海量磁盘数据建立索引? 07 | NoSQL检索:为什么日志系统主要用LSM树而非B+树? 08 | 索引构建:搜索引擎如何为万亿级别网站生成索引? 09 | 索引更新:刚发布的文章就能被搜到,这是怎么做到的? 10 | 索引拆分:大规模检索系统如何使用分布式技术加速检索? 11|精准Top K检索:搜索结果是怎么进行打分排序的? 12 | 非精准Top K检索:如何给检索结果的排序过程装上“加速器”? 13 | 空间检索(上):如何用Geohash实现“查找附近的人”功能? 14 | 空间检索(下):“查找最近的加油站”和“查找附近的人”有何不同? 15 | 最近邻检索(上):如何用局部敏感哈希快速过滤相似文章? 16 | 最近邻检索(下):如何用乘积量化实现“拍照识花”功能? 特别加餐 | 高性能检索系统中的设计漫谈 测一测 | 高性能检索系统的实战知识,你掌握了多少? 17 | 存储系统:从检索技术角度剖析LevelDB的架构设计思想 18 | 搜索引擎:输入搜索词以后,搜索引擎是怎么工作的? 19 | 广告系统:广告引擎如何做到在0.1s内返回广告信息? 20 | 推荐引擎:没有搜索词,“头条”怎么找到你感兴趣的文章? 结束语 | 成长和进化,技术如此,我们亦如此 结课测试 | 这些检索知识,你都掌握了吗?
阅读全文
常见问题
是否支持单个资源购买?
答:点击“立即购买”,即是单个资源购买。
开通VIP会员后,是否支持全部资源下载,如何开通VIP会员?
答:点击“升级VIP”按钮,支付完成后即可开通VIP会员,VIP会员支持全站课程免费下载。
链接失效怎么办?
答:联系客服QQ:904745566,获取最新下载链接。
原文链接:http://xpozhan.com/algorithm/1453/,转载请注明出处。


评论0