我在HDFS中有一些数据。看起来像:
ID Details
1 AA#BB#CC
2 AB#BC#CD
详细信息文件使用#as delimiter来分隔不同的字段。我想按字段生成solr索引。例如,我需要Field1上的索引:AA,Field2:BB,Field:CC,ID1。
我在线搜索,有很多方法可以在mapreduce中执行文件索引。但我的要求是不同的。我需要不同领域的印刷品。那么有人知道怎么做吗?
答案 0 :(得分:1)
您可以使用solrj API实现此目的。
首先,为类的字段定义POJO。使用solrj提供的注释(@Field
)。
在mapreduce中,使用数据读取数据(值部分)并创建POJO的对象。您已经知道如何拆分数据并分配给POJO中的每个字段(成员)。
现在创建SolrClient
类型的实例,使用(getBinder()
)获取活页夹,使用{{1}上的SolrInputDocument
将POJO对象转换为toSolrInputDocument()
}}
现在创建一个binder
的对象,并将UpdateRequest
添加到其中。使用SolrInputDocument
对象处理请求。
希望这会有所帮助。