前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ElasticSearch 索引基本操作~

ElasticSearch 索引基本操作~

作者头像
江南一点雨
发布2020-11-11 10:18:54
6010
发布2020-11-11 10:18:54
举报
文章被收录于专栏:玩转JavaEE玩转JavaEE

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


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

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

以下是视频笔记:

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

5.1 新建索引

5.1.1 通过 head 插件新建索引

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

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

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

5.1.2 通过请求创建

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

创建索引请求:

代码语言:javascript
复制
PUT book

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

需要注意两点:

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

5.2 更新索引

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

例如修改索引的副本数:

代码语言:javascript
复制
PUT book/_settings
{
  "number_of_replicas": 2
}

修改成功后,如下:

更新分片数也是一样。

5.3 修改索引的读写权限

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

代码语言:javascript
复制
PUT book/_doc/1
{
  "title":"三国演义"
}

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

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

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

代码语言:javascript
复制
PUT book/_settings
{
  "blocks.write": true
}

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

代码语言:javascript
复制
PUT book/_settings
{
  "blocks.write": false
}

其他类似的权限有:

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

5.4 查看索引

head 插件查看方式如下:

请求查看方式如下:

代码语言:javascript
复制
GET book/_settings

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

代码语言:javascript
复制
GET book,test/_settings

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

代码语言:javascript
复制
GET _all/_settings

5.5 删除索引

head 插件可以删除索引:

请求删除如下:

代码语言:javascript
复制
DELETE test

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

5.6 索引打开/关闭

关闭索引:

代码语言:javascript
复制
POST book/_close

打开索引:

代码语言:javascript
复制
POST book/_open

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

5.7 复制索引

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

代码语言:javascript
复制
POST _reindex
{
  "source": {"index":"book"},
  "dest": {"index":"book_new"}
}

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

5.8 索引别名

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

代码语言:javascript
复制
POST /_aliases
{
  "actions": [
    {
      "add": {
        "index": "book",
        "alias": "book_alias"
      }
    }
  ]
}

添加结果如下:

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

代码语言:javascript
复制
POST /_aliases
{
  "actions": [
    {
      "remove": {
        "index": "book",
        "alias": "book_alias"
      }
    }
  ]
}

查看某一个索引的别名:

代码语言:javascript
复制
GET /book/_alias

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

代码语言:javascript
复制
GET /book_alias/_alias

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

代码语言:javascript
复制
GET /_alias
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 江南一点雨 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 5.1 新建索引
    • 5.1.1 通过 head 插件新建索引
      • 5.1.2 通过请求创建
      • 5.2 更新索引
      • 5.3 修改索引的读写权限
      • 5.4 查看索引
      • 5.5 删除索引
      • 5.6 索引打开/关闭
      • 5.7 复制索引
      • 5.8 索引别名
      相关产品与服务
      Elasticsearch Service
      腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档