我迷失在:Hadoop、Hbase、Lucene、Carrot2、Cloudera、Tika、ZooKeeper、Solr、Katta、Cascading、POI ......
当您阅读有关该工具的信息时,您通常可以确定将提及其他工具中的每一个。
我不希望你向我解释每一个工具——当然不会。如果您可以帮助我针对我的特定场景缩小此设置范围,那就太好了。到目前为止,我不确定以上哪一个适合,而且看起来(一如既往)有不止一种方法可以做要做的事情。
场景是:500GB - ~20 TB 的文档存储在 Hadoop 中。多种格式的文本文档:email、doc、pdf、odt。有关存储在 SQL db 中的文档的元数据(发件人、收件人、日期、部门等)。文档的主要来源将是 ExchangeServer(电子邮件和附件),但不仅如此。现在开始搜索:用户需要能够对这些文档进行复杂的全文搜索。基本上,他会看到一些搜索配置面板(java 桌面应用程序,而不是 web 应用程序) - 他将设置日期范围、文档类型、发件人/收件人、关键字等 - 触发搜索并获取文档的结果列表(以及每个文档信息为什么包含在搜索结果中,即在文档中找到了哪些关键字)。
我应该考虑哪些工具,哪些不应该考虑?关键是用最少的“胶水”代码开发这样的解决方案。我精通 SQLdbs,但对 Apache 和相关技术很不适应。
基本工作流程如下所示:ExchangeServer/其他来源 -> 从 doc/pdf/... 转换 -> 重复数据删除 -> Hadoop + SQL(元数据) -> 构建/更新索引 <- 搜索文档(并快速完成) -> 显示搜索结果
谢谢!