有一个有趣的问题,我正在寻找合适的解决方案。我们有大约100,000份不同大小的PDF文档,平均大小为150页。它目前位于RAID6服务器上,也可以在异地备份。我们需要索引总共6.5TB的PDF。
我们目前正在将PDF转换为文本文件,并将它们存储在服务器上的类似文件夹结构中。然后需要将这些索引编入索引并进行搜索,包括返回原始文件夹的链接。文本文件使用与PDF相同的名称,并在其上添加了其他命名约定。如果我的估计是正确的,那么这将使其接近40亿个需要编入索引的单词。
索引这些文件的合适解决方案是什么?
答案 0 :(得分:1)
我会看看SOLR。我们目前正在考虑将其用作文档的全文搜索引擎。它被广泛使用并得到很好的支持。
答案 1 :(得分:1)
如果我的数学合适,那就是400K一页。这是一个很大的页面大小。
您需要使用索引?
如果你需要接近和短语,那么需要将它们全部索引,并像SOLR一样产品。通过TIKI,我认为你可以索引PDF。
另一种选择是使用SQL全文。但是你需要构建一个前端应用程序。 SOLR是和app和引擎的地方。
您需要索引每个单词还是仅对单词进行索引?如果只需要基本搜索,那么英语中只有大约200,000个独特单词。如果你使用像搬运工的阻塞器来阻止他们这个数字会下降。然后抛出像“the”这样的停止词。然后你需要和正确的名称电子邮件和不在字典中的其他单词。我手动索引文档,甚至一个非常大的集合最高为300,000(如果它是真正的单词 - ocr将杀死该数字)。如果文档有2,000个唯一单词,则交叉索引仅为20,0000,000。您可以使用REGEX解析单词。我知道它看起来很难看但我在SQL和.NET中手动执行此操作。没有接近或短语搜索,但它占地面积小,速度快。 (SQL Azure没有全文)
答案 2 :(得分:0)
查看Google Search Appliance。为什么重新发明轮子?
答案 3 :(得分:0)
如果没有令人信服的理由为此使用SQL数据库,我会考虑使用专门的搜索引擎。
大多数全文搜索软件都可以阅读PDF文件,而无需将其转换为文本文件。我过去成功使用过dtSearch。