Elasticsearch模块功能之-索引模板(Index templates)
索引可使用预定义的模板进行创建,这个模板称作Index templates。模板设置包括settings和mappings,通过模式匹配的方式使得多个索引重用一个模板,例如:
定义模板:
- curl -XPUT localhost:9200/_template/template_1 -d '
- {
- "template" : "te*",
- "settings" : {
- "number_of_shards" : 1
- },
- "mappings" : {
- "type1" : {
- "_source" : {"enabled" : false }
- }
- }
- }
- '
上述定义的模板template_1将对用te开头的新索引都是有效。
模板中也可以包含别别名的定义,如下:
- curl -XPUT localhost:9200/_template/template_1 -d '
- {
- "template" : "te*",
- "settings" : {
- "number_of_shards" : 1
- },
- "aliases" : {
- "alias1" : {},
- "alias2" : {
- "filter" : {
- "term" :{"user" : "kimchy" }
- },
- "routing" :"kimchy"
- },
- "{index}-alias" : {}
- }
- }
删除模板:
使用模板名称对模板进行删除.
- curl -XDELETE localhost:9200/_template/template_1
同样也可以查看定义的模板:
- curl -XGET localhost:9200/_template/template_1
多个索引模板:
当存在多个索引模板时并且某个索引两者都匹配时,settings和mpapings将合成一个配置应用在这个索引上。合并的顺序可由索引模板的order属性来控制。
- curl -XPUT localhost:9200/_template/template_1 -d '
- {
- "template" : "*",
- "order" : 0,
- "settings" : {
- "number_of_shards" : 1
- },
- "mappings" : {
- "type1" : {
- "_source" : {"enabled" : false }
- }
- }
- }
- '
- ==================================================================
- curl -XPUT localhost:9200/_template/template_2 -d '
- {
- "template" : "te*",
- "order" : 1,
- "settings" : {
- "number_of_shards" : 1
- },
- "mappings" : {
- "type1" : {
- "_source" : {"enabled" : true }
- }
- }
- }
- '
上述order为1的配置将覆盖order为0的配置,最终索引的配置source的enabled为true。
模板配置文件:
除了以上方式,索引模板也可以在文件中进行配置。索引模板的配置文件需要在每个
主节点的config目录下,目录结构为:config/templates/template_1.json,temp
late_1.json的样例如下:
- {
- "template-logstash" : {
- "template" : "logstash*",
- "settings" : {
- "index.number_of_shards" : 5,
- "number_of_replicas" : 1,
- "index" : {
- "store" : {
- "compress" : {
- "stored" : true,
- "tv": true
- }
- }
- }
- },
- "mappings" : {
- "_default_" : {
- "properties" : {
- "dynamic" : "true",
- },
- },
- "loadbalancer" : {
- "_source" : {
- "compress" : true,
- },
- "_ttl" : {
- "enabled" : true,
- "default" : "10d"
- },
- "_all" : {
- "enabled" : false
- },
- "properties" : {
- "@fields" : {
- "dynamic" : "true",
- "properties" : {
- "client" : {
- "type" : "string",
- "index" : "not_analyzed"
- },
- "domain" : {
- "type" : "string",
- "index" : "not_analyzed"
- },
- "oh" : {
- "type" : "string",
- "index" : "not_analyzed"
- },
- "responsetime" : {
- "type" : "double",
- },
- "size" : {
- "type" : "long",
- "index" : "not_analyzed"
- },
- "status" : {
- "type" : "string",
- "index" : "not_analyzed"
- },
- "upstreamtime" : {
- "type" : "double",
- },
- "url" : {
- "type" : "string",
- "index" : "not_analyzed"
- }
- }
- },
- "@source" : {
- "type" : "string",
- "index" : "not_analyzed"
- },
- "@timestamp" : {
- "type" : "date",
- "format" : "dateOptionalTime"
- },
- "@type" : {
- "type" : "string",
- "index" : "not_analyzed",
- "store" : "no"
- }
- }
- }
- }
- }
- }
【参考】: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的7.17.12版本。 elasticsearch-analysis-ik 是一个常用的中文分词器,在 Elasticsearch 中广泛应用于中文文本的分析和搜索。下面是 elasticsearch-analysis-ik 分词器的几个...
"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
1. 配置分词器:在Elasticsearch的索引模板或映射设置中,添加IK分词器配置,例如: ```json { "settings": { "analysis": { "analyzer": { "my_analyzer": { "tokenizer": "ik_max_word", "filter": [...
赠送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 8.11.0版本设计的中文分词插件,其主要目标是提供对中文文本的高效、精确的分词能力,以提升搜索引擎的索引质量和查询效果。这个插件分为粗粒度和细粒度...
Elasticsearch(简称ES)是一款强大的开源搜索引擎,广泛应用于大数据领域的全文检索。它以其高可扩展性、实时性能以及丰富的分析能力著称。在中文环境下,由于汉字的复杂性,分词是实现有效搜索的关键步骤。为此,...
Elasticsearch(ES)作为一个开源的全文搜索引擎,因其强大的搜索功能和分布式特性而备受青睐。然而,对于中文这种复杂的语言,分词是搜索引擎理解文本的关键步骤。本文将详细介绍elasticsearch-analysis-ik-7.10.2...
总的来说,`elasticsearch-analysis-dynamic-synonym-7.6.2`插件是ES7.6.2版本中实现动态同义词功能的重要工具,它通过高效的数据处理和灵活的API,让同义词管理变得更加便捷,极大地提升了ES在实际业务中的应用效果...
elasticsearch-analysis-ik就是这样一个插件,它是针对Elasticsearch的最流行的中文分词器之一,旨在提供高效、准确的中文分词服务。 elasticsearch-analysis-ik插件由IK Analyzer团队开发,IK即...
Elasticsearch 是一款高度可扩展的开源全文搜索引擎,它提供了实时、分布式的搜索和分析功能。在处理中文文档时,我们需要一个能够理解中文语言的分词器,这就是IK(Intelligent Chinese)分析器的用武之地。...
6. **多字段分析**:在 Elasticsearch 索引配置中,可以为不同的字段指定不同的分析器,以满足不同字段的分析需求。 **四、安装与配置** 1. **下载**:从官方仓库或其他可信来源下载 elasticsearch-analysis-ik-...
本篇文章将重点讲解“ES同义词插件”——elasticsearch-analysis-dynamic-synonym-6.5.1,这是针对Elasticsearch 6.x版本的一个定制化插件,用于实现同义词处理功能。 标题中的"ES同义词插件 elasticsearch-...
在6.8.0版本中,Elasticsearch 提供了强大的索引管理和查询功能,支持多种数据类型,如文本、数值、日期等。此版本对性能进行了优化,增强了稳定性,并修复了一些已知问题。它还支持多租户,允许在一个集群中管理多...
Elasticsearch-Bulk-Insert-Plugin 是一个专为Kettle设计的插件,主要用于高效地将大量数据批量插入到Elasticsearch(ES)集群中。Elasticsearch是一种流行且功能强大的分布式搜索引擎,常用于大数据分析、日志分析...
**Elasticsearch Head 插件详解** Elasticsearch Head 是一个非常实用的开源工具,用于可视化管理和监控 Elasticsearch 集群。在这个“elasticsearch-head-chrome-master.zip”压缩包中,我们得到了 Chrome 浏览器...
5. **analysis-common-7.10.2.jar**:这是Elasticsearch的分析模块,包含了各种文本分析器和过滤器,同义词插件可能依赖于这个库来实现其功能。 6. **commons-codec-1.11.jar** 和 **commons-logging-1.2.jar**:...
"elasticsearch-analysis-ik"是ES中最受欢迎的中文分词器之一,专为提升中文文本分析性能而设计。本文将深入探讨"elasticsearch-analysis-ik-7.3.2"这个版本,以及与其相关的技术细节。 首先,"elasticsearch-...
通过SpringData-elasticsearch,开发者可以利用Spring的注解驱动和模板方法,轻松地在Java应用中实现Elasticsearch的操作,如索引管理、文档操作和查询构建。 **总结** Elasticsearch-analysis-ik插件是Elastic...
- modules 目录:包含了 Elasticsearch 内置的一些模块,如 ingest、reindex 等。 - plugins 目录:如果已安装插件,这里会有对应插件的文件。 部署和使用 Elasticsearch 7.4.2 版本,你需要配置环境变量,设置合适...