Elasticsearch 索引基础
发布日期:2021-06-27 12:55:19 浏览次数:39 分类:技术文章

本文共 2971 字,大约阅读时间需要 9 分钟。

Elasticsearch 索引基础

Elasticseach 索引基础

安装 ,启动一个master 和两个 slave 进行操作,以及 启动 。

一、创建索引

1.1、ElasticSearch Head 插件创建

  1. 进入ElasticSearch Head 插件,点击索引分页选项卡

    在这里插入图片描述

  2. 点击新建索引,输入索引名称(索引名称不可重复)和选择分片与副本数

    在这里插入图片描述

  3. 创建完成,如下:

    在这里插入图片描述

补充:

  • 创建完索引之后,在ElasticSearch Head插件中可以看到如下图。

  • 其中 加粗框的表示主分片,细框的表示副本。所以 0、1、2、3、4表示索引(index)的分片,而左边的Kibana_1索引就只有一个主分片和一个副本。

    在这里插入图片描述

  • 点击 框,可以看到如下图,根据其中的primary属性查看是否为主分片。

    1. 主分片

      在这里插入图片描述

    2. 副本

      在这里插入图片描述

1.2、请求方式创建索引

1.2.1、Postman 请求方式创建索引

PUT方式  发送 http://localhost:9200/test

在这里插入图片描述

创建成功:

在这里插入图片描述

1.2.1、Kibana 请求方式创建索引

启动Kibana后,浏览器输入localhost:5601,进入Dev Tools

在这里插入图片描述

输入命令 【 PUT 索引名 】,点击命令后面的执行图标,即可。如下:

PUT test  # 默认分片数和副本数PUT test  # 设置分片数和副本数{	"settings": {		"number_of_shards": 3,		"number_of_replicas": 2	}}

在这里插入图片描述

创建成功:

在这里插入图片描述
在这里插入图片描述

但是请求方式创建的索引,Elasticsearch 默认为分片数和副本数都为1

在这里插入图片描述

补充:

  • 索引名不能重复,唯一的。重复创建索引错误:

    在这里插入图片描述

  • 索引名称不能有大写字母。创建含有大写字母索引错误:

    在这里插入图片描述

  • 创建索引时,需要注意分片数的分配,分片数创建完后便不可在修改,建议使用带有分片数和副本数配置的方式创建索引(副本可修改)

    在这里插入图片描述在这里插入图片描述

二、更新索引

在通过请求方式创建完索引之后,我们发现索引的分片数和副本数都为1,一般情况下,不能满足我们的需求。那么我们该怎么修改索引的分片数和副本数属性呢?

PUT 索引名称/_settings{  "number_of_replicas": number}如:PUT test/_settings{   "number_of_replicas": 2}

修改成功:

在这里插入图片描述
在这里插入图片描述

这时就有人问,那么分片呢?还记得我们讲解中说的,分片与路由吗?它是通过一个hash来路由分片存储,所以修改分片后就导致路由乱套,就导致分片找不到。

但是我们可以在创建索引之前,修改默认的分片数。Elasticsearch 默认分片数量为100。可使用如下请求方式修改为10000

PUT /_cluster/settings{	"persistent":{		"cluster":{		"max_shards_per_node":10000		}	}}

在这里插入图片描述

三、修改索引读写权限

3.1、添加文档

PUT 索引名/_doc/编号{  "titile":"我和我的爱人"}如:PUT index/_doc/001{  "titile":"我和我的爱人"}

添加成功:

在这里插入图片描述
在这里插入图片描述

默认设置中,索引具备读写权限,但读写权限可关闭:

关闭索引读权限:

PUT 索引名称/_settings{	"blocks.read":true}如:PUT index/_settings{	"blocks.read":true}

在这里插入图片描述

在这里插入图片描述

关闭索引写权限:

PUT 索引名称/_settings{	"blocks.write":true}如:PUT index/_settings{	"blocks.write":true}

在这里插入图片描述

写入数据,被阻挡:

在这里插入图片描述

补充:

  • blocks.write:设置索引写的权限

  • blocks.read:设置索引读的权限

  • blocks.read_only:设置索引只可读的权限

四、查看索引

4.1、ElasticSearch Head 插件查看

在这里插入图片描述

在这里插入图片描述

4.2、请求方式查看

GET 索引名称/_settings如:GET index/_settings

在这里插入图片描述

查看多个索引信息:

