这是我的示例Json数据,来自.json文件,现在我想对elasticsearch执行bulk_insert,这样我就可以在上面执行操作了,..can有人帮我用java代码动态添加这个数据..this只是一个像这样的5-6个对象的一部分,我有超过500个对象
[{
"data1" : "developer",
"data2" : "categorypos",
"data3" : "1001"
},
{
"data1" : "developer",
"data1" : "developerpos",
"data1" : "1002"
},
{
"data1" : "developer",
"data2" : "developpos",
"data3" : "1003"
},
{
"data1" : "support",
"data2" : "datapos",
"data3" : "1004"
}
]发布于 2021-04-26 18:07:49
elastic search中提供了批量操作,以下是可能对https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html有帮助的文档
发布于 2021-04-26 18:33:33
您需要从应用程序中读取文件,迭代数组,并针对每个文档将其发送到elasticsearch。
要执行最新操作,您应该使用批量处理器类。
BulkProcessor bulkProcessor = BulkProcessor.builder(
(request, bulkListener) -> esClient.bulkAsync(request, RequestOptions.DEFAULT, bulkListener),
new BulkProcessor.Listener() {
@Override
public void beforeBulk(long executionId, BulkRequest request) { }
@Override
public void afterBulk(long executionId, BulkRequest request, BulkResponse response) { }
@Override
public void afterBulk(long executionId, BulkRequest request, Throwable failure) { }
})
.setBulkActions(10000)
.setFlushInterval(TimeValue.timeValueSeconds(5))
.build();对于每个json文档,调用:
bulkProcessor.add(new IndexRequest("INDEXNAME").source(json, XContentType.JSON));https://stackoverflow.com/questions/67264538
复制相似问题