Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在node.js中的elasticsearch中创建空索引_Javascript_Node.js_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Javascript,Node.js,elasticsearch" /> elasticsearch,Javascript,Node.js,elasticsearch" />

Javascript 在node.js中的elasticsearch中创建空索引

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

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

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_模式没有定义它可以是任何东西,我无法预测模式。那么我该怎么做呢?你是说你的索引名可以是任意的,它不遵循任何命名约定?你能举例说明你会用什么名字吗?另外,您的集群中是否只有这种随机命名的索引,或者您是否也有一些具有固定名称的其他索引?