`

Elasticsearch模块功能之-索引模板(Index templates)

阅读更多

Elasticsearch模块功能之-索引模板(Index templates)

 

 

索引可使用预定义的模板进行创建,这个模板称作Index templates。模板设置包括settings和mappings,通过模式匹配的方式使得多个索引重用一个模板,例如:

定义模板:

 

[html] view plaincopy
 
  1. curl -XPUT localhost:9200/_template/template_1 -d '  
  2. {  
  3.     "template" : "te*",  
  4.     "settings" : {  
  5.         "number_of_shards" : 1  
  6.     },  
  7.     "mappings" : {  
  8.         "type1" : {  
  9.             "_source" : {"enabled" : false }  
  10.         }  
  11.     }  
  12. }  
  13. '  



 

上述定义的模板template_1将对用te开头的新索引都是有效。

 

模板中也可以包含别别名的定义,如下:

 

[html] view plaincopy
 
  1. curl -XPUT localhost:9200/_template/template_1 -d '  
  2. {  
  3.     "template" : "te*",  
  4.     "settings" : {  
  5.         "number_of_shards" : 1  
  6.     },  
  7.     "aliases" : {  
  8.         "alias1" : {},  
  9.         "alias2" : {  
  10.             "filter" : {  
  11.                 "term" :{"user" : "kimchy" }  
  12.             },  
  13.             "routing" :"kimchy"  
  14.         },  
  15.         "{index}-alias" : {}   
  16.     }  
  17. }  



 

 

删除模板:

         使用模板名称对模板进行删除.

[html] view plaincopy
 
  1. curl -XDELETE localhost:9200/_template/template_1  

 

 

同样也可以查看定义的模板

 

[html] view plaincopy
 
  1. curl -XGET localhost:9200/_template/template_1  



 

 

多个索引模板:

         当存在多个索引模板时并且某个索引两者都匹配时,settings和mpapings将合成一个配置应用在这个索引上。合并的顺序可由索引模板的order属性来控制。

 

[html] view plaincopy
 
  1. curl -XPUT localhost:9200/_template/template_1 -d '  
  2. {  
  3.     "template" : "*",  
  4.     "order" : 0,  
  5.     "settings" : {  
  6.         "number_of_shards" : 1  
  7.     },  
  8.     "mappings" : {  
  9.         "type1" : {  
  10.             "_source" : {"enabled" : false }  
  11.         }  
  12.     }  
  13. }  
  14. '  
  15. ==================================================================  
  16. curl -XPUT localhost:9200/_template/template_2 -d '  
  17. {  
  18.     "template" : "te*",  
  19.     "order" : 1,  
  20.     "settings" : {  
  21.         "number_of_shards" : 1  
  22.     },  
  23.     "mappings" : {  
  24.         "type1" : {  
  25.             "_source" : {"enabled" : true }  
  26.         }  
  27.     }  
  28. }  
  29. '  

 

 

上述order为1的配置将覆盖order为0的配置,最终索引的配置sourceenabled为true。

 

模板配置文件:

         除了以上方式,索引模板也可以在文件中进行配置。索引模板的配置文件需要在每个

主节点的config目录下,目录结构为:config/templates/template_1.json,temp
late_1.json的样例如下:

 

[java] view plaincopy
 
  1. {  
  2.   "template-logstash" : {  
  3.     "template" : "logstash*",  
  4.     "settings" : {  
  5.       "index.number_of_shards" : 5,  
  6.       "number_of_replicas" : 1,  
  7.       "index" : {  
  8.         "store" : {  
  9.           "compress" : {  
  10.             "stored" : true,  
  11.             "tv"true  
  12.           }  
  13.         }  
  14.       }  
  15.     },  
  16.     "mappings" : {  
  17.       "_default_" : {  
  18.         "properties" : {  
  19.           "dynamic" : "true",  
  20.         },  
  21.       },  
  22.       "loadbalancer" : {  
  23.         "_source" : {  
  24.           "compress" : true,  
  25.         },  
  26.         "_ttl" : {  
  27.           "enabled" : true,  
  28.           "default" : "10d"  
  29.         },  
  30.         "_all" : {  
  31.           "enabled" : false  
  32.         },  
  33.         "properties" : {  
  34.           "@fields" : {  
  35.             "dynamic" : "true",  
  36.             "properties" : {  
  37.               "client" : {  
  38.                 "type" : "string",  
  39.                 "index" : "not_analyzed"  
  40.               },  
  41.               "domain" : {  
  42.                 "type" : "string",  
  43.                 "index" : "not_analyzed"  
  44.               },  
  45.               "oh" : {  
  46.                 "type" : "string",  
  47.                 "index" : "not_analyzed"  
  48.               },  
  49.               "responsetime" : {  
  50.                 "type" : "double",  
  51.               },  
  52.               "size" : {  
  53.                 "type" : "long",  
  54.                 "index" : "not_analyzed"  
  55.               },  
  56.               "status" : {  
  57.                 "type" : "string",  
  58.                 "index" : "not_analyzed"  
  59.               },  
  60.               "upstreamtime" : {  
  61.                 "type" : "double",  
  62.               },  
  63.               "url" : {  
  64.                 "type" : "string",  
  65.                 "index" : "not_analyzed"  
  66.               }  
  67.             }  
  68.           },  
  69.           "@source" : {  
  70.             "type" : "string",  
  71.             "index" : "not_analyzed"  
  72.           },  
  73.           "@timestamp" : {  
  74.             "type" : "date",  
  75.             "format" : "dateOptionalTime"  
  76.           },  
  77.           "@type" : {  
  78.             "type" : "string",  
  79.             "index" : "not_analyzed",  
  80.             "store" : "no"  
  81.           }  
  82.         }  
  83.       }  
  84.     }  
  85.   }  
  86. }  



 

 

 

【参考】:http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-templates.html

 

 

from  http://blog.csdn.net/changong28/article/details/38423339

分享到:
评论

相关推荐

    7.17.1系列Elasticsearch的elasticsearch-analysis-ik分词器

    适用于7.17.1系列,例如Elasticsearch的7.17.12版本。 elasticsearch-analysis-ik 是一个常用的中文分词器,在 Elasticsearch 中广泛应用于中文文本的分析和搜索。下面是 elasticsearch-analysis-ik 分词器的几个...

    elasticsearch-analysis-ik-7.10.0.zip下载

    "elasticsearch-analysis-ik"是针对Elasticsearch的一个中文分词插件,它的主要功能是提供高效、精准的中文分词能力,使得Elasticsearch能够更好地理解和处理中文文本数据。 在Elasticsearch 7.10.0版本中,...

    最新版 elasticsearch-analysis-ik-8.7.0.zip

    最新版 elasticsearch-analysis-ik-8.7.0.zip最新版 elasticsearch-analysis-ik-8.7.0.zip最新版 elasticsearch-analysis-ik-8.7.0.zip最新版 elasticsearch-analysis-ik-8.7.0.zip

    elasticsearch-analysis-ik-7.16.3.zip

    1. 配置分词器:在Elasticsearch的索引模板或映射设置中,添加IK分词器配置,例如: ```json { "settings": { "analysis": { "analyzer": { "my_analyzer": { "tokenizer": "ik_max_word", "filter": [...

    elasticsearch-x-content-6.3.0-API文档-中文版.zip

    赠送jar包:elasticsearch-x-content-6.3.0.jar; 赠送原API文档:elasticsearch-x-content-6.3.0-javadoc.jar; 赠送源代码:elasticsearch-x-content-6.3.0-sources.jar; 赠送Maven依赖信息文件:elasticsearch-x...

    elasticsearch-analysis-ik-8.11.0

    Elasticsearch Analysis IK 8.11.0 是一个专为Elasticsearch 8.11.0版本设计的中文分词插件,其主要目标是提供对中文文本的高效、精确的分词能力,以提升搜索引擎的索引质量和查询效果。这个插件分为粗粒度和细粒度...

    elasticsearch-analysis-pinyin-7.4.0 es拼音分词器7.4.0

    Elasticsearch(简称ES)是一款强大的开源搜索引擎,广泛应用于大数据领域的全文检索。它以其高可扩展性、实时性能以及丰富的分析能力著称。在中文环境下,由于汉字的复杂性,分词是实现有效搜索的关键步骤。为此,...

    elasticsearch-analysis-ik-7.10.2.zip

    Elasticsearch(ES)作为一个开源的全文搜索引擎,因其强大的搜索功能和分布式特性而备受青睐。然而,对于中文这种复杂的语言,分词是搜索引擎理解文本的关键步骤。本文将详细介绍elasticsearch-analysis-ik-7.10.2...

    elasticsearch-analysis-dynamic-synonym-7.6.2

    总的来说,`elasticsearch-analysis-dynamic-synonym-7.6.2`插件是ES7.6.2版本中实现动态同义词功能的重要工具,它通过高效的数据处理和灵活的API,让同义词管理变得更加便捷,极大地提升了ES在实际业务中的应用效果...

    elasticsearch-analysis-ik-7.4.2.zip.7z

    elasticsearch-analysis-ik就是这样一个插件,它是针对Elasticsearch的最流行的中文分词器之一,旨在提供高效、准确的中文分词服务。 elasticsearch-analysis-ik插件由IK Analyzer团队开发,IK即...

    elasticsearch-analysis-ik-7.12.1

    6. **多字段分析**:在 Elasticsearch 索引配置中,可以为不同的字段指定不同的分析器,以满足不同字段的分析需求。 **四、安装与配置** 1. **下载**:从官方仓库或其他可信来源下载 elasticsearch-analysis-ik-...

    最新版 elasticsearch-analysis-ik-7.6.2.zip

    Elasticsearch 是一款高度可扩展的开源全文搜索引擎,它提供了实时、分布式的搜索和分析功能。在处理中文文档时,我们需要一个能够理解中文语言的分词器,这就是IK(Intelligent Chinese)分析器的用武之地。...

    ES同义词插件 elasticsearch-analysis-dynamic-synonym-6.5.1.rar

    本篇文章将重点讲解“ES同义词插件”——elasticsearch-analysis-dynamic-synonym-6.5.1,这是针对Elasticsearch 6.x版本的一个定制化插件,用于实现同义词处理功能。 标题中的"ES同义词插件 elasticsearch-...

    elasticsearch-6.8.0+elasticsearch-analysis-ik-6.8.0 .zip

    在6.8.0版本中,Elasticsearch 提供了强大的索引管理和查询功能,支持多种数据类型,如文本、数值、日期等。此版本对性能进行了优化,增强了稳定性,并修复了一些已知问题。它还支持多租户,允许在一个集群中管理多...

    elasticsearch-bulk-insert-plugin.zip

    Elasticsearch-Bulk-Insert-Plugin 是一个专为Kettle设计的插件,主要用于高效地将大量数据批量插入到Elasticsearch(ES)集群中。Elasticsearch是一种流行且功能强大的分布式搜索引擎,常用于大数据分析、日志分析...

    elasticsearch-head-chrome-master.zip

    **Elasticsearch Head 插件详解** Elasticsearch Head 是一个非常实用的开源工具,用于可视化管理和监控 Elasticsearch 集群。在这个“elasticsearch-head-chrome-master.zip”压缩包中,我们得到了 Chrome 浏览器...

    elasticsearch-analysis-dynamic-synonym-7.12.1.zip

    5. **analysis-common-7.10.2.jar**:这是Elasticsearch的分析模块,包含了各种文本分析器和过滤器,同义词插件可能依赖于这个库来实现其功能。 6. **commons-codec-1.11.jar** 和 **commons-logging-1.2.jar**:...

    elasticsearch-analysis-ik-7.3.2.zip

    "elasticsearch-analysis-ik"是ES中最受欢迎的中文分词器之一,专为提升中文文本分析性能而设计。本文将深入探讨"elasticsearch-analysis-ik-7.3.2"这个版本,以及与其相关的技术细节。 首先,"elasticsearch-...

    elasticsearch-analysis-ik-8.1.3.zip

    通过SpringData-elasticsearch,开发者可以利用Spring的注解驱动和模板方法,轻松地在Java应用中实现Elasticsearch的操作,如索引管理、文档操作和查询构建。 **总结** Elasticsearch-analysis-ik插件是Elastic...

    elasticsearch-7.4.2-linux-x86_64.tar.gz

    - modules 目录:包含了 Elasticsearch 内置的一些模块,如 ingest、reindex 等。 - plugins 目录:如果已安装插件,这里会有对应插件的文件。 部署和使用 Elasticsearch 7.4.2 版本,你需要配置环境变量,设置合适...

Global site tag (gtag.js) - Google Analytics