2017-07-24 27 views
0

作爲升級工具的一部分,我擁有數十億個SolrInputDocument文檔的文件,我希望它們能夠在ElasticSearch上以最快速度進行索引。
我目前的計劃是將它們翻譯成JSON並使用彈性批量更新來上傳它們。然而,我沒有找到一個簡單的方法來轉換它們。
有關此類轉換的代碼/方法/工具的任何信息,請致電&上傳。發送SolrInputDocument到ElasticSearch

可能的解決方案,它爲我工作(簡單的情況下,不包括子文件):

Map<String, Object> solrDocToMap(SolrInputDocument sid) { 
    Map<String, Object> json = new HashMap<String, Object>(); 
    for (SolrInputField field : sid) { 
     json.put(field.getName(), field.getValue()); 
    } 
    return json; 
} 

可以做相同的:XContentFactory.jsonBuilder()從彈性客戶。

回答

0

我構建了一個工具,允許你這樣做,基本上是一個將Solr文檔發送到ES的Solr UpdateRequestProcessor。您可以檢查代碼here

您可以查看代碼如何將Solr文檔轉換爲ES,並從此開始。

相關問題