2012-04-10 20 views
0

我一直在努力倒排索引,索引文档集合,存储每个词的信息,并在发布文件(文档ID,位置等)中存储其引用。需要倒排索引的文件格式

目前我以.txt文件格式存储它,它需要为每个与每个有关.txt文件的查询进行字符串匹配,这需要花费更多的时间,而且也更加复杂。

现在我想将这些信息存储在链接列表样式数据结构的文件中。所以这是可能的这种类型的情况....(也是我使用PHP语言进行索引)。

任何帮助将不胜感激,谢谢。

回答

1

倒排索引的要点在于可以非常快速地访问任何给定词语的出现列表(发布列表)。如果你想使用简单,随时可用的数据结构,它来实现,那么你可能可以做的最好的是

  • 使用散列从条款张贴存储映射列出
  • 存储每个帖子列表作为连续的排序整数块(即Java中的ArrayList或C++中的std::vector)。不要使用链接列表,因为涉及浪费了指针

更合适的(和更复杂)的实施将考虑到空间数额巨大:

  • 那个贴子列表可以得到非常大,所以你必须把它分解成多个数据块,每个存储为一个连续的块
  • 那个贴子列表可以而且应该被压缩

这些技术的详细描述可在经典书籍Managing Gigabytes中找到。

+0

实际上,目前我的数据存储在.txt文件中,当我检索到数据时需要进行文本匹配。所以基本上我想知道如何减少匹配处理,并直接获得一个术语或发布列表信息....谢谢。 – 2012-04-12 11:19:32