(一)elasticsearch 5x 索引创建,修改及模板使用

来源:互联网 发布:网络文化市场 编辑:程序博客网 时间:2024/06/02 05:03

常用的索引创建的三种方式:

  1. 直接创建索引
  2. 动态创建索引
  3. 使用模板创建索引

1.直接创建索引

插入数据前先指定index及type,5x版本要指定分片数量,例子如下:

建立一个名为my_index的索引,索引类型为my_type.禁用all字段,然后在把需要的字段放到_all中.

curl -XPUT ip:9200/my_index -d '{  "settings":{            "index": {                  "refresh_interval" : "-1",  //减少shard刷新间隔,用于大规模bulk插入,且对实时查询不要求时使用,完成bulk插入后再修改为1s                 "number_of_shards": "20",  //初始化20个主分片,分片数量确定后不可修改,非常重要                 "translog.flush_threshold_size": "1024mb" //默认是200mb,增大这个参数可以允许translog在flush前存放更大的段(segment);更大的段的创建会减少flush的频率,并且更大的段合并越少,会减少磁盘IO,索引性能更高。                 "number_of_replicas": "1", //设置1个备份,bulk导入大量的数据,可以考虑不要副本,设置为0                 "max_result_window": 999999                }        },      "mappings" :{          "my_type" : {             "include_in_all": false, //禁用_all,可以在具体字段打开             "dynamic": "false",              "_source": {                  "enabled": "true"              },              "_all": { "analyzer": "ik_max_word" },              "properties": {                  "myid" : {                      "type": "keyword",//5x后废弃了string,改为keyword和text                      "index": "not_analyzed",                      "include_in_all": true,                      "store": true                  }         }       }     }  }'

2.动态创建索引

修改elasticsearch.yml中的配置,之后提交数据时es会自动识别数据类型,然后创建索引及索引类型,但是不建议使用此方式.

#自动创建索引action.auto_creat_index:true


3.使用模板创建索引

创建一个名为my_template的模板,匹配所有my_index开头的索引,匹配成功后会按照settings和mappings创建一个新的索引.

curl -XPUT ip:9200/_template/my_template -d'  {          "template": "my_index*", //匹配所有my_index开头的索引          "order":0,  //当存在多个索引模板时并且某个索引两者都匹配时,使用order来确定模板合并顺序        "settings": {...},          "mappings" :{...}  }  //查看模板curl -XGET ip:9200/_template/my_template //更改模板方法,将PUT请求改为POST请求//删除模板curl -XDELETE ip:9200/_template/my_template


索引修改:

curl -XPUT ip:9200/my_index/_settings -d'{"index.number_of_replicas": 2}'  //修改索引备份为两份





原创粉丝点击