在node.js中的Elasticsearch中创建一个空索引

我正在使用官方elasticsearch npm。在我的节点应用程序中,我正在使用该客户端创建索引,如下所示

client.create({

index: orgID, ---------->This is dynamic

type: "places",

body:{}

}, function(error, response){

if(error){

} else {

}

})

我需要为上述索引放入映射,因此,我必须先创建一个空索引(无数据索引),然后必须执行放置映射,然后将数据放入索引。

因此,我必须创建一个空索引,但是在正式的Elasticsearch客户端中,上述方法(create)是用“ POST”方法编写的,因此它需要一个主体。

为此,我必须如上所述给一个空的身体{}。因此,如何使用官方javascript客户端创建空索引。请分享您的想法。

回答:

解决此问题的另一种方法是使用索引模板。索引模板的想法是让ES在需要时自动创建丢失的索引,即在索引其索引名与某种模式匹配的文档并为其预定义映射(+最终别名)时为该新索引建立索引。

例如,您可以创建如下的索引模板:

curl -XPUT localhost:9200/_template/template_1 -d '{

"template" : "your_dynamic_index_name_pattern",

"settings" : {

"number_of_shards" : 1

},

"mappings" : {

"places" : {

// mapping definition of your places type

}

}

}'

完成此操作后,只要您为client.create()索引名称与模式匹配的新文档建立索引(例如,使用上面的示例),ES就会在创建文档索引之前自动创建索引并放置映射。

以上是 在node.js中的Elasticsearch中创建一个空索引 的全部内容, 来源链接: utcz.com/qa/417399.html

回到顶部