NoSQL用于搜索数百万个页面?

时间:2014-07-27 21:18:49

标签: sql storage large-data bigdata nosql

我已经为我公司决定删除的旧文件提供了大约4-5百万张图片。我们试图无纸化,但我面临一个我无法完全理解的问题。 我总是使用SQL来获取这些数据,但现在我只有图像。我已经购买了ABBYY Fine Reader OCR,它目前正致力于将所有文件OCR到Word或PDF。我的问题是,他们希望在不到7到10秒的时间内搜索大量数据,并通过下载链接获取所有结果到文件的原始图像。

我读到NoSQL,但在我看来它并不是最好的方法,因为我必须创建一个没有任何架构的表,只需用相应的页码添加每个图像的整个文本和原始文件的链接。根据我的知识,这将需要很长时间。 我可以使用哪些其他解决方案?

1 个答案:

答案 0 :(得分:1)

为了支持在一组文档上进行搜索,构建反向索引通常是最佳解决方案。在这里,我假设您希望支持full text fast search操作,例如Google,Bing等提供的操作...但是您的数据。

构建反向索引通常涉及将文档拆分为单词,并将它们单独添加到反向索引中。每个索引条目都包含一个单词作为键,文档名称(或文档的其他标识符),以及文档中单词的位置作为值。

您可以手动执行此操作,但解析文档,提取单词,消除非重要单词以及索引它们并非易事。使用专用产品更容易。

大多数RDBMS都支持提供全文索引功能的扩展。例如:

通常,这些RDBMS扩展的效率低于专用引擎。我会推荐以下产品之一:

我认为这些产品中的任何一种都可以索引数百万份文件。