Javascript 在node.js中的elasticsearch中创建空索引
我使用的是官方elasticsearch npm。在我的节点应用程序中,我使用该客户端创建索引,如下所示Javascript 在node.js中的elasticsearch中创建空索引,javascript,node.js,elasticsearch,Javascript,Node.js,elasticsearch,我使用的是官方elasticsearch npm。在我的节点应用程序中,我使用该客户端创建索引,如下所示 client.create({ index: orgID, ---------->This is dynamic type: "places", body:{} }, function(error, response){ if(error){ } else
client.create({
index: orgID, ---------->This is dynamic
type: "places",
body:{}
}, function(error, response){
if(error){
} else {
}
})
我需要为上面的索引放置映射,因此我必须首先创建一个空索引(没有数据的索引),然后我必须执行放置映射,然后我必须将数据放入索引中
因此,我必须创建一个空索引,但在Official 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
}
}
}'
完成此操作后,您可以随时为索引名称与模式匹配的新文档编制索引(例如,使用上面的
客户端.create()
示例),ES将在为文档编制索引之前自动创建索引并放置映射。谢谢。但是your_dynamic_index_name_模式没有定义它可以是任何东西,我无法预测模式。那么我该怎么做呢?你是说你的索引名可以是任意的,它不遵循任何命名约定?你能举例说明你会用什么名字吗?另外,您的集群中是否只有这种随机命名的索引,或者您是否也有一些具有固定名称的其他索引?