当前位置: 首页 > article >正文

elasticsearch的索引模版使用方法

5 索引模版⭐️⭐️⭐️⭐️⭐️

  • 索引模板就是创建索引时要遵循的模板规则
  • 索引模板仅对新创建的索引有效,已经创建的索引并不受索引模板的影响

5.1 索引模版的基本使用

1.查看所有的索引模板

GET 10.0.0.91:9200/_index_template

2.创建自定义索引模板 xixi ,设置为 5分片,3副本。

也就是说以后创建的索引,只要是以xixi开头,都会遵循5分片0副本的设置。

POST 10.0.0.91:9200/_index_template/xixi
{
    "index_patterns": [
        "xixi*"
    ],
    "template": {
        "settings": {
            "number_of_shards": 5,
            "number_of_replicas": 3
        }
    }
}

3.查看单个索引模板 xixi

GET 10.0.0.91:9200/_index_template/xixi

4.创建测试的索引:PUT 10.0.0.91:9200/xixi-001,查看该条索引确实遵循了索引模版xixi 设置的 5分片0副本

...
                "number_of_shards": "5",
                "provided_name": "xixi-01",
                "creation_date": "1731679377301",
                "number_of_replicas": "3",
                "uuid": "15RcpNdsQAOqbg97_1AIBQ",
                "version": {
                    "created": "7172299"
...

5.修改索引模板 xixi,修改为 3分片2副本。方法其实和创建索引模版完全一样

PUT 10.0.0.91:9200/_index_template/xixi
{
    "index_patterns": [
        "xixi*"
    ],
    "template": {
        "settings": {
            "number_of_shards": 3,
            "number_of_replicas": 2
        }
    }
}

8.删除索引模板 xixi

DELETE 10.0.0.91:9200/_index_template/xixi

5.2 索引模版和组件模版的使用

  • 提示:如果索引模版和组件模版同时定义分片数,那么最终索引模版会生效。这里不在演示

1.查看现有的组件模板

GET 10.0.0.93:9200/_component_template/

2.创建自定义的组件模板 haha,设置为10分片

POST 10.0.0.93:9200/_component_template/haha
{
    "template": {
        "settings": {
            "number_of_shards": 10
        }
    }
}

3.查看单个组件模板 haha

GET 10.0.0.93:9200/_component_template/haha

4.创建索引模板hehe设置为3副本,并引用haha组件模版(10分片)。这样以后匹配到hehe索引模版的的索引都是10分片3副本

GET 10.0.0.91:9200/_index_template/hehe
{
    "index_patterns": [
        "hehe*"
    ],
    "composed_of": [
        "haha"
    ],
    "template": {
        "settings": {
            "number_of_replicas": 3
        }
    }
}

5.创建一条索引hehe-01:PUT 10.0.0.92:9200/hehe-01,查看符合预期10分片3副本

...
                "number_of_shards": "10",
                "provided_name": "hehe-01",
                "creation_date": "1731681895210",
                "number_of_replicas": "3",
                "uuid": "p1lOEKawSB6Id70hqbetlw",
                "version": {
                    "created": "7172299"
                }
...

6 索引别名

  • 可以将多个不同的索引打上相同的别名,将来基于别名进行查询,就可以将这些不同索引的数据一起查询。

  • 假设有一条索引叫apple,另一条索引叫banana。两者名字上并没有关联,可以给它们打上fruit的别名,这样就能查询这两条索引的

    数据了

  • 总结就是:因为索引名称不统一而导致不能批量查询,就可以使用别名

6.1 索引别名使用案例

1.环境准备。创建索引并写入数据

POST 10.0.0.93:9200/_bulk
{ "index" : { "_index" : "children-001"} }
{"name": "韩V童","hobby": ["睡觉","美女","上课"]}
{ "index" : { "_index" : "children-002"} }
{"name": "王K鹏","hobby": ["钓鱼","摸泥鳅","打扑克"]}
{ "index" : { "_index" : "children-003"} }
{"name": "黄钰风","hobby": ["cosplay二次元","喝枸杞","吃羊腰"]}
{ "index" : { "_index" : "children-004"} }
{"name": "刘四","hobby": ["打游戏","吃烤串","欧美大片"]}
{ "index" : { "_index" : "children-005"} }
{"name": "赵x亮","hobby": ["韩V童","吃汉堡","小电影"]}
{ "index" : { "_index" : "children-006"} }
{"name": "陈LL","hobby": ["抽烟","喝酒","烫头"]}
{ "index" : { "_index" : "children-007"} }
{"name": "张T","hobby": ["抽烟","溜鸟","夜跑"]}

2.给索引设置别名。children-0016设置别名children;children-0012设置别名successfully

POST 10.0.0.93:9200/_aliases
{
    "actions": [
        {
            "add": {
                "index": "children-001",
                "alias": "children"
            }
        },
        {
            "add": {
                "index": "children-002",
                "alias": "children"
            }
        },
        {
            "add": {
                "index": "children-003",
                "alias": "children"
            }
        },
        {
            "add": {
                "index": "children-004",
                "alias": "children"
            }
        },
        {
            "add": {
                "index": "children-005",
                "alias": "children"
            }
        },
        {
            "add": {
                "index": "children-006",
                "alias": "children"
            }
        },
        {
            "add": {
                "index": "children-001",
                "alias": "successfully"
            }
        },
        {
            "add": {
                "index": "children-002",
                "alias": "successfully"
            }
        }
    ]
}

3.在es head上查看别名

在这里插入图片描述

4.创建索引模式,可以发现别名

在这里插入图片描述

5.不使用通配符,直接使用别名children进行索引

在这里插入图片描述

6.使用别名查询数据,可以发现children把所有children-00{1…6}都匹配到了

在这里插入图片描述

6.2 索引别名的管理

1.查看所有索引的别名信息

GET 10.0.0.93:9200/_alias

2.查看指定索引的别名信息

GET 10.0.0.93:9200/children-003/_alias

输出:

{
    "children-003": {
        "aliases": {
            "children": {}
        }
    }
}

3.修改别名。把索引children-006的别名修改为boy。

提示:别名不能直接修改,而是移除旧别名,打上新别名

POST 10.0.0.93:9200/_aliases
{
    "actions": [
        {
            "remove": {
                "index": "children-006",
                "alias": "boy"
            }
        },
        {
            "add": {
                "index": "children-006",
                "alias": "boy"
            }
        }
    ]
}

查看新别名boy在这里插入图片描述

4.别名的删除

POST 10.0.0.91:9200/_aliases
{
    "actions": [
        {
            "remove": {
                "index": "children-006",
                "alias": "boy"
            }
        }
    ]
}
ias": "boy"
            }
        }
    ]
}

