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