ElasticSearch 索引基本操作~

2年前 (2022) 程序员胖胖胖虎阿
178 0 0

松哥原创的 Spring Boot 视频教程已经杀青,感兴趣的小伙伴戳这里-->Spring Boot+Vue+微人事视频教程


ElasticSearch 系列第五篇,和大家聊一聊索引的基本操作,前四篇传送门:

  1. 打算出一个 ElasticSearch 教程,谁赞成,谁反对?
  2. ElasticSearch 从安装开始
  3. ElasticSearch 第三弹,核心概念介绍
  4. ElasticSearch 中的中文分词器该怎么玩?

以下是视频笔记:

启动一个 master 节点和两个 slave 节点进行测试(参考第二集的视频搭建)。

5.1 新建索引

5.1.1 通过 head 插件新建索引

在 head 插件中,选择 索引选项卡,然后点击新建索引。新建索引时,需要填入索引名称、分片数以及副本数。

ElasticSearch 索引基本操作~

索引创建成功后,如下图:

ElasticSearch 索引基本操作~

0、1、2、3、4 分别表示索引的分片,粗框表示主分片,细框表示副本(点一下框,通过 primary 属性可以查看是主分片还是副本)。.kibana 索引只有一个分片和一个副本,所以只有 0。

5.1.2 通过请求创建

可以通过 postman 发送请求,也可以通过 kibana 发送请求,由于 kibana 有提示,所以这里采用 kibana。

创建索引请求:

PUT book

创建成功后,可以查看索引信息:

ElasticSearch 索引基本操作~

需要注意两点:

  • 索引名称不能有大写字母
ElasticSearch 索引基本操作~
  • 索引名是唯一的,不能重复,重复创建会出错
ElasticSearch 索引基本操作~

5.2 更新索引

索引创建好之后,可以修改其属性。

例如修改索引的副本数:

PUT book/_settings
{
  "number_of_replicas": 2
}

修改成功后,如下:

ElasticSearch 索引基本操作~

更新分片数也是一样。

5.3 修改索引的读写权限

索引创建成功后,可以向索引中写入文档:

PUT book/_doc/1
{
  "title":"三国演义"
}

写入成功后,可以在 head 插件中查看:

ElasticSearch 索引基本操作~

默认情况下,索引是具备读写权限的,当然这个读写权限可以关闭。

例如,关闭索引的写权限:

PUT book/_settings
{
  "blocks.write"true
}

关闭之后,就无法添加文档了。关闭了写权限之后,如果想要再次打开,方式如下:

PUT book/_settings
{
  "blocks.write"false
}

其他类似的权限有:

  • blocks.write
  • blocks.read
  • blocks.read_only

5.4 查看索引

head 插件查看方式如下:

ElasticSearch 索引基本操作~

请求查看方式如下:

GET book/_settings

也可以同时查看多个索引信息:

GET book,test/_settings

也可以查看所有索引信息:

GET _all/_settings

5.5 删除索引

head 插件可以删除索引:

ElasticSearch 索引基本操作~

请求删除如下:

DELETE test

删除一个不存在的索引会报错。

5.6 索引打开/关闭

关闭索引:

POST book/_close

打开索引:

POST book/_open

当然,可以同时关闭/打开多个索引,多个索引用 , 隔开,或者直接使用 _all 代表所有索引。

5.7 复制索引

索引复制,只会复制数据,不会复制索引配置。

POST _reindex
{
  "source": {"index":"book"},
  "dest": {"index":"book_new"}
}

复制的时候,可以添加查询条件。

5.8 索引别名

可以为索引创建别名,如果这个别名是唯一的,该别名可以代替索引名称。

POST /_aliases
{
  "actions": [
    {
      "add": {
        "index""book",
        "alias""book_alias"
      }
    }
  ]
}

添加结果如下:

ElasticSearch 索引基本操作~

将 add 改为 remove 就表示移除别名:

POST /_aliases
{
  "actions": [
    {
      "remove": {
        "index""book",
        "alias""book_alias"
      }
    }
  ]
}

查看某一个索引的别名:

GET /book/_alias

查看某一个别名对应的索引(book_alias 表示一个别名):

GET /book_alias/_alias

可以查看集群上所有可用别名:

GET /_alias

今日干货

ElasticSearch 索引基本操作~
刚刚发表
查看:
13500
回复:135

公众号后台回复 2TB,免费获取 2TB Java 学习资料。

本文分享自微信公众号 - 江南一点雨(a_javaboy)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

版权声明:程序员胖胖胖虎阿 发表于 2022年9月5日 下午7:32。
转载请注明:ElasticSearch 索引基本操作~ | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...