我在16GB的文件系统空间中只有200万个XML文档。它们都有效并共享一个DTD。它们的大小大致相同(均由同一实验室信息系统生成)。
我正在寻找单个用户查询整个2M doc语料库的简便方法。我不打算将其暴露给网络甚至是多个局域网用户;但是,我希望能够向我的Intranet公开一些查询接口。我对查询语言很灵活,但我希望能够进行即席查询。我希望它至少具有同等性能,并且我愿意根据需要专门提供额外的磁盘空间来容纳索引。
一个可行的解决方案必须在具有8GB RAM的单个四核Linux盒子上令人遗憾,新硬件不是一个选项。
我找到了e-Xist数据库,但它似乎没有那么多的活动方式,并且演示网站已关闭。
答案 0 :(得分:3)
我会按此顺序尝试:
我的预感是Berkeley将是最快的,但BaseX和Sedna都是网络可访问的,而BaseX将是最容易开始使用和查询的。 Sedna还具有模式感知存储系统,可能对您描述的情况有益。如果您有商业用途,伯克利的睡眠许可证可能会给您带来负担 - 请仔细查看。
答案 1 :(得分:1)
我的偏好是使用全文搜索引擎创建倒排索引。以下是我的偏好。我建议你花时间研究这3个。
为什么要使用全文搜索引擎?
答案 2 :(得分:1)
您肯定需要XML数据库。我想说新兴的领导者是MarkLogic的商业产品,eXist是开源的。其他人可能有其他观点。掌握新的数据库产品始终是一个陡峭的学习曲线(数据库越有能力,学习的越多)。但是eXist当然可以破解它,不要放弃第一道障碍。
答案 3 :(得分:1)
我同意Michale Kay的观点。如果需要商业,请使用eXist-db(如果需要开源和MarkLogic)。我为美国国会NDIIPP计划图书馆做了一个项目,经过广泛的ATAM分析后,由于其活跃的用户群和广泛使用,我们选择eXist优于其他系统。如果您有疑问,只需在MarkMail上进行搜索。我想你会发现eXist的讨论比任何其他系统都要积极。
这里有大约350页的报告:
http://www.mnhs.org/preserve/records/legislativerecords/pilot.htm