输入关键字 抓取所有网页(建立索引大大提高索引文件(图)延长效率(组图))

优采云 发布时间: 2022-01-27 00:14

  输入关键字 抓取所有网页(建立索引大大提高索引文件(图)延长效率(组图))

  指数

  两个词都收录一个词,索引

  索引是一种用于加速数据库查询的数据结构。它由存储在计算机磁盘上的一系列索引项组成。

  通过一些标识符快速查找数据

  其实索引也是一张表,表中保存了主键和索引字段,并指向实体表的记录。

  以上都是关于使用索引的好处,但是过度使用索引会导致滥用。所以,索引也会有它的缺点:虽然索引大大提高了查询速度,但是会降低更新表的速度,比如对表的INSERT、UPDATE和DELETE。因为在更新表的时候,MySQL不仅保存了数据,还保存了索引文件。

  索引占用磁盘空间的索引文件。

  远期指数概念

  正排序表以文档的ID为key,在表中记录了文档中每个关键词的位置信息。搜索时,扫描表格中每个文档中的单词信息,直到找到所有收录查询关键字的文档。

  特征

  这种组织方式在创建索引时结构比较简单,构建起来比较方便,也容易维护;

  因为索引是基于文档建立的,所以如果新增一个文档,直接为文档创建一个新的索引块,附在原索引文件的后面。

  如果有要删除的文档,直接找到带有文档编号的文档对应的索引信息,直接删除即可。

  但是在查询的时候,需要对所有文档进行扫描,保证没有遗漏,大大延长了检索时间,降低了检索效率。

  商店演示

  项目 1 -> [(关键词1, 3 次, 位置 1,3, 5), (关键词2, 2 次, 位置 2, 6) , (关键词4, 1 次出现, 位置 10), ...]

  item 2 -> [(关键词1,出现1次,位置为1),(关键词3,出现4次,位置为2,4,7,9),……]

  item 3 -> [(关键词2,出现2次,位置为1,4),(关键词4,出现3次,位置为2,7,10)@ >, …]

  项目 4 -> [(关键词5, 1 次出现, 位置 1), (关键词6, 1 次出现, 2), ...]

  

  倒排索引概念

  倒排表以词或词为关键词进行索引,表中关键词对应的记录条目记录了该词或词出现的所有文档。

  条目是记录文档的 ID 和字符在文档中出现的位置的字段。

  特征

  每个词或词对应的文档数量是动态变化的,因此倒排表的建立和维护比较复杂。

  但是在查询的时候,可以一次性得到所有查询关键字对应的文档,所以效率比肯定列表要高。

  在全文检索中,检索的快速响应是最关键的性能,而且由于索引是在后台进行的,虽然效率比较低,但不会影响整个搜索引擎的效率。

  商店演示

  关键词1 -> [项目1,项目2]

  关键词2 -> [第 1 项,第 3 项]

  关键词3 -> [项目 2]

  关键词4 -> [项目1,项目3]

  关键词5 -> [项目 4]

  关键词6 -> [项目 4]

  

  总结正指数

  通常,键用于查找值。例如:当用户在首页搜索关键词“SEO”时,假设只有一个前向索引(forward index),那么需要扫描索引库中的所有文档,找到所有文档收录 关键词"SEO" 文档。

  倒排索引

  从单词的关键字中,找到文档。例如:在**搜索引擎**中,每个文件对应一个文件ID,文件内容表示为一系列关键词的集合(实际上在搜索引擎索引库中,关键词 也已转换为 关键词ID)。例如,“文档1”已经被分割,提取了20个关键词,每个关键词都会记录它在文档中出现的次数和位置。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线