Elasticsearch之索引模板

解决的问题

  当索引类型和配置信息都一样,就可以使用索引模板来处理,不然我们就会手动创建索引。

创建索引模板

PUT _template/2019
{
  "index_patterns": ["20*", "product1*"],
  "settings":{
    "number_of_shards": 2,
    "number_of_replicas": 1
  },
  "mappings":{
    "doc":{
      "properties":{
        "ip":{
          "type":"keyword"
        },
        "method":{
          "type": "keyword"
        }
      }
    }
  }
}

# index_patterns是索引模式,指当创建以20和product1开头的索引时,使用该索引模板
# 在settings设置中,我们自定义为该索引分配3个主分片。复制分片不变
# mappings中指定映射关系

查看索引模板

GET _cat/templates
GET _template
GET _template/2019
GET _template/20*

索引模板的使用

添加数据并且查询模板是否使用上

PUT 20190101/doc/1
{
  "ip": "127.0.0.1",
  "method":"GET"
}

PUT 20190102/doc/2
{
  "ip":"192.168.1.1",
  "method":"POST"
}

PUT product1_log/doc/1
{
  "ip":"127.0.0.1",
  "method":"GET"
}

GET 2019*/doc/_search
{
  "query": {
    "match_all": {}
  }
}

GET 20190101

查询结果模板使用上了

{
  "20190101" : {
    "aliases" : { },
    "mappings" : {
      "doc" : {
        "properties" : {
          "ip" : {
            "type" : "keyword"
          },
          "method" : {
            "type" : "keyword"
          }
        }
      }
    },
    "settings" : {
      "index" : {
        "creation_date" : "1566821645952",
        "number_of_shards" : "2",
        "number_of_replicas" : "1",
        "uuid" : "Tzqx1mKvTmiBMfaOfhQAwg",
        "version" : {
          "created" : "6050499"
        },
        "provided_name" : "20190101"
      }
    }
  }
}  

多模板匹配

PUT _template/2018_1
{
  "index_patterns": ["2018*"],
  "order":0,
  "settings":{
    "number_of_shards": 2
  }
}

PUT 2018010101/doc/1
{
  "method":"GET"
}
GET 2018010101/_settings

删除模板

DELETE _template/2018*

原文地址:https://www.cnblogs.com/Alexephor/p/11414741.html

时间: 2024-10-16 12:34:09

Elasticsearch之索引模板的相关文章

Elasticsearch 【索引模板 index templates】

https://www.elastic.co/guide/en/elasticsearch/reference/1.7/indices-templates.html 一. 索引模板,定义模板,当新索引创建时,自动匹配,并应用定义的模板 新增索引模板(index templates) 我们新建一个索引模板template_1 设置它的主分片为1个.类型有type1且_source disabled PUT /_template/template_1 {   "template": &qu

ElasticStack学习(八):ElasticSearch索引模板与聚合分析初探

一.Index Template与Dynamic Template的概念 1.Index Template:它是用来根据提前设定的Mappings和Settings,并按照一定的规则,自动匹配到新创建的索引上. 1)模板仅是一个索引被创建时才会起作用,修改模板并不会影响已创建的索引: 2)可以设定多个索引模板,这些设置会被merge在一起: 3)通过指定order的数值,控制merge的过程: 2.Index Template的工作方式如下: 当一个索引被创建时,会执行如下操作: 1)应用Ela

Elasticsearch系列---索引管理

概要 Elasticsearch让索引创建变得非常简单,只要索引一条新的数据,索引会自动创建出来,但随着数据量的增加,我们开始有了索引优化和搜索优化的需求之后,就会发现自动创建的索引在某些方面不能非常完美的适应我们的需求,我们开始考虑手动创建适合我们业务需求的索引. 索引的CRUD 为了更好地贴切我们的业务数据需求,我们开始更精细的管理我们的索引. 创建索引 创建索引的语法示例如下: PUT /music { "settings": { "number_of_shards&q

elasticsearch的索引自动清理及自定义清理

近发现elasticsearch近期索引文件大的吓人,清理了下之前的索引文件,发现服务器性能大大的减轻了一半,想一直保留近一个月的索引文件,但是又不想每个月手动清楚,在此写了一个小脚本 一. 手动删除 rm -rf *2016-07-* 二.api删除 curl -XDELETE 'http://127.0.0.1:9200/logstash-2016-07-*' 清理掉了所有 7月份的索引文件,我发现curl 删除比rm删除要快出很多 三.脚本加api删除(推荐) cat es-index-c

使用java访问elasticsearch创建索引

使用java访问elasticsearch创建索引 http://riching.iteye.com/blog/1921625 ...怎么这么多对象啊.... 结贴.. 1.创建连接elasticsearch服务的client  创建这个服务的客户端 Settings settings = ImmutableSettings.settingsBuilder().put("client.transport.sniff", true).put("cluster.name"

Elasticsearch 【索引别名 alias】

https://www.elastic.co/guide/en/elasticsearch/reference/1.7/indices-aliases.html 一. Elasticsearch的别名,就类似数据库的视图. 创建别名: 我们为索引my_index创建一个别名my_index_alias,这样我们对my_index_alias的操作就像对my_index的操作一样 POST /_aliases {   "actions": [     {       "add&

Elasticsearch创建索引和映射结构详解

前言 这篇文章详细介绍了如何创建索引和某个类型的映射. 下文中[address]指代elasticsearch服务器访问地址(http://localhost:9200). 1       创建索引 1.1     简单创建语句 curl -XPUT [address]/blog 1.2     带参数的创建语句 curl -XPUT [address]/blog/ -d '{ "settings":{ "number_of_shards":1,     //设置分

elasticsearch java 索引操作

1.添加maven依赖 Xml代码   <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>0.90.0</version> </dependency> 建议使用maven管理项目,因为elasticsearch还有很多依赖包,手工维护很麻烦 2.创建连接elastic

Elasticsearch多索引

在Elasticsearch中,一般的查询都支持多索引.只有文档API或者别名等不支持多索引操作,因此本篇就翻译一下多索引相关的内容. 首先,先插入几条数据: