我可以使用 MapReduce 框架创建索引并以某种方式将其添加到分布式 Solr 中吗?
我有大量信息(日志文件和文档),这些信息将通过互联网传输并存储在我的数据中心(或亚马逊)中。它需要被我们复制的 Solr 安装解析、索引和最终搜索。
这是我提出的架构:
- 使用 MapReduce 框架(Cloudera、Hadoop、Nutch,甚至DryadLinq)来准备这些文档以进行索引
- 将这些文档索引为 Lucene.NET / Lucene (java) 兼容的文件格式
- 将该文件部署到我的所有 Solr 实例
- 激活该复制索引
如果以上是可能的,我需要选择一个 MapReduce 框架。由于 Cloudera 是供应商支持的,并且有大量未包含在 Hadoop 安装中的补丁,我认为它可能值得一看。
一旦我选择了 MatpReduce 框架,我需要对文档(PDF、DOCx、DOC、OLE 等)进行标记,对它们进行索引,将索引复制到我的 Solr 实例中,并以某种方式“激活”它们以便它们可以在正在运行的实例。我相信这种方法比通过 REST 接口向 Solr 提交文档更好。
我将 .NET 引入图片的原因是因为我们主要是一家 .NET 商店。我们将拥有的唯一 Unix/Java 是 Solr,并且有一个通过 Solrnet 利用 REST 接口的前端。
根据您的经验,这种架构看起来如何?你看到任何问题/问题吗?你能给出什么建议?
我不应该怎么做才能失去分面搜索?在阅读了 Nutch 文档后,我相信它说它不做 faceting,但我可能没有足够的软件背景来理解它在说什么。