ElasticSearch索引管理
系列 - ElasticSearch学习
目录
ElasticSearch 索引管理
1.创建索引
1.1 默认分片数量
Note
创建索引时默认是一个分片和一个副本。
创建索引:
PUT 192.168.109.31:9200/index-test01
1.2 自定义分片数量
创建索引并指定分片数量:
PUT 192.168.109.31:9200/index-test02
{
"settings":{
"number_of_shards": 3
}
}
1.3 自定义分片及副本数量
创建索引并指定分片及副本数量:
PUT 192.168.109.31:9200/index-test03
{
"settings":{
"number_of_shards": 5,
"number_of_replicas": 0
}
}
2.查看索引
2.1 查看指定索引
查看指定索引:
GET 192.168.109.31:9200/index-test
2.2 查看所有索引
查看所有索引:
GET 192.168.109.31:9200/_cat/indices?v
3.修改索引
3.1 修改副本数
修改分片副本数:
PUT 192.168.109.31:9200/index-test02/_settings
{
"number_of_replicas":0
}
4.删除索引
Warning
删除索引则会删除所有数据,生产中慎用!!!
4.1 删除指定索引
删除指定名称索引:
DELETE 192.168.109.31:9200/index-test
4.2 批量删除索引
通配符批量删除索引:
DELETE 192.168.109.31:9200/index*
5.关闭和打开索引
5.1 关闭索引
关闭指定索引:
POST 192.168.109.31:9200/doc-test01/_close
Note
关闭索引后,索引中文档内容便不能进行查询,但是数据不会被删除,打开索引后就能正常访问。
5.2 打开索引
打开指定索引:
POST 192.168.109.31:9200/doc-test01/_open
6.索引模板管理
Note
索引模板就是创建索引时要遵循的模板规则。
索引模板仅对新创建的索引有效,已经创建的索引并不受索引模板的影响。
6.1 查看索引模板
查看所有索引模板:
GET 192.168.109.31:9200/_index_template
查看指定索引模板:
GET 192.168.109.31:9200/_index_template/test
6.2 创建索引模板
创建一个索引模板:
POST 192.168.109.31:9200/_index_template/test
{
"index_patterns": [
"test*"
],
"template": {
"settings": {
"number_of_shards": 5,
"number_of_replicas": 0
}
}
}
6.3 修改索引模板
修改索引模板配置:
PUT 192.168.109.31:9200/_index_template/test
{
"index_patterns": [
"test*"
],
"template": {
"settings": {
"number_of_shards": 3,
"number_of_replicas": 0
}
}
}
6.4 删除索引模板
删除指定所有模板:
DELETE 192.168.109.31:9200/_index_template/test
7.索引别名管理
Note
索引别名就是给索引起设置另外的名称,应用场景时可以将名称不同但有关联的数据一起查询。
7.1 查看索引别名
查看所有索引别名:
GET 192.168.109.31:9200/_alias
查看指定索引别名:
GET 192.168.109.31:9200/index-test01/_alias
7.2 设置索引别名
给索引设置别名:
POST 192.168.109.31:9200/_aliases
{
"actions": [
{
"add": {
"index": "index-test01",
"alias": "index01"
}
}
]
}
7.3 基于别名查询数据
基于别名查询数据和索引查询方法相同:
GET 192.168.109.31:9200/index01/_search
7.4 删除索引别名
删除索引别名:
POST 192.168.109.31:9200/_aliases
{
"actions": [
{
"remove": {
"index": "index-test01",
"alias": "index01"
}
}
]
}
7.5 修改索引别名
由于没有专门的修改指令,我们可以先删除再设置别名,即“修改了索引别名”:
POST 192.168.109.31:9200/_aliases
{
"actions": [
{
"remove": {
"index": "index-test01",
"alias": "index01"
}
},
{
"add": {
"index": "index-test01",
"alias": "index-a"
}
}
]
}