作为升级工具的一部分,我拥有包含数十亿个 SolrInputDocument 文档的文件,我想在 ElasticSearch 上以最大速度索引这些文档。
我目前的计划是将它们转换为 JSON 并使用弹性批量更新来上传它们。但是我没有找到一种简单的方法来转换它们。
任何有关此类转换和上传的代码/方法/工具的信息将不胜感激。
对我有用的可能解决方案(对于不包括子文件的简单情况):
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()。
我构建了一个允许您这样做的工具,基本上是一个将 Solr 文档发送到 ES 的 Solr UpdateRequestProcessor。您可以在此处查看代码。
您可以查看代码如何将 Solr 文档转换为 ES,然后开始。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句