【问题标题】:File format need for inverted indexing文件格式需要倒排索引
【发布时间】:2012-04-10 10:41:57
【问题描述】:

我一直在研究倒排索引,它索引文档集合,将每个术语与信息一起存储,并将其引用存储在发布文件中(文档 ID、位置等)。

目前我将其存储为 .txt 文件格式,需要为与该 .txt 文件相关的每个查询进行字符串匹配,这需要更多时间,也更复杂。

现在我想将该信息存储在像链表样式数据结构这样的文件中。对于这种情况,这可能吗....(而且我正在使用 PHP 语言进行索引)。

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

【问题讨论】:

    标签: file indexing format inverted-index


    【解决方案1】:

    倒排索引的目的是允许对任何给定术语的出现列表(发布列表)进行极快的访问。如果您想使用简单、现成的数据结构来实现它,那么您能做的最好的可能就是

    • 使用哈希存储从术语到发布列表的映射
    • 将每个发布列表存储为有序整数的连续块(​​即类似于 Java 中的 ArrayList 或 C++ 中的 std::vector)。不要使用链表,因为这会浪费大量空间用于指针

    一个更合适(和更复杂)的实现会考虑到:

    • 发帖列表可能会非常很大,因此您必须将其分成多个块,每个块都存储为一个连续的块
    • 发帖列表可以而且应该被压缩

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

    【讨论】:

    • 实际上,目前我的数据存储在 .txt 文件中,当我检索数据时需要文本匹配。所以基本上我想知道如何减少匹配处理并直接获取术语或发布列表信息......谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多