胚胎学习笔记之,模板的使用

  

es提供模板功能的出发点在哪里呢?作为NoSQL数据库,ES在数据入库前是不做模式设定的,也就是不限定数据字段。这对日志类型的数据来说,是个利好的场景。但是这种不设定模式的做法,有时有太过自由。有些业务场景,我们需要预先设定场的分词方式。这时固然可以使用映射解决。但是业务接入前要通知一下,先建个索引,想想有点不智能。有没有更灵活一点的做法呢?模板

  

模板的使用很简单,但是想用好,不出问题或者少出问题,得有一整套流程:

  
      <李>   

    创建模板   

     <代码>旋度-XPUT localhost: 9200/_template/template_1 - d '
      {
      “模板”:“te *”,
      "设置":{
      “number_of_shards”: 1、
      “number_of_replications”: 2
      },
      “映射”:{
      类型1:{
      “_source”:{"启用":假}
      }
      }
      }
      '  
      李   <李>   

    查看模板   

     <代码>旋度xget localhost: 9200/_template/template_1 ?很 
      李   <李>   

    如果模板创建出的错,删除模板

      
     <代码>旋度-XDELETE localhost: 9200/_template/template_1  
      李   <李>模板建好后,要测试一下是否符合预期,添加一条数据   
     <代码>美元curl -XPUT ' http://localhost: 9200/template_test/微博/1“- d”{
      “用户”:“kimchy”,
      “post_date”:“2009 - 11 - 15 t14:12:12”,
      “消息”:“尝试Elasticsearch”
      }” 
      <李>   

    查看集群的状态,如果分片副本设置错误,有可能集群变成黄色

      
     <代码> curl xget ' http://localhost: 9200/_cluster/健康?漂亮=true” 
      李   <李>查看索引结构及数据样例   
     <代码> curl xget ' http://localhost: 9200/微博/_settings _mappings ?漂亮的
      curl xget ' http://localhost: 9200/template_test/微博/1” 
      
  

经过后面这些验证,一般就能规避大多数问题了。

胚胎学习笔记之,模板的使用