在日常工作或面试中,经常会遇到一些与查询相关的问题,如:
如何从海量数据中查询同时有“极”和“客”字的唐诗?
为什么许多日志系统使用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
[我要扒资料]