如何在搜索引擎中使用特里(不用于自动完成)?

问题描述 投票:0回答:1

我遇到过:

[由搜索引擎存储的核心信息是字典,称为反向字典索引或反向文件,存储键-值对(w,L),其中w是一个单词,L是包含单词w的页面的集合。该词典中的键(词)是称为索引词,应该是一组词汇条目和专有名词,例如尽可能大。该词典中的元素称为出现列表,应该覆盖尽可能多的网页。

我们可以通过包含以下内容的数据结构有效地实现反向索引以下内容:

  1. 一个存储术语出现列表的数组(无特定顺序)。>
  2. 一组索引项的压缩特里,其中每个叶子都存储索引相关术语的出现列表。将事件列表存储在特里之外的原因是为了保持事件列表的大小。数据结构足够小以适合内部存储器。相反,由于它们的总大小很大,因此必须将出现列表存储在磁盘上。

而且我听不懂。如果使用字典存储事件列表,则trie的目的是什么?如果我仍然要在字典中搜索单词,为什么还要打扰呢?

编辑:

引用来自Michael T. Goodrich,Roberto Tamassia,Michael H. Goldwasser的Python中的数据结构和算法

我碰到过这一点:搜索引擎存储的核心信息是字典,称为反向索引或反向文件,存储了键值对(w,L),其中w是一个单词,L是a。 ..

python tree search-engine trie inverted-index
1个回答
0
投票

将每个单词w放入Trie数据结构中会减少存储单词所需的内存,并加快了对特定单词的搜索速度。在“字典”中每个单词的末尾,您将找到一个指向包含所搜索单词的文档的指针列表。

© www.soinside.com 2019 - 2024. All rights reserved.