如何以编程方式将数据(批量写入)转储到弹性搜索

时间:2015-08-04 03:15:51

标签: java amazon-web-services elasticsearch

我正在努力学习弹性搜索的绳索。作为QA测试的一部分,我想向ES写入大量的记录(比如10K记录)。每条记录都是地理位置(x,y)坐标。每次写入都会随意增加(x,y)的值。我可以有一个计数器,我可以在Java中的每个循环操作中更新并写入ES。但我猜测可能有更好的方法(因为在ES文档中,我遇到了_bulk关键字)。 是否有任何ES方式对ES进行大规模编程写入

1 个答案:

答案 0 :(得分:0)

您可以使用Elasticsearch中的批量API一次添加多个文档。 API和示例在Elasticsearch:The Definitive指南中有所描述,可在此处找到https://www.elastic.co/guide/en/elasticsearch/guide/current/bulk.html

我猜你想要建立一个像这样的字符串:

{ "index": { "_index": "locationstorage", "_type": "geolocation" }} \n 
{ "xcoord":    1, "ycoord": 2 } \n 
{ "index": { "_index": "locationstorage", "_type": "geolocation" }} \n 
{ "xcoord":    2, "ycoord": 3 } \n 

并将其发布到/ _bulk API