如何将hadoop数据复制到SOLR

时间:2014-05-06 05:22:55

标签: hadoop solr lucene hdfs

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

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

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

2 个答案:

答案 0 :(得分:1)

如果你有一个独立的Solr实例,那么你可能会遇到一些扩展问题,具体取决于数据量。

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

至于从hdfs阅读,here是LucidImagination的一个教程,它解决了这个问题,并建议使用Behemoth

您可能还想查看Katta项目,该项目声称与hadoop集成并提供大型数据集的近实时读取访问权限。该体系结构如here

所示

编辑1

Solr有一个open ticket。 Solr 4.9计划支持HDFS。如果您愿意,可以应用补丁。

答案 1 :(得分:0)

您不能只将复制自定义数据复制到Solr,您需要索引 *它。您的数据可能具有任何类型和格式(自由文本,XML,JSON甚至二进制数据)。要将其与Solr一起使用,您需要创建文档(带有键/值对的平面地图作为字段)并将它们添加到Solr。看看这个简单的基于卷曲的example

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

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

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