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

2023-11-20

我迷失在:Hadoop、Hbase、Lucene、Carrot2、Cloudera、Tika、ZooKeeper、Solr、Katta、Cascading、POI...

当您阅读有关该工具的信息时,您通常可以确定其他每一种工具都会被提及。

我并不指望你向我解释每一个工具——当然不是。如果你能帮助我针对我的特定场景缩小这个范围,那就太好了。到目前为止,我不确定以上哪一个适合,而且看起来(一如既往)有不止一种方法可以完成要做的事情。

该场景是:Hadoop 中存储了 500GB - ~20 TB 的文档。多种格式的文本文档:电子邮​​件、doc、pdf、odt。有关存储在 SQL 数据库中的文档的元数据(发件人、收件人、日期、部门等)。文档的主要来源将是 ExchangeServer(电子邮件和附件),但不仅如此。现在进行搜索:用户需要能够对这些文档进行复杂的全文搜索。基本上,他会看到一些搜索配置面板(java 桌面应用程序,而不是 web 应用程序) - 他将设置日期范围、文档类型、发件人/收件人、关键字等 - 启动搜索并获取文档的结果列表(以及对于每个文档的信息,为什么它包含在搜索结果中,即在文档中找到了哪些关键字)。

我应该考虑哪些工具,哪些不应该考虑?重点是仅使用最少的所需“粘合”代码来开发这样的解决方案。我精通 SQLdb,但对 Apache 及相关技术感到非常不舒服。

基本工作流程如下所示:ExchangeServer/其他源 -> 从 doc/pdf/... 转换 -> 重复数据删除 -> Hadopp + SQL(元数据) -> 构建/更新索引 显示搜索结果

谢谢你!


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

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

1)使用hadoop集群存储数据。

2)使用mapreduce提取hadoop集群中的数据

3)进行文件识别(识别文件类型)

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

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

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

7) 当需要搜索时,对所有索引进行搜索。

8)Solr支持所有复杂的搜索,因此您不必制作自己的搜索引擎。

9) 它还为您进行寻呼。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

搜索存储在 Hadoop 中的文档 - 使用哪个工具? 的相关文章

随机推荐