大型关系数据集的正确存储



我需要存储一大批在我看来(尽管我习惯使用SQL)是关系数据的数据。基本上可以考虑存储ClueWeb的一个大子集(4tb)。有文档、句子和摘录——以及它们各自的属性。一个主要的用例是对提取的内容进行全文搜索。

使用Lucene可以轻松有效地实现对提取的全文搜索。然而,语义提取是句子的一部分,句子是文档的一部分。句子和文档也有自己的属性,但是当我在Lucene中存储我的提取时,句子和文档需要成为提取的属性。

是否有一个好的数据库引擎,允许全文搜索提取,但也是一个关系结构,所以我可以很容易地存储句子和文档的属性?或者有一种方法来存储这些数据在Lucene,我不明白?

在Lucene中可以很容易地将关系索引为字段值。您不能使用连接执行查询。但是,如果您只是想向上/向下钻取或获取句子或文档中所有提取的列表,如果您为正确的键建立索引,则可以轻松地做到这一点。你会遇到麻烦的地方是这样的查询:"所有文档的标题有'foobar'这个词,其中一个句子有' blech '这个词。"如果在两个地方对数据进行反规范化(即复制数据),甚至可以克服这个问题。但是对于4tb的索引,您可能不希望这样做。

最新更新