目录

ElasticSearch索引管理

ElasticSearch 索引管理

Note

创建索引时默认是一个分片和一个副本。

创建索引:

PUT 192.168.109.31:9200/index-test01

创建索引并指定分片数量:

PUT 192.168.109.31:9200/index-test02
{
    "settings":{
        "number_of_shards": 3
    }
}

创建索引并指定分片及副本数量:

PUT 192.168.109.31:9200/index-test03
{
    "settings":{
        "number_of_shards": 5,
        "number_of_replicas": 0
    }
}

查看指定索引:

GET 192.168.109.31:9200/index-test

查看所有索引:

GET 192.168.109.31:9200/_cat/indices?v

修改分片副本数:

PUT 192.168.109.31:9200/index-test02/_settings
{
    "number_of_replicas":0
}
Warning

删除索引则会删除所有数据,生产中慎用!!!

删除指定名称索引:

DELETE 192.168.109.31:9200/index-test

通配符批量删除索引:

DELETE 192.168.109.31:9200/index*

关闭指定索引:

POST 192.168.109.31:9200/doc-test01/_close
Note

关闭索引后,索引中文档内容便不能进行查询,但是数据不会被删除,打开索引后就能正常访问。

打开指定索引:

POST 192.168.109.31:9200/doc-test01/_open
Note

索引模板就是创建索引时要遵循的模板规则。

索引模板仅对新创建的索引有效,已经创建的索引并不受索引模板的影响。

查看所有索引模板:

GET 192.168.109.31:9200/_index_template

查看指定索引模板:

GET 192.168.109.31:9200/_index_template/test

创建一个索引模板:

POST 192.168.109.31:9200/_index_template/test
{
    "index_patterns": [
        "test*"
    ],
    "template": {
        "settings": {
            "number_of_shards": 5,
            "number_of_replicas": 0
        }
    }
}

修改索引模板配置:

PUT 192.168.109.31:9200/_index_template/test
{
    "index_patterns": [
        "test*"
    ],
    "template": {
        "settings": {
            "number_of_shards": 3,
            "number_of_replicas": 0
        }
    }
}

删除指定所有模板:

DELETE 192.168.109.31:9200/_index_template/test
Note

索引别名就是给索引起设置另外的名称,应用场景时可以将名称不同但有关联的数据一起查询。

查看所有索引别名:

GET 192.168.109.31:9200/_alias

查看指定索引别名:

GET 192.168.109.31:9200/index-test01/_alias

给索引设置别名:

POST 192.168.109.31:9200/_aliases
{
  "actions": [
    {
      "add": {
        "index": "index-test01", 
        "alias": "index01"
      }
    }
  ]
}

基于别名查询数据和索引查询方法相同:

GET 192.168.109.31:9200/index01/_search

删除索引别名:

POST 192.168.109.31:9200/_aliases
{
  "actions": [
    {
      "remove": {
        "index": "index-test01", 
        "alias": "index01"
      }
    }
  ]
}

由于没有专门的修改指令,我们可以先删除再设置别名,即“修改了索引别名”:

POST 192.168.109.31:9200/_aliases
{
  "actions": [
    {
      "remove": {
        "index": "index-test01", 
        "alias": "index01"
      }
    },
    {
      "add": {
        "index": "index-test01", 
        "alias": "index-a"
      }
    }
  ]
}