在MapReduce中使用自定义映射器生成Solr Indice

时间:2015-11-06 18:28:59

标签: solr mapreduce

我在HDFS中有一些数据。看起来像:

ID Details
1 AA#BB#CC
2 AB#BC#CD

详细信息文件使用#as delimiter来分隔不同的字段。我想按字段生成solr索引。例如,我需要Field1上的索引:AA,Field2:BB,Field:CC,ID1。

我在线搜索,有很多方法可以在mapreduce中执行文件索引。但我的要求是不同的。我需要不同领域的印刷品。那么有人知道怎么做吗?

1 个答案:

答案 0 :(得分:1)

您可以使用solrj API实现此目的。

首先,为类的字段定义POJO。使用solrj提供的注释(@Field)。

在mapreduce中,使用数据读取数据(值部分)并创建POJO的对象。您已经知道如何拆分数据并分配给POJO中的每个字段(成员)。

现在创建SolrClient类型的实例,使用(getBinder())获取活页夹,使用{{1}上的SolrInputDocument将POJO对象转换为toSolrInputDocument() }}

现在创建一个binder的对象,并将UpdateRequest添加到其中。使用SolrInputDocument对象处理请求。

希望这会有所帮助。