【发布时间】:2015-08-07 15:16:26
【问题描述】:
我必须将 JSON 数组索引到弹性搜索索引中。我正在使用 javascript 客户端来索引数据。
我循环了数组,索引如下:
for (var i = 0; i < rawData.length; i++ ) {
client.create({
index: "name",
type: "rrrrr",
body: rawData[i]
}, function(error, response){
});
}
我需要避免循环。所以我决定选择“BULK API”
我提到了https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html,因为我们必须为每个文档指定如下标题:
{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } }
但在 JSON 数组中,我所拥有的将不包含此标头。所以无论如何我也必须在这里循环。没有循环我怎么能做到这一点。请分享你的想法。
【问题讨论】:
-
您能否详细说明为什么需要避免循环?您的意思是避免进行潜在的数百个
create调用,还是只是避免循环遍历所有rawData元素? -
@Val 感谢您宝贵的时间。试图在我的程序中避免尽可能多的循环,以便代码有效..
-
您能在问题中说明您是如何创建
rawData数组的吗? -
@Val 它只是一个 mongoDB 集合数组。
标签: javascript json elasticsearch