9、索引更新:刚发布的文章就能被搜到,这是怎么做到的?

你好,我是陈东。 在前面的课程中,我们讲到,倒排索引是许多检索系统的核心实现方案。比如,搜索引擎对万亿级别网页的索引,就是使用倒排索引实现的。我们还讲到,对于超大规模的网页建立索引会非常耗时,工业界往往会使用分布式技术来并行处理。 对于发布较久的网页...

检索技术核心20讲

10、索引拆分:大规模检索系统如何使用分布式技术加速检索?

你好,我是陈东。 在互联网行业中,分布式系统是一个非常重要的技术方向。我们熟悉的搜索引擎、广告引擎和推荐引擎,这些大规模的检索系统都采用了分布式技术。 分布式技术有什么优点呢?分布式技术就是将大任务分解成多个子任务,使用多台服务器共同承担任务,让整体...

检索技术核心20讲

11、精准Top K检索:搜索结果是怎么进行打分排序的?

你好,我是陈东。 在搜索引擎的检索结果中,排在前面几页的检索结果往往质量更好,更符合我们的要求。一般来说,这些高质量检索结果的排名越靠前,这个搜索引擎的用户体验也就越好。可以说,检索结果的排序是否合理,往往决定了一个检索系统的质量。 所以,在搜索引擎...

检索技术核心20讲

12、非精准Top K检索:如何给检索结果的排序过程装上“加速器”?

你好,我是陈东。 上一讲,我们详细讲解了Top K检索的打分排序过程,并且还提到可以使用堆排序代替全排序,来大幅降低排序的时间代价。然而,对于这整个检索过程来说,精准复杂的打分开销要比排序大得多。因此,如果我们想更大幅度地提升检索性能,优化打分过程是...

检索技术核心20讲

13、空间检索(上):如何用Geohash实现“查找附近的人”功能?

你好,我是陈东。 现在,越来越多的互联网应用在提供基于地理位置的服务。这些基于地理位置服务,本质上都是检索附近的人或者物的服务。比如说,社交软件可以浏览附近的人,餐饮平台可以查找附近的餐厅,还有出行平台会显示附近的车等。那如果你的老板希望你能为公司的...

检索技术核心20讲

14、空间检索(下):“查找最近的加油站”和“查找附近的人”有何不同?

你好,我是陈东。 上一讲我们讲了,对于查询范围固定的应用需求,比如“查找附近的人”,我们可以根据规划好的查询区域大小,均匀划分所有的空间,然后用GeoHash将坐标转换为区域编码,以该区域编码作为Key开始检索。这样,我们就可以查到并取出该区域中的目...

检索技术核心20讲

15、最近邻检索(上):如何用局部敏感哈希快速过滤相似文章?

你好,我是陈东。 在搜索引擎和推荐引擎中,往往有很多文章的内容是非常相似的,它们可能只有一些修饰词不同。如果在搜索结果或者推荐结果中,我们将这些文章不加过滤就全部展现出来,那用户可能在第一页看到的都是几乎相同的内容。这样的话,用户的使用体验就会非常糟...

检索技术核心20讲

16、最近邻检索(下):如何用乘积量化实现“拍照识花”功能?

你好,我是陈东。 随着AI技术的快速发展,以图搜图、拍图识物已经是许多平台上的常见功能了。比如说,在搜索引擎中,我们可以直接上传图片进行反向搜索。在购物平台中,我们可以直接拍照进行商品搜索。包括在一些其他的应用中,我们还能拍照识别植物品种等等。这些功...

检索技术核心20讲

17、存储系统:从检索技术角度剖析LevelDB的架构设计思想

你好,我是陈东。 LevelDB是由Google开源的存储系统的代表,在工业界中被广泛地使用。它的性能非常突出,官方公布的LevelDB的随机读性能可以达到6万条记录/秒。那这是怎么做到的呢?这就和LevelDB的具体设计和实现有关了。 L...

检索技术核心20讲

18、搜索引擎:输入搜索词以后,搜索引擎是怎么工作的?

你好,我是陈东。今天我来讲讲搜索引擎的核心架构。 搜索引擎你应该非常熟悉,它是我们学习和工作中非常重要的一个工具。它的特点是能在万亿级别的网页中,快速寻找出我们需要的信息。可以说,以搜索引擎为代表的检索技术,是所有基于文本和关键词的检索系统都可以学习...

检索技术核心20讲