GET 索引名称1,索引名称2,.,.,./_settings如:GET index,test/_settings

在这里插入图片描述

查看所有索引信息:

GET _all/_settings

在这里插入图片描述

五、删除索引

5.1、ElasticSearch Head 插件删除索引

在这里插入图片描述

5.2、请求方式删除索引

DELETE 索引名称如:DELETE test

在这里插入图片描述

在这里插入图片描述

六、索引Open/Close

6.1、关闭索引

POST 索引名称/_close如:POST index/_close

在这里插入图片描述

在这里插入图片描述

6.2、打开索引

POST 索引名称/_open如:POST index/_open

在这里插入图片描述

在这里插入图片描述

补充:

  • 关闭多个/打开多个索引,使用“,”隔开即可,如查看多个索引的方式
  • 关闭所有索引/打开所有索引,使用 _all 即可

七、复制索引

POST _reindex{	"source": {"index","被复制索引名称"},	"dest": {"index":"复制成的索引名称"}}如:POST _reindex{  "source": {"index":"index"},  "dest": {"index":"index_copy"}}

在这里插入图片描述

在这里插入图片描述

从上图我们看出,复制的索引与被复制索引分片数与副本数不一样。其实复制索引就是复制索引的数据:

在这里插入图片描述

八、索引别名

8.1、ElasticSearch Head 插件修改索引别名

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

删除索引别名:

在这里插入图片描述

8.2、请求方式操作索引别名

POST /_aliases{  "actions": [    {      "add": {        "index": "索引名称",        "alias": "索引别名"      }    }  ]}如:POST /_aliases{  "actions": [    {      "add": {        "index": "index_copy",        "alias": "index_copy_aliases"      }    }  ]}

在这里插入图片描述

在这里插入图片描述

删除索引别名:(修改 请求中的add改为remove即可)

POST /_aliases{  "actions": [    {      "remove": {        "index": "索引名称",        "alias": "索引别名(起好的别名)"      }    }  ]}如:POST /_aliases{  "actions": [    {      "remove": {        "index": "index_copy",        "alias": "index_copy_aliases"      }    }  ]}

在这里插入图片描述

8.3、查看索引别名

GET /索引名称/_alias如:GET /index_copy_aliases/_alias

在这里插入图片描述

查看别名对应的索引:

GET /索引名称/_alias如:GET /index_copy/_alias

在这里插入图片描述

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

在这里插入图片描述

GET /_alias

在这里插入图片描述

转载地址:https://blog.csdn.net/weixin_43452424/article/details/111601172 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:LeetCode | 135.分发糖果
下一篇:SpringBoot 如何防护XSS攻击 ??

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年03月01日 04时29分34秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

java流程语句_Java流程控制语句 2019-04-21
java require_java正则中的requireEnd和hitEnd 2019-04-21
400错误java_java代码转化成c#代码 报400错误 2019-04-21
java常见对象_Java 常见对象 02 2019-04-21
spring java配置_Spring Java配置要点 2019-04-21
共享内存 java_java - Java客户端-服务器编程:客户端之间的共享内存 - 堆栈内存溢出... 2019-04-21
java布局管理器空布局_Java图形化界面设计——布局管理器之null布局(空布局)... 2019-04-21
java gas station_LeetCode – 774. Minimize Max Distance to Gas Station 2019-04-21
java项目无法加载到tomcat_eclipse+tomcat添加项目进来无法启动tomcat 2019-04-21
后缀树建立 java_实用算法实现-第 8 篇后缀树和后缀数组 [2 最长公共子串] 2019-04-21
java网络编程期末试题_java网络编程面试题【其中一小部分】 2019-04-21
estore java_estore2 - WEB源码|JSP源码/Java|源代码 - 源码中国 2019-04-21
java如何做表单校验_微信小程序实现表单校验功能 2019-04-21
matlab dwt2(),MATLAB小波变换指令及其功能介绍(超级有用) 2019-04-21
php sequelize,egg.js整合数据库ORM框架Sequelize 2019-04-21
php同时打开2个数据库,thinkphp3.2同时连接两个数据库的简单方法 2019-04-21
centos 开发php扩展,centos 安装php扩展redis 2019-04-21
php+跑buth,php 中函数获取可变参数的方法, 这个语法有点像 golang 语言中的 2019-04-21
cms 单点登录 php,Yii2 中实现单点登录的方法 2019-04-21
oracle自己运行,创建Oracle自动执行Job 2019-04-21