Index Template

Index Templates可以帮助你设定Mappings和Settings,并按照一定的规则,自动匹配到
新创建的索引之上。模版仅在一个索引被新创建时,才会产生作用。修改模版不会影响已创建的索引,你可以设定多个索引模版,这些设置会被“merge”在一起,你可以指定“order”的数值,控制“merging”的过程

索引模板中的内容

  • settings: 指定index的配置信息, 比如分片数、副本数, tranlog同步条件、refresh策略等信息;

  • mappings: 指定index的内部构建信息, 主要有:

    • _all: All Field字段, 如果开启, _all字段就会把所有字段的内容都包含进来,检索的时候可以不用指定字段查询 ,会检索多个字段, 设置方式: “_all”: {“enabled”: true};
      在ES 6.0开始, _all字段被禁用了, 作为替换, 可以通过copy_to自定义实现all字段的功能.

    • _source: Source Field字段, ES为每个文档都保存一份源数据, 如果不开启, 也就是”_source”: {“enabled”: false}, 查询的时候就只会返回文档的ID, 其他的文档内容需要通过Fields字段到索引中再次获取, 效率很低. 但若开启, 索引的体积会更大, 此时就可以通过Compress进行压缩, 并通过inclueds、excludes等方式在field上进行限制,指定义允许哪些字段存储到_source中, 哪些不存储;

    • properties: 最重要的配置, 是对索引结构和文档字段的设置.

索引模板的用途