我如何将hadoop数据复制到SOLR



我有一个使用lucene索引作为后端的SOLR搜索。我也有一些数据在Hadoop我想使用。我如何将这些数据复制到SOLR中?

在谷歌上我能找到的唯一的链接告诉我如何在SOLR中使用HDFS索引而不是本地索引。我不想直接从hadoop中读取索引,我想将它们复制到SOLR中并从那里读取。

如何复制?如果有一些增量复制机制,那就太好了。

如果您有一个独立的Solr实例,那么您可能会面临一些缩放问题,这取决于数据量。

我假设你正在使用Hadoop/HDFS的高容量。在这种情况下,您可能需要查看SolrCloud。

至于从hdfs读取,这里有一个来自LucidImagination的教程,解决了这个问题,并建议使用Behemoth

你可能还想看看Katta项目,它声称与hadoop集成,并提供近实时的大数据集读取访问。架构如下图所示

编辑1

Solr对此有一个开放的票证。Solr 4.9计划支持HDFS。

您不能只是复制自定义数据到Solr,您需要索引*它。您的数据可以有任何类型和格式(自由文本、XML、JSON甚至二进制数据)。要在Solr中使用它,您需要创建文档(以键/值对作为字段的平面映射)并将它们添加到Solr中。看一下这个简单的基于卷边的例子。

注意,从HDFS读取数据是另一个问题。对于Solr,只要提供文档,从哪里读取数据并不重要。

将索引存储在本地磁盘或HDFS中也是一个不同的问题。如果您希望索引非常大,可以将Solr配置为使用HDFS。否则,您可以使用默认属性并使用本地磁盘。

* -"索引"是向Solr添加文档的常用术语,但实际上,将文档添加到Solr内部存储和索引(使字段可搜索)是两件截然不同的事情,可以单独配置。

最新更新