[译] Elasticsearch 索引模板

原文地址:https://www.elastic.co/guide/en/elasticsearch/reference/2.3/indices-templates.html


基本配置:

# Don't Check shard when startup
index.shard.check_on_startup : false

# Enabled automatic mapping creation
index.mapper.dynamic : true

# Enabled automatic index creation
action.auto_create_index : true

问题描述:
Elasticsearch 中 _ string _ 型字段默认是_ analyzed _,我们需要根据业务需求,将某些字段设为 _ not_analyzed _。


Elasticsearch 索引模板介绍:
索引模板可以在新建索引后,自动将模板配置信息应用到指定的索引上。模板由_ template _, _ settings _, _ mappings _, _ aliases _ 等构成。通过** template ** 属性(支持简单的规则匹配)来控制该模板将应用到哪些索引上。** template只在索引创建时使用,修改模板不影响已存在的数据。**

由此可见,Elasticsearch 索引模板可以解决上述问题。


示例:

PUT /_template/template_1 
{ 
  "template": "te*", 
  "settings": { 
    "number_of_shards": 1 
  }, 
  "mappings": { 
    "type1": { 
      "_source": { 
        "enabled": false 
    }, 
    "properties": { 
      "host_name": { 
        "type": "string", 
        "index": "not_analyzed" 
      }
    } 
  } 
}

示例解释:
1、模板名:template_1
2、匹配规则:te*,即te开头的索引会使用此模板;
3、示例中将type1 的 host_name (_ string _ )设为 _ not_analyzed _。

你可能感兴趣的:([译] Elasticsearch 索引模板)