查字典图书网
当前位置: 查字典 > 图书网 > 编程 > 自制搜索引擎 > 试读

自制搜索引擎[试读]

1-1 理解搜索引擎的构成

在体验搜索引擎的开发过程之前,我们先在第1 章介绍一下搜索引擎的基本概念。搜索引擎的基础是应用于信息检索、数据库等领域的信息技术,要想开发搜索引擎,横跨多个领域的广泛知识是不可或缺的。在本章我们尽可能通俗易懂、简明扼要地总结归纳了这些知识。由于本章讲解的是后续章节的背景知识,所以恳请诸位认真地读下去... 查看全部[ 1-1 理解搜索引擎的构成 ]

1-2  实现了快速全文搜索的索引结构

本节讲解的是用于快速进行全文搜索的索引结构。在讲解广泛应用于全文搜索的、名为倒排索引的索引结构之前,让我们先来梳理一下全文搜索的方法。 全文搜索的两种方法 全文搜索大致上可以分为两种方法,一种是利用全扫描进行全文搜索,一种是利用索引进行全文搜索。 利用全扫描进行全文搜索 第一... 查看全部[ 1-2  实现了快速全文搜索的索引结构 ]

1-3 深入理解倒排索引

至此为止,我们就讲解完了倒排索引的概要。下面,就让我们再来略微详细地了解一下倒排索引吧。 倒排索引= 词典+ 倒排文件 倒排索引是由单词的集合“词典”和倒排列表的集合“倒排文件”构成的。词典和倒排文件以及作为这二者构成要素的单词和倒排列表的关系如图1-2 所示。 图 1-2 倒排索... 查看全部[ 1-3 深入理解倒排索引 ]

1-4 制作中文文档的倒排索引

至此为止,我们就讲解完了针对英文文档的倒排索引。在英文的句子中,由于单词之间留有空白,所以通过用空白划分句子就可以提取出句中的单词。但是在中文的句子中,由于各单词是词间不留空白连续书写的,所以就需要使用不同于英文的方法,才能将句子分割成单词或字符的序列。在本节我们详细地看一下分割中文句子的方法。 ... 查看全部[ 1-4 制作中文文档的倒排索引 ]

1-5 实现倒排索引

至此为止,我们已经逐渐了解了倒排索引的逻辑结构。下面,就让我们再来了解一下倒排索引的具体实现吧。 实现词典 在实现词典时,为了能够快速地获取到对应着单词的倒排列表,通常都会使用哈希表、树等数据结构。例如,常用的树形数据结构有保存着各个单词顺序关系的二叉查找树(Binary Search ... 查看全部[ 1-5 实现倒排索引 ]

1-6 使用倒排索引进行检索

前面我们已经了解了由索引管理器管理的倒排索引的结构以及具体的实现方法。下面,就让我们再来了解一下在索引检索器上使用倒排索引进行检索的方法吧。 布尔检索 在1-2 节,我们提到了如何从倒排索引中查找出同时包含多个单词的文档,即先获取与各单词相对应的倒排列表,然后用AND 运算符计算出其中包... 查看全部[ 1-6 使用倒排索引进行检索 ]

1-7 构建倒排索引

前面我们已经了解了由索引管理器管理的倒排索引的结构以及在索引检索器上进行检索处理的流程。下面,就让我们再来看一下如何在索引构建器上构建倒排索引吧。 使用内存构建倒排索引 生成了与文档编号对应的单词表后对该表进行倒排,在1-2 节我们通过这种方法生成了倒排索引。若让计算机来处理的话也是如此... 查看全部[ 1-7 构建倒排索引 ]

1-8 准备要检索的文档

前面我们以“想要进行检索的数据已经在手边了”为前提,讲解了搜索引擎的结构及其构成要素。但是,在实际中这些数据来自哪里呢?在本章的最后,让我们再来大略地了解一下如何收集、整理作为检索对象的数据吧。 收集数据 搜索引擎中作为检索对象的数据来自哪里呢? 一种情况是要检索的数据已经存在了。... 查看全部[ 1-8 准备要检索的文档 ]