查看新别名boy[外链图片转存中…(img-j6dYh6R4-1732552623144)]

4.别名的删除

POST 10.0.0.91:9200/_aliases
{
    "actions": [
        {
            "remove": {
                "index": "children-006",
                "alias": "boy"
            }
        }
    ]
}

http://www.kler.cn/a/414962.html

相关文章:

  • 【iOS】知乎日报总结
  • Mac安装及合规无限使用Beyond Compare
  • 【CSS】一篇掌握CSS
  • 初试无监督学习 - K均值聚类算法
  • 【MySQL篇】持久化和非持久化统计信息的深度剖析(第一篇,总共六篇)
  • 非线性控制器设计原理
  • C#中面试的常见问题002
  • 将WPS的PPT 无损的用微软的PowerPoint打开
  • 基于Linux的repmgr搭建
  • golang 实现比特币内核:transaction 结构中输入和输出两部分的一些说明
  • iOS 系统中使用 webView 打印 html 的打印边距问题
  • 【C51】单片机与LED数码管的动态显示接口案例分析
  • ctfshow -web -118-124
  • node + Redis + svg-captcha 实现验证码
  • 大模型实操六、基于华为盘古大模型的基础文本处理(文本摘要、情感分析、关键词提取)
  • 使用经典的Java,还是拥抱新兴的Rust?
  • chapter05-Shell编程之免交互笔记
  • 【MySQL】MySQL中的函数之JSON_ARRAY_INSERT
  • 网络原理(一)—— http
  • Spring Web MVC(详解中)
  • 链表内指定区间反转
  • 如何使用 python 中 pandas 进行数据分析?
  • 学习笔记:黑马程序员JavaWeb开发教程(2024.11.29)
  • Git仓库迁移到远程仓库(源码、分支、提交)
  • CVE-2022-24124
  • OGRE 3D----3. OGRE绘制自定义模型