solr – 搜索存储在Hadoop中的文档 – 使用哪个工具?

我输了: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(元数据) – >构建/更新索引< - 搜索文档(并快速完成) - >目前的搜索结果

谢谢!

选择solr是一个不错的选择.我已经将它用于上面描述的类似场景.您可以将solr用作真正的大数据作为其分布式索引服务器.

但是要获取有关所有这些文档格式的元数据,您应该使用其他一些工具.基本上你的工作流程就是这样.

1)使用hadoop集群来存储数据.

2)使用map / redcue在hadoop集群中提取数据

3)做文件识别(识别文件类型)

4)从这些文档中提取元数据.

5)solr服务器中的索引元数据,将其他摄取信息存储在数据库中

6)Solr服务器是分布式索引服务器,因此对于每次摄取,您可以创建新的分片或索引.

7)当需要搜索时搜索所有索引.

8)Solr支持所有复杂的搜索,因此您不必自己创建搜索引擎.

9)它也为你做分页.

相关文章
相关标签/搜索