gar*_*ret 5 lucene solr hadoop cloudera carrot2
我输了:Hadoop,Hbase,Lucene,Carrot2,Cloudera,Tika,ZooKeeper,Solr,Katta,Cascading,POI ......
当你读到这个时,你可以确定每个工具都会被提及.
我不指望你向我解释每一个工具 - 当然不是.如果你可以帮我缩小这个特定场景的范围,那就太好了.到目前为止,我不确定上述哪一个适合,并且看起来(一如既往)有多种方法可以完成所要做的事情.
方案是:500GB - 存储在Hadoop中的大约20 TB的文档.多种格式的文本文档:电子邮件,doc,pdf,odt.有关存储在SQL db中的文档的元数据(发件人,收件人,日期,部门等).文档的主要来源是ExchangeServer(电子邮件和附件),但不仅如此.现在进行搜索:用户需要能够对这些文档进行复杂的全文搜索.基本上,他将会看到一些搜索配置面板(java桌面应用程序,而不是webapp) - 他将设置日期范围,文档类型,发件人/收件人,关键字等. - 触发搜索并获取文档的结果列表(以及每个文档信息为什么它包含在搜索结果中,即在文档中找到哪些关键字).
我应该考虑哪些工具,哪些不是?重点是开发这样的解决方案,只需要最少的"胶水" - 代码.我精通SQLdbs但对Apache和相关技术非常不舒服.
基本工作流程如下所示:ExchangeServer /其他来源 - >从doc/pdf/...转换 - >重复数据删除 - > Hadopp + SQL(元数据) - >构建/更新索引< - 搜索文档(并快速完成) ) - >显示搜索结果
谢谢!
附带说明一下,您不能说文档存储在 Hadoop 中,它们存储在分布式文件系统中(很可能是 HDFS,因为您提到了 Hadoop)。
关于搜索/索引:Lucene 是适合您的场景的工具。您可以将它用于索引和搜索。这是一个java库。还有一个关联项目(称为 Solr),它允许您通过 Web 服务访问索引/搜索系统。因此,您还应该看看 Solr,因为它允许处理不同类型的文档(Lucene 将解释文档(PDF、Word 等)的责任放在您的肩上,但您可能已经可以做到这一点)