在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