将 SolrInputDocument 发送到 ElasticSearch

艾夫纳·利维

作为升级工具的一部分,我拥有包含数十亿个 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用BulkRequest将ArrayList发送到ElasticSearch中?

将Kubernetes集群日志发送到AWS Elasticsearch

将日志从ECS Fargate发送到Elasticsearch的最佳方法

使用axios将请求发送到Elasticsearch

Laravel如何将请求发送到Elasticsearch节点?

将数组或对象从 php 发送到 Elasticsearch

使用filebeat,logstash和elasticsearch将json格式的日志发送到kibana?

如何使用 log4j2 将批量数据发送到 elasticsearch

Filebeat>是否可以通过不带Logstash的Filebeat将数据发送到Elasticsearch

无法使用curl将大文件发送到elasticsearch:参数太长

如何编写Lambda处理程序以将数据发送到Elasticsearch

如何使用logstash将队列的内容发送到elasticsearch索引

将 spring-boot 应用程序的 http 端点发送到 elasticsearch

Fluentd Sidecar无法将日志发送到Elasticsearch:类型删除已弃用在批量请求中指定类型

为什么在使用 spring-data-elasticsearch 时将 HEAD 请求发送到我的索引

如果logstash将数据发送到elasticsearch的速度快于其索引速度,那会发生什么?

如何使用Logstash和jdbc_streaming过滤器将数据从HTTP输入发送到ElasticSearch?

当我将元组发送到 ElasticSearch 时,为什么我的风暴拓扑没有确认

将动态数据发送到PHP

将数据从Arduino发送到应用

将密钥发送到终端

将数据发送到绑定服务

Android将JSON发送到Spring

将数据发送到特殊设备

将数据从模型发送到委托

将Actions变量发送到方法

将数据发送到父活动

将数据发送到TemplateRef MatDialog

从外壳将事件发送到CloudWatch