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

Python 如何在搜索引擎中使用trie(不用于自动完成)?,python,tree,search-engine,trie,inverted-index,Python,Tree,Search Engine,Trie,Inverted Index,我遇到过这样的情况: 搜索引擎存储的核心信息是一本字典,称为倒排字典 索引或倒排文件,存储键值对(w,L),其中w为单词,L为 包含单词w的页面集合。这本词典中的关键词是 称为索引项,应该是一组词汇条目和专有名词,如 尽量大。此字典中的元素称为事件列表和 应该覆盖尽可能多的网页 我们可以有效地实现具有以下数据结构的倒排索引: 其中: 存储术语出现列表的数组(无特定顺序) 索引项集的压缩trie,其中每个叶存储索引 关联术语的出现列表。 将事件列表存储在trie之外的原因是为了保持事件列表的大小

我遇到过这样的情况:

搜索引擎存储的核心信息是一本字典,称为倒排字典 索引或倒排文件,存储键值对(w,L),其中w为单词,L为 包含单词w的页面集合。这本词典中的关键词是 称为索引项,应该是一组词汇条目和专有名词,如 尽量大。此字典中的元素称为事件列表和 应该覆盖尽可能多的网页

我们可以有效地实现具有以下数据结构的倒排索引: 其中:

  • 存储术语出现列表的数组(无特定顺序)
  • 索引项集的压缩trie,其中每个叶存储索引 关联术语的出现列表。 将事件列表存储在trie之外的原因是为了保持事件列表的大小 trie数据结构足够小,可以装入内存。相反,因为 它们的总大小很大,事件列表必须存储在磁盘上
  • 我不明白。如果使用字典存储事件列表,trie的用途是什么?如果我无论如何都要在字典里搜索这个词,为什么还要麻烦用trie呢


    编辑:引用自Michael T.Goodrich、Roberto Tamassia、Michael H.Goldwasser的Python数据结构和算法